
During the Spring 2009 quarter, the following courses are available:
During the Winter 2009 quarter, the following courses were available:
Full list of courses:
This course is an introduction to software development and engineering methods, including specification, design, implementation, testing, and process. An emphasis on team development, agile methods, and use of tools as IDE's, version control, and test harnesses.
Current version: Spring 2009
Past versions:
Advanced study and analysis of active research in computer science and computer engineering. Discussion of current research and literature in the software engineering field.
Past versions: Spring 2005
This course will cover software engineering topics associated with large systems developments such as requirement and specifications, testing and maintenance, and design. Specific attention will be given to development tools and automated support environments.
Past versions: Fall 2008 | Spring 2007
Advanced study and analysis of active research in computer science and computer engineering. Discussion of current research and literature in the software engineering field.
Past versions: Spring 2005
The selection of a robust, sustainable software-architecture is a key factor for success in the development of large, long-lived, or safety-critical software-systems. While this is generally acknowledged, there is much less agreement in the literature on what the important quality attributes of architectures are, how to represent them, and how to systematically construct and modify architectures.
This course takes a closer look at description techniques, formal foundations and methodologies for analyzing and constructing software architectures.Current infrastructures and middleware technologies for implementing software architectures, such as .NET, JINI, and CORBA, are also considered.
Student teams turn theory into practice by actively creating software architectures for exciting applications based on wireless, distributed, or ad-hoc networking systems.
After taking this course, students will be able to specify, design, deploy, and evaluate software architectures, and will thus be able to make informed decisions in building complex distributed software systems in their future careers.
Current version: Winter 2009
Past versions: Winter 2008 | Winter 2007 | Winter 2006 | Winter 2005 | Winter 2004 | Winter 2003
The goal of this class is to elucidate the challenges in developing and operating large scale systems-of-systems. To that end, the presentations cover the following topical areas:
Past versions: Spring 2008
The need for highly dependable software systems continues to grow rapidly. Embedded within automobiles, aircraft, medical equipment, entertainment, household, and productivity devices, safety-critical systems have found their way into all facets of our daily lives. Advances in wired and wireless networking infrastructure enable an unprecedented degree of interconnection between previously separate functional entities. Increasingly, the resulting degree of complexity becomes the limiting factor for providing correct, safe and secure implementations of new applications, as well as for enhancing existing solutions by means of new features.
In this course, theory, methods, and tools for establishing reliable software systems are studied. In particular, the following topics are addressed:
Past versions: Spring 2006 | Spring 2005 | Spring 2004
Advanced study and analysis of active research in computer science and computer engineering. Discussion of current research and literature in the software engineering field.
Current version: Spring 2009
Past versions:
Winter 2009 |
Fall 2008 |
Spring 2008 |
Winter 2008 |
Fall 2007 |
Spring 2007 |
Winter 2007 |
Fall 2006 |
Spring 2006 |
Winter 2006 |
Fall 2005 |
Spring 2005 |
Winter 2005 |
Fall 2004