CDT310 Foundations of Software Engineering, 15 credits, autumn 2009 and

CDT311 Game Development - project course, 15 credits, autumn 2009

General Information and News

This course page is the home of two courses: CDT310 Foundations of Software Engineering and CDT311 Game Development - project course. Many course elements are common to both courses (exceptions are indicated on these pages and during lectures, and you are very welcome to ask your course responsible if anything is unclear).


Please monitor this page for news and changes in the course. The lab page contains a similar section with news about the labs, and the project page has a section with news about the projects. Sometimes, important information is given during lectures, lessons etc., but the most important information will be summarized here as well.


2010-05-18 Re-exams. There are two opportunities for re-exams: June 8th and August 24th. Time: 8:10-13:00 both days. Don’t forget to register for the exams if you intend to take them! (I just realized that thanks to our fantastic technology this has not been visible on the ordinary course schedule, but you can see it on the exam schedule for the course: )


2010-05-18 Change of course code. From 2010, the course is reorganized into two courses with new course codes: DVA312 (and DVA313). This can be good to know if you are looking for re-exams some time in the future...


(Old news at the bottom of the page)

Course Responsible and Examiner:




CDT310: Rikard Land


CDT311: Rikard Lindell






Rikard Land (lectures, homeworks, project supervision)


Rikard Lindell (lab assistant, project supervision)


Yue Lu (lab assistant, project supervision)


Frank Lüders (lectures, project supervision)


Farhang Nemati (lab assistant, “lessons” in schedule)


Guest lecturers:



-          Stig Larsson, ABB Corporate Research

-          Pia Stoll, ABB Corporate Research

-          Vedat Coskun, ISIK University, Turkey

-          Jukka Mäki-Turja, MDH

-          TBD



Project and lab supervisors:




Yue Lu


Farhang Nemati


Rikard Land


Rikard Lindell


Old News

(Here old news will be moved from top of the page)


2010-02-04 Symphony of Destruction. There is a home page from where you can download and try the game that was presented by last year’s students, the one that was presented in the final presentation: 


2010-02-04 Grading. See project page for latest news on grading of the project. And if you haven’t filled the course evaluation, please do so!


2010-01-22 Course evaluation. Please fill the course evaluation: This will help us improve the course for coming years.


2009-12-15 Don’t forget to register for the January exam! If you missed or failed the previous exam and want to do it again.


2009-12-14 Exams corrected + bonus points. CDT311 as well.


2009-11-23 Exams corrected + bonus points. All exams are now corrected and reported (CDT310 + CDT311), and bonus points added to your results (CDT310). You should be notified about these (updated) results within one day. Tell me if something seems wrong with your bonus points! (Since the exams are anonymous, the actual exam results are reported first. After I get the list with results and your names, I add your individual bonus points, and you may get a new result and grade later. This will happen during next week.)


2009-11-18 Exams corrected (CDT310). Will be reported very soon. CDT311 exams almost corrected. Note: since the exams are anonymous, the actual exam results are reported first. After I get the list with results and your names, I will add your individual bonus points, and you may get a new result and grade later. This will happen during next week.


2009-10-28 Final presentations moved. Final project presentations are now scheduled for Jan 8th.


2009-10-28 Info about projects. From now on, most news will be posted on the project page, but monitor this page as well for general course news. Have a look now at the news on the project page for some info about first steering group meeting.


2009-10-28 Discussion on requirements. During the homework presentations we had a discussion on whether some specific requirements were functional or non-functional, there was e.g. a requirement that the system should have a touchscreen. But “having” a “thing” is neither a functional feature, nor really a non-functional feature (in the sense quality). I looked in some industrial requirements documents, guidelines and templates, and there is usually a section “Module definition” or “Interfaces” where these things are described. I have updated the requirements template to contain such a section, have a look there for more info and examples; it may in your project be empty.


2009-10-19 Info about the exam. Bad news: You have to register for the exam in advance, and the time is now out. I am sorry for not communicating the need to register properly to the class earlier – if you missed to register, there is unfortunately nothing I can do now. However, you can do the exam on any of the exams scheduled later (January, and some time later during the academic year), and nothing hinders you from participating in the project. I will also save your bonus points until then, since I am partly to blame – please give me a note about this so that I can remember it later). Good news: All written material is allowed, e.g. text books, printouts of lecture slides, laborations, earlier exams (and solutions), and all own notes. You must register in advance to the exam.


2009-10-15 Project groups formed! See the project page for more info.


2009-10-13 Solution to today’s example published. Today’s example on the whiteboard (translation of state chart to source code) is published on the old exams page. (I’m sorry I have not redrawn the state chart electronically, I hope to do that at least until the re-exam ;-)


2009-10-13 Deadline for homeworks extended. The deadline for homeworks has been extended until late night on Sunday Oct 18th. For the best solutions, I will ask you to present your solution in front of the class on the last lecture Thursday 22nd. If so, I will notify you hopefully at latest during Wednesday 21st, and of course it is voluntary so you will not need to present if you don’t want to. (If you submitted a homework already but want to improve it now when the deadline was extended, this is OK, just write in your next email clearly that the submission replaces a previously submitted solution.)


2009-10-13 Discussion about transitions in state diagrams. I got a few very good questions after the example during the lecture today:

1) Can you write two events on one transition, like this: "E1 or E2 / A"? This could save some space in the diagram, and would mean that if either event E1or E2 happens, do action A and follow the transition to a new state. I think it is not standard UML, but if it makes the diagram more readable I would certainly accept it. It may be less readable if you add a condition, like "E1 or E2 [G]/ A" - it may not be totally clear if the condition also refers to E1 or only to E2. But if you put the intention in a note I would accept it.

2) Can you have several transitions from one state to another state (and from one state to itself)? Yes, and it is sometimes very useful. The important thing is that it is unambiguous which transition to follow. For example the following two transitions would be OK: "E1[G]/A1" and "E1[NOT G]/A2". This means, for the same event E1, different actions A1 or A2 will be executed depending on whether the condition G is true or not. The following would not be ok: "E1[i<10]/A1" and "E1[i==0]/A2" because for i=0 it is not deterministic which transition to follow. (You could discuss whether this could mean "pick one at random", which may make sense for some systems or some types of models, but I would say at the very least it requires some extra explanation.)

3) Can you have transitions without an event, can they have guards and different actions? Answer: yes. This means that the transition fires immediately. This is not trivial to translate to source code, though - try! (You will not automatically get an event = call to your entry function, which is how you normally know it is time to do a transition...)


2009-10-08 Projects page online! This will be your central page in period 2 of the course. Have a look at the page already now, and choose your desired project on this poll. Observe the deadline: Thursday Oct 15th 12:00. Groups will then be announced on the lecture the 15th.


2008-10-06 Change of final presentation? Many international students have to move out of their apartments by Jan 11th, so this is a request if we can move the final presentation from Jan 14th to 8th (or possibly the 7th)? If you have any problems with this, please let me know!


2008-09-22 Project presentations. On Thursday’s lecture (Sept. 24th) three project customers will present their tasks. So in order for you to be able to choose a project task, please be there!


2008-09-17 Homeworks online. Have a look in the “homework” section on the Exercises and homeworks page. The homeworks are voluntary and can give you bonus points on the exam. Deadline for submission is Oct 13th.


2008-09-15 Question about the student union’s trip to Helsinki on Oct 8th. Studying at University is very free, in this course no classes are mandatory. My general suggestion is that when/if you miss a lecture you should make sure to read up on your own. Also, don’t forget the deadline for the labs!


2008-09-11 Lab 1 corrected. In general, very good! For the completions, there are quite minor complaints (compared to some previous years...) See the results page: if you got completion (“C”), have a look in your subversion repo for comments what you need to do! Any questions, anything unclear, talk to me. If you are not listed at all, this means I never got an email saying that you were finished with the lab.


2008-09-11 Exercises (including old exams) is now online. See Exercises and Homeworks. 


2008-09-11 Project templates now online. We will have a look at the requirements template during the lecture Thursday September 17th. 


2008-09-11 Clarification of how you get feedback on your lab. See lab page.


2008-09-10 Lab assistant for lab 1 changed. Rikard Land will correct lab 1.


2008-08-14 Course page created! You can have a look at the course schedule (CDT310, CDT311) and don’t miss the first lecture. Monitor this page regularly during the course for news. Since the course page is under construction, many links are broken, but don’t worry, information will be put here as the course progresses. Before course start, you may want to have a look at the page for literature and study instructions.




Rikard Land, last update: 18 May 2010