![]() |
CISC836: Models in software development: methods, techniques, and tools (Fall 2009)
Home page[Home] [Content] [Schedule] [Readings] [Assignments] [Projects] |
Teaching Staff
Instructor: Juergen Dingel, Goodwin Hall 723, dingel@cs, office hours: Wednesdays, 11-12
Time and place
Monday 2 - 3:30pm and Thursday at 2:30-4pm, Goodwin Hall 521.
The first meeting is on Monday, Sept 14 at 2pm in Goodwin 521.
Audience
This course is suitable for students with an interest in the theory and
practise of software development in general and the use of models
in software development in particular.
General Description
Models are pervasive in engineering. The impact of models on the
practise of software engineering, however, has been relatively limited
and pales in comparison to the pivotal roles models play in other
engineering disciplines. Recently, the idea of making models a more
prominent artifact in everyday software development has been enjoying
increasing support in academia and industry and many approaches, tools
and standards have been proposed.
This course will present some of the key ideas, potential benefits and challenges of software modeling in general and of model-driven development (MDD) in particular. Specific attention will be paid to techniques for the definition of modeling languages, and for the analysis and transformation of models. Moreover, case studies and tools will be discussed.
At the end of the course, students will be familiar with the state of the art in software modeling and have gained some critical understanding of the theory and practice involving the definition, analysis, or transformation of models of software.
The goals of this course are to
Format
The course will combine lectures, assigned readings, and a project.
The lectures will cover the topics described here.
The assigned readings will be drawn from the research literature
and reinforce the lecture material. The projects may serve to, e.g.,
provide hands-on experience with a specific tool or technology.
Material
Prerequisites
Mathematical maturity on the level of CISC 203 and 204
and programming experience (preferably in Java).
Some knowledge of concurrent programming.
Last modified: Tue Sep 8 13:02:09 EDT 2009