Beyond Code: An Introduction to Model-Driven Software Development (CISC 836, Winter 2021)
Home page |
Important note
These are the webpages for last term's version (Winter 2021) of the course. For this term's version (Fall 2021),
go here.
Teaching Staff
Instructor: Juergen Dingel, Goodwin Hall 723, dingel@cs,
office hours: tba
Time and place
Tuesdays 2-3:30pm and Thursday 9:30-11am.
The course will be held remotely with synchronous meetings using Microsoft Teams.
A link to the first meeting on Tuesday, January 12 at 2pm will be posted here soon.
Registered participants should have received emails
containing the links to the MS Teams meetings for the classes
on Tuesday and Thursday.
If you are not yet registered or have not received the links,
please send me an email at 'dingel@cs.queensu.ca'.
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. 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. Indeed, in some industries (e.g., automotive)
development already revolves around the use of models.
This course will present some of the key ideas, potential benefits and challenges of software modeling in general and of model-driven software development (MDSD) in particular. Specific attention will be paid to the use of MDSD for event-based, reactive systems.
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 use of models for software development.
The goals of this course are to
Format
The course will combine lectures, assigned readings, assignments, and a project.
The course will cover the topics described on the Content page.
The assigned readings will be drawn from the research literature
and reinforce the lecture material. The projects will serve to, e.g.,
provide hands-on experience with a specific tool or technology.
Marking scheme
A student's overall mark will be computed as follows:
Prerequisites
Good knowledge of object-oriented programming (preferably in Java or C++).
Material
Last modified: Thu Nov 30 11:47:14 EST 2017