TDDD38 |
Advanced Programming in C++, 6 ECTS credits.
/Avancerad programmering i C++/
For:
CS
D
DAV
DI
I
Ii
IP
IT
SY
U
Y
|
|
Prel. scheduled
hours: 84
Rec. self-study hours: 76
|
|
Area of Education: Technology
Main field of studies: Computer Science, Computer Engineerring, Programming
|
|
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, i.e., 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, iterator 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, function objects, an 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. Computer resourses are scheduled for self-studies. The course is examined four times per year.
The course is offerd twice every year: Vt1+Vt2 and Ht1+Ht2.
|
|
Course contents:
Classes, operator overloading, derived classes, inheritance, polymorphism, lambda expression, namespaces, exception handling, templates. C++ Standard library: strings, streams, containers, iterators, algorithms, function objects, traits and policy classes. C++-specific design patterns.
|
|
Course literature:
Stanley B. Lippman, Josée Lajoie, Barbara E. Moo: C++ Primer 5/E, Addison-Wesley, 2012. Traditional text book for education.
Bjarne Stroustrup: The C++ Programming Language 4/E, Addison-Wesley, 2013. If you already can program some in C++ or similar languages.
|
|
Examination: |
|
Computer examination |
6 ECTS
|
|
|
There are 4 examination occasions per year, in the examination periods "påsk" (Easter), Vt2 (May/June), August, and Ht2 (January). The computer exam length is 5 hours and 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: Ahmed Rezine
Examiner: Klas Arvidsson
Link to the course homepage at the department
Course Syllabus in Swedish
|
|