
|
Courses
| Spring 2004: |
Teaching Assistant for the graduate course "17655 -
Architectures for Software Systems" taught by Prof. David Garlan |
| Course Overview: |
Software architecture is the central artifact of a
software system whose influences persist beyond the lifetime of
the system. This course aims to teach
you how to design, understand, and evaluate systems at an
architectural level of abstraction. The course introduces major
architectural styles and view types. It shows how formal notations
can be used to specify architectures precisely and to reason about
the properties of those architectures. It also covers methods of evaluating the suitability of a given architecture in meeting
a set of system requirements. |
| Office Location: |
Smith Hall, 236-08 |
| Office Hour: |
Thursday 12:00-1:00 pm |
| |
|
| Fall 2003: |
Teaching Assistant for the graduate course "17651 -
Models of Software Systems" taught by Prof. David Garlan |
| Course Overview: |
Scientific foundations for software engineering
depend on the use of precise, abstract models and logics for
characterizing and reasoning about properties of software systems.
There are a number of basic models and logics that over time have
proven to be particularly important and pervasive in the study of
software systems. This course considers many of the standard
models for representing sequential and concurrent systems, such as
state machines, algebras and traces. It shows how different logics
can be used to specify properties of software systems, such as
functional correctness, deadlock freedom, and internal
consistency. Concepts such as composition mechanisms, abstraction
relations, invariants, non-determinism, and inductive and
denotative descriptions are recurrent themes throughout the
course. |
| Office Location: |
Smith Hall, 236-08 |
| Office Hour: |
Mon and Wed 12:00-12:30 pm, or by appointment |
|
|