The Academy for Software Engineering Education and Training (ASEE&T)
Chair: Tony Cowling, University of Sheffield, England.This is a special one-day parallel event, which will be held on Sunday May 22, 2011. Its aim is to support faculty who are relatively new to the particular challenges of teaching software engineering. It therefore caters for new faculty working in this area, for those who are seeking such faculty positions, and also for more experienced faculty who are new to teaching courses in software engineering. If you fit into any of these categories then you should make every effort to participate in the academy.
To achieve these aims, the programme for the academy covers a wide range of topics, from relevant theory about how students learn software engineering to the practical problems of running realistic projects for students. In particular, there are sessions that focus on specific important technical topics in teaching software engineering, namely how to teach introductory courses and how to teach the often-neglected topic of software testing.
The team of instructors for the academy, and the academy chair, are all established experts in the various topics that will be covered, and between them they have a huge amount of expertise (and, collectively, over 100 person-years of experience) in the teaching of software engineering. The sessions will be delivered interactively in workshop style, with an emphasis on active participation and group discussion, to give you the maximum opportunity to benefit from this experience and expertise.
All participants in the whole programme will, at the end of the event, be given a certificate of satisfactory completion of the academy programme.
Registration for the academy is separate from registration for the conference, although if you are attending the academy you are also encouraged to attend the conference as well, to give you the opportunity to explore in more detail issues that will be interoduced during the academy programme. See the registration page for more details.
08:15 Introduction.
08:30 Teaching Introductory Software Engineering (Tim Lethbridge, University of Ottawa, Canada).
10:00 Coffee/tea break.
10:30 Real Projects for Real Clients Courses (David Klappholz, Stevens Institute of Technology, USA).
12:00 Lunch.
03:00 Coffee/tea break.
03.30 How To Teach Testing (Jeff Offutt, George Mason University, USA).
05:00 Wrap-up (including presentation of certificates).
05:15 Finish.
Teaching Introductory Software Engineering.
Tim Lethbridge, University of Ottawa, Canada.The aims of this session are that attendees will learn how to motivate students to learn the essentials of software engineering, whether the learners be students in a software engineering degree program, or in computer science, computer engineering or some related discipline. Tim will discuss his teaching philosophy, lessons he has learned since he first taught this material in 1990, as well as techniques and tools he uses. The session will for the most part be about teaching, but Tim will provide a few short demonstrations of some techniques and tools as well. These include having students modify an existing small system in laboratory sessions and as a course project, as well as mixed-mode teaching with live use of tools in the classroom combined simultaneously with blackboard and PowerPoint. Tim will also give a brief overview of the curriculum of the SE201 course from the ACM/IEEE curriculum standard, which he helped develop. Although the introductory curriculum provides an overview of the entire field of software engineering, Tim has recently found it best to put deeper emphasis on UML modeling, design principles, reusability, agility and professionalism.
About the Speaker
Tim Lethbridge is a full professor of software engineering and computer science at the University of Ottawa, Canada.
He has taught since 1986, with topics including software usability, introductory software engineering, professionalism, and advanced software design.
He has published over 100 refereed papers, of which 20 have been in the area of software engineering education.
McGraw Hill has published his widely-used introductory textbook on software engineering.
He is currently head of the Computer Science Accreditation Council of Canada, which accredits software engineering and computer science programs.
He is also a member of the IEEE Computer Society’s CSDA and CSDP committees, and was steering committee chair of CSEE&T for five years.
He was curriculum co-chair of the joint IEEE-ACM committee that published the SE2004 software engineering curriculum standard.
Tim has considerable industrial experience, which brings a taste of the real world to his teaching and research.
He worked for Nortel for two years, and has performed research with IBM, Mitel, Ericsson and other companies.
Tim is both a licensed Professional Engineer, in the field of software, and also an Information Systems Professional, which is the legally recognized certification in Canada for the computing profession.
More information about Tim can be found at http://www.site.uottawa.ca/~tcl/.
Real Projects for Real Clients Courses.
David Klappholz, Stevens Institute of Technology, USA.The background to this session is David's strong belief that:
even if an undergraduate computing major intends to stay on the technical side of software development for her/his entire career, it is imperative that s/he develop a firm understanding of the entire software development life cycle.
just as nobody would think that it is possible to learn to program by reading about programming, but not doing it, the only way to learn the rest of the skills involved in the software development life cycle is by exercising them;
the most important part of the software development life cycle – more important that implementation/programming – is requirements engineering. (If requirements engineering is done poorly, then, even if the world’s best programmers do the implementation, the cost of rework will be far greater than if requirements engineering is done well and average programmers do the implementation.)
Points 1 and 2 above lead David to believe that a critical aspect of the undergraduate major is a course(s) in which students work in teams on the development of software. Point 3 leads him to the belief that software development projects that are “contrived” by the instructor or the student team are far less effective than courses in which student teams develop real software for real clients, that is, clients who need the software to solve a problem or to automate a workflow. This session is concerned with the latter type of courses – Real Projects for Real Clients Courses (RPRCCs).
The session will begin with a discussion of the primary argument against attempting an RPRCC: “But I’ll never be able to find project clients year after year!!!” After the first five minutes, during which time attendees will learn that/how finding clients is actually quite easy, the session will continue with such topics as vetting potential clients and projects, forming teams, managing client expectations, choice of a software development process, deciding on deliverables, etc., etc.
The intended audience for this session is those interested in teaching RPRCCs who haven’t yet taught one. An afternoon workshop on RPRCCs will be targeted at faculty with experience of teaching RPRCCs who wish to fine tune their courses, and/or who may be interested in collaborating on an instructors' manual for those interested in teaching RPRCCs.
About the Speaker
David Klappholz has a BS in mathematics and linguistics from MIT, and an MSEE and PhD in Computer and Information Science from the University of Pennsylvania.
In an earlier incarnation, that is, before he turned his attention to software engineering and computer science education research – on the latter of which he works with a distinguished educational psychologist -- he performed research, supported by NSF, IBM Research, and DoE, on parallel machine architecture, automatic parallelism detection, and compiler optimizations.
David has 36 years of experience teaching Computer Science, and is currently Associate Professor of Computer Science at Stevens Institute of Technology, where he teaches a required one-semester junior-level DBMS RPRCC and a required two-semester senior-level capstone RPRCC.
Teaching to Learn - How Education Theory Helps Get the Message Across.
Jocelyn Armarego, Murdoch University, Western Australia.How we as academics teach is determined by a number of factors that may be expressed as metaphors: we are Containers of knowledge and facts, ready to fill students; students need to follow a course and overcome obstacles and we will Guide them to reach the end of their journey; students are disciples and ideally should do what they are told without questioning the Master (Pollio, 1987). Our students however, may see our teaching as an adversity/challenge to overcome (swimming through mud, or running a race where others have a 3 minute headstart); feel they are crammed into containers or riding an endless assembly line (Grasha, 2002).
This session will address this mismatch by looking at teaching and learning styles and the concepts that underpin teaching and learning best practice. Through a small group work and discussion environment we will explore how education theory and research can help us become better teachers. Participants who are already involved in teaching any courses are asked to bring to the session one or two guides for these courses (that show course objectives and assessment).
Grasha, A. F. (2002).
Teaching with Style: a practical guide to enhancing learning by understanding teaching and learning styles.
Los Angeles: Alliance.
Pollio, H. (1987).
Practical poetry: metaphoric thinking in science, art, literature and nearly everything else.
Teaching/Learning Issues. Learning Research Center, The University of Tennessee, Knoxville, 60.
About the Speaker
Jocelyn Armarego is an academic in the School of IT at Murdoch University, Western Australia.
She has been teaching in SE related subjects since 1988, after ten years in industry as a Requirements Engineer.
Her interest in the scholarship of teaching focuses on student approaches to learning, alternate learning models and alignment between formal education and professional practice in Software Engineering.
She gained her PhD and has published in this area.
Jocelyn is currently on secondment as Project Manager for an initiative of the Australian Councils of Deans of Engineering (ACED) and ICT (ACTDICT) to formulate and implement a long-term plan to support quality teaching in these disciplines.
The project is funded by the ALTC (Australian Learning & Teaching Council).
Jocelyn is a professional member of Engineers Australia’s ITEE College, which encompasses Software Engineers, and is on its national College Board, as well as EA’s National Committee on SE and National Committee on Women in Engineering.
More information is available at http://www.it.murdoch.edu.au/~s980606e/.
How To Teach Testing.
Jeff Offutt, George Mason University, USA.Most developers are told to "unit test your own software", but given no formal testing education beyond one or two lectures in a broad software engineering survey course. Most professional testers are hired with no formal education in testing. Attendees at this session will learn how to teach practical testing to future developers and future full-time testers. The attendees will learn how to motivate students to test thoroughly and to take pride in quality software. Jeff will discuss aspects of structuring courses on software testing and how to adapt to the needs of different groups of students. An important element of teaching software testing is to clarify the theory then relate it directly to practical use, which is done through examples, homework exercises, and simple web-based tools. This session will be about teaching the material, and will include segments of lectures and example homework assignments.
About the Speaker
Jeff Offutt has developed and regularly teaches courses in software testing for BS students, MS students, PhD students, and practitioners.
Jeff is a full Professor of Software Engineering in the Volgenau School of Information Technology at George Mason University.
He has part-time visiting faculty positions at the University of Skövde, Skövde Sweden, and at Linköping University, Linköping Sweden.
He leads the MS and BS programs in Software Engineering at George Mason University, where he has created and taught classes on software testing, web application development, usability, object-oriented construction, experimentation, and design for 19 years.
Jeff's widely used book, Introduction to Software Testing (co-authored with Paul Ammann), was published by Cambridge University Press in January 2008.
He received the Best Teacher Award from the Volgenau School in 2003 and from his department several times.
He has published over 130 refereed research papers in software engineering journals and conferences, mostly in software testing.
Jeff is editor-in-chief of Wiley's journal of Software Testing, Verification and Reliability, is the chair of the steering committee for IEEE International Conference on Software Testing, Verification, and Validation (ICST) and program co-chair for ICST 2009, and is on the editorial boards for the Empirical Software Engineering Journal, the Journal of Software and Systems Modeling, and the Software Quality Journal.
Jeff received a PhD in Computer Science from the Georgia Institute of Technology, and is a member of the ACM and IEEE Computer Society.
He has consulted with numerous companies on issues pertaining to software testing, usability, and software patents, and was on the technical board of advisors for Certess, Inc.
Jeff is on the web at http://www.cs.gmu.edu/~offutt/.
We have created two versions of a flyer for the academy, one to print on US letter sized paper and the other to print on A4 sized paper. You are welcome to circulate these widely to anybody who you think might be interested in the Academy.