Study Guide@lith   Link to LiU Homepage
 

Linköping Institute of Technology

Link to LiU Homepage
 
Valid for year : 2007
 
TDDB89 Advanced Programming in C++, 4,5 ECTS credits.
/Avancerad programmering i C++/

For:   C   CS   D   I   Ii   IT  

 

Prel. scheduled hours: 66
Rec. self-study hours: 54

  Area of Education: Technology

Subject area: Computer Science/Computer Engineering

  Advancement level (G1, G2, A): A

Aim:
The purpose of this course is to give deep knowledge about constructs and mechanisms in the programming language C++. Less focus is on advanced applications, so the course is not a systems development course, a problem solving course, or alike. Upon completion of this course the student should be able to:
  • Explain non-trivial C++ language constructs and their semantics, e.g. classes, derivation, polymorphism, templates, exception handling, namespaces, types, type conversion, temporary objects, etc.
  • Explain the overall design principle of the C++ standard library, especially the container and algorithms related parts.
  • Design and implement usable, correct, error-safe, non-trivial classes and polymorphic classes.
  • Design and implement advanced program components, such as e.g. traits classes, policy classes and function object classes.
  • Use different components from the C++ standard library in combination to solve non-trivial computation problems, e.g. combine standard containers algorithms, iterators and function objects, possibly own function objects, to design computations.


Prerequisites: (valid for students admitted to programmes within which the course is offered)
Good knowledge and skills in programming in at least one procedural and/or object-oriented language (e.g. Ada, C, Pascal, Java or C++), and knowledge about fundamentals of object-oriented programming (class, inheritance, polymorhism).

Note: Admission requirements for non-programme students usually also include admission requirements for the programme and threshhold requirements for progression within the programme, or corresponding.

Organisation:
The course is to a great extent a self-study course, and is given continuously each semester. A series of lectures is given during the first half of the course. Self-studies exercises and different kind of information sources are available on the course web pages. Tutoring is mainly given via e-mail. Some computer resourses are scheduled, but only for self-studies. The course is examined four times per year.

Course contents:
Classes, derived classes, polymorphism. Operator overloading. Namespaces. Exception handling. Templates. C++ Standard library: strings, streams, containers, iterators, algorithms, function objects, traits and policy-classes. Related design patterns.

Course literature:
No specific literature is selected, see the course web pages for recommendations.

Examination:
Computer examination
3 p
/
4,5 ECTS
 
The normal grading of this course is "fail" (U) or "pass" (G), but visiting students may have an ECTS grade.
There are 4 examination occasions per year, in the examination periods "påsk" (Easter), Vt2 (May/June), August, and Ht2 (December). The computer exam length is 5 hours and it IDA's Sun computer system is used, which demands familiarity with that system, the C++ programming environment and text exiting facilities available on that system.



Course language is English.
Department offering the course: IDA.
Director of Studies: sas-sr@ida.liu.se
Examiner: Tommy Olsson
Link to the course homepage at the department


Course Syllabus in Swedish

Linköping Institute of Technology

Link to top of pagep


Contact: TFK , val@tfk.liu.se
Last updated: 12/10/2012