Software Design (C++)

581251
5
Ohjelmistojärjestelmät
Aineopinnot
Programming in the C++ programming language. Prerequisites: Data structures and C programming. An obligatory project is supervised in the exercise groups. The grading of renewal exams includes points from exercises/projects. The course text book is announced at the start of the course.

Koe

19.12.2014 09.00 B123 ja CK112
Vuosi Lukukausi Päivämäärä Periodi Kieli Vastuuhenkilö
2014 syksy 28.10-11.12. 2-2 Englanti Antti-Pekka Tuovinen

Luennot

Aika Huone Luennoija Päivämäärä
Ti 10-12 D122 Antti-Pekka Tuovinen 28.10.2014-11.12.2014
To 10-12 D122 Antti-Pekka Tuovinen 28.10.2014-11.12.2014

Harjoitusryhmät

Group: 1
Aika Huone Ohjaaja Päivämäärä Huomioitavaa
To 16-18 B222 Zachary Laster 03.11.2014—12.12.2014
Group: 2
Aika Huone Ohjaaja Päivämäärä Huomioitavaa
Pe 16-18 B222 Zachary Laster 03.11.2014—12.12.2014

Information for international students

Available for international students.

Yleistä

12.1. Here is the checklist (CS Department username and passwd needed for access) for all points awarded from exercises, the project, and the exam (key: LH - exercises, HT - project, KOE - exam). The exercise and project points are counted in when taking the renewal exam on 3 Feb 2015. Only the project points (required) are counted in when taking a separate exam.

9.1. The course has been finally graded and the results should be visible in TIKLI and Oodi soon. I will also publish a check list with all the points awarded and exercises marked etc. here on Monday 12 Jan. 

7.1. The marking of the answers to the course exam questions are explained on the Exams tab. The final results are expected to be available on Friday 9 Jan, by when the projects should also be graded.

5.1. I have marked the course exams. I am still waiting for the points awarded for the projects from Zach. After I receive those results, we can do the final grading of the course.

14.12. The course project is due at 09:00 o'clock (9 a.m.) on Monday, 15 Dec 2014. Assignments may be returned after this deadline until the end of Thursday, 18 Dec, but the maximum points awarded will be halved. After 18 Dec, assignments are not accepted. Send your work packaged as described in the detailed instructions (see the course project page) by email to Zach Laster (zachary.laster@cs.helsinki.fi).

1.12. The grading criteria for the course project are here.

24.11. Q&A updated.

21.11. Added some examples of using the String class in the detailed instructions for the project (see the instructions from the course project page).

21.11. Tutoring of the course project

  • Our course assistant Zach will be available for questions and support for the course project in the computer class room BK107 on Thursdays 27 Nov, 4 Dec, and 11 Dec from 14:00 until 16:00. You can come to the class room to work on your course project, if you can work with the gcc command line compiler (you can of course bring you own laptop). So it is like a "paja" where you work individually and can ask for help and advice.

18.11. Q&A updated.

17.11. Links to C++ coding standards added to on-line resources tab.

17.11. Clarifiations to 3. week's exercises. See the Exercises tab.

12.11. The last lecture of the course will be on Tuesday 9.12. (no lecture on Thursday that week). The exercise sessions will take place normally (the last session is on Friday 12.12.).

10.11. The exercise session on Friday afternoon was quite crowded last week. There is more room in the session on Thursday. If you are on the overflow list (queue, group 99), please consider going to Thursday's session.

7.11. Small but important update to course project instructions (technical requirements - use of STL containers not allowed).

6.11. Updated Q & A and added information about the obligatory course project

Note - the exercises start on the second week of the course. The first sessions are on 6. and 7.11. at the time and place given above.

This course teaches programming in C++. All written lecture materials, exercises and the exam are in English. Also, the exercise groups use English as the working language.
 
Prerequisites: Data structures (lists, trees, etc.), and programming in C (or similar competence). You need not have passed these courses, but then you may have to do much more work.

Kurssin suorittaminen

The course includes an obligatory programming project. All participants will do the same one task (see the course project page) as an individual assingment. The project is also required to have been completed when taking a separate exam.

The course has one exam that gives max 40 points of total points (60), the programming project gives max 14 points, and exercise activity gives max 6 points.

Kirjallisuus ja materiaali

The lectures cover material collected from several sources. However, the lectures mainly follow this book that is recommended especially for novice programmers (also good for self-study):

More experienced programmers, who also know C well and maybe some C++ already, may manage well with online resources, the lecture slides, and the following overview of modern C++:

The definitive, professional-level description of the C++ language and how to work with it is:

I highly recommend acquiring one of these books according to your personal experience in programming and sw development. If you are not sure which one, get the first one (Programming: Principles and Practice Using C++).