Here are directions for some exercises you should do in order to 1) pass the course and 2) become a good software engineer.
There are four main categories of exercises: text book exercises, old exams, homeworks, and labs. They have slightly different focus and purpose, and also different reward systems: labs are also mandatory and worth one course credit, and in addition the labs and homeworks can give bonus points on the exam.
At the end of each chapter in the text book(s), there are good exercises. I suggest you develop your basic skills in each topic by solving a few very concrete exercises for each chapter, such as “…suggest three requirements” (Sommerville Exercise 7.3 at the end of chapter 7) as well as consider a few oriented more around discussion and reflection, such as “…Explain why…” (Sommerville Exercise 7.1).
The old exams will let you practice on what are considered important parts of the course – and will also give you a hint about the type of questions you should expect on the exam! Note that all written material is allowed, such as text books, printout of lecture slides, old exams (and solutions), and your own notes and laborations of course. (This means that the questions on the exams are not of the form “explain a simple term” – which you can simply look up – but you will rather be asked to apply your knowledge to examples, such as in questions of the form “given this example project, plan it according to development model X and create a Gantt chart” or “create a statechart diagram for the following system” etc. You may then look up details about e.g. syntax in the literature.)
The homeworks are voluntary but if you solve them (and submit them in time!) you may get bonus points on the exam.
Homework 1 (0.0 – 1.0 bonus points on the exam) Project planning
Homework 2 (0.0 – 1.0 bonus points on the exam) Requirements elicitation
Homework 3 (0.0 – 1.0 bonus points on the exam) Design
Homework 4 (0.0 – 1.0 bonus points on the exam) State chart + Fault-tree analysis
Homework 5 (non-existent)
Homework 6 (0.0 – 0.5 bonus points on the exam) What does it mean to work as a software engineer?
Homework 7 (0.0 – 1.0 bonus points on the exam) Implementation and analysis of a real-time system
The homeworks may be solved individually or in pairs (in which case the bonus points will be split between the two students). Please write in English. The solutions should be mailed to firstname.lastname@example.org at latest March 11th (we will go through them during the week after). The grading will give you a hint on what you know well enough and what you need to study more, but other than that there will unfortunately be little opportunity for individual feedback on the homeworks. News 2007-03-12: Extended deadline for homework 4, 6, and 7 until Wednesday March 14th at 8:00 in the morning. News 2007-03-14: Here is a zip file with the solutions that were presented during today’s lecture. Note that they are good but still open for improvement, as was discussed in the class.
The best solution on homeworks 1-4 and 7 will be asked to present the solution on one of the final lectures or lessons, which will give 0.5 bonus points extra.
Laborations are mandatory and worth one course credit. In addition, if you solve them in time you will get bonus points on the exam. See lab page.
No. of access: [an error occurred while processing this directive]