The structure of SDT specializations and relations between courses are ever changing. Also the MDD course is changing this year, so if your expectations are based on advise of students who took it in the past, or on my own older presentations, you might be confused. So let me summarize the main set up for MDD this year, so that you can assess whether this is a course for you or not:
- The course is changed into a project cluster. There is less classes, and a lot of (sometimes complex) project work. I discourage students who have just learned how to program to follow this course. Thus “Development Technology” track student would normally take MDD as late as possible in their curriculum.
- MDD is no longer a part of the “Models and Programs” specialization for “Development Technology” students. If interested in following “Models and Programs”, please take “Programming Language Concepts and Implementation” course instead. This latter course is also a prerequisite for joining the MDD cluster.
- If you follow the “Software Engineering” curriculum, this course is mandatory for you. Still you have to check that you fulfill the prerequisites.
- You should be rather fluent in modeling, so ideally you should know the basics of object oriented modeling, and of relational data modeling. This means having followed an introductory course on OO programming, and an introductory course on databases.
- You should know the basics of parsing theory, normally obtained in a compiler course. At ITU this is the course on “Programming Language Concepts and Implementation”. You need to be able to define the lexical structure of a language, to design a context free grammar for a language, and to do some simple grammar transformations, lie factorization, in order to eliminate left-recursion. Details of this you can refresh during the course, by reading up, but if you hear about these topics for the first time in your studied, then you should probably postpone this course, and take “Programming Language Concepts and Implementation” first.
Check the detailed prerequisites in the course base.