Archive‎ > ‎Fall 2009‎ > ‎


Time & Place

Lectures will be held in INM-202 on Tuesdays from 8:15 - 10:00.

Computer labs are available for you in BC-07, BC-08, INF-03, and INM-011 on Tuesdays from 16:15-19:00. TAs will be available to answer your questions in BC-07 and BC-08 during this time. You are free to do your project work on your own computer, but the TAs will only be able to offer computer assistance for the computers in BC-07 and BC-08. Note that completing your project work is expected to take longer than the lab sessions; these merely provide a structured setting where you can seek assistance from the TAs.


    Prof. George Candea (INN-330, x3-4648)

Teaching Assistants:
    Silviu Andrica (INN-329, x3-8188)
    Laurent Bindschaedler
    Vitaly Chipounov (INN-329, x3-8188)
    Horatiu Jula (INN-316, x3-8187)
Etienne Kneuss
    Cristian Zamfir (INN319, x3-8189)

Administrative Assistant:
    Nicoletta Isaac (INN-317, x3-1432)


We use two required textbooks in this course: The following book is optional; there will not be assigned readings, but we will cover selected material in class: For more information, please contact the course staff.

Other Resources

  • Google's C++ coding style [HTML]
  • Linux kernel coding style [HTML]
  • Lockheed Martin coding style used for the F-35 fighter jet [PDF]


The authoritative information regarding CS-305 will always be on this website.

We have a discussion group set up for students to ask questions, discuss issues, etc. Please make sure you subscribe to it promptly. The course staff monitors this group and will strive to provide answers, but it is often other students who can provide answers in a more timely fashion. When posting messages, please be aware of our policy on collaboration. You can also contact the course staff directly, if you wish to ask a private question.

Credits and Grading

This is a heavyweight course, carrying 6 units of credit. According to the Conférence universitaire suisse, this means up to 180 learning hours, so you should plan to spend 12-13 hours/week studying for software engineering.

Grading will be based on the grade obtained in the course project and a written exam. The exam will be given at the end of the semester (contrôle continu), will take 2x45 minutes, and will cover all the course material (lectures, readings, and project). Your final grade in the course will be computed as follows:
  • 60% course project
  • 40% exam
It is essential that you do the assigned readings during the semester.  We have a voluminous textbook, so waiting until before the exam is likely to make for a painful learning experience.


We build upon the material taught in the following courses: