Study Guide@lith   Link to LiU Homepage
 

Linköping Institute of Technology

Link to LiU Homepage
 
Valid for year : 2014
 
TDIU04 Programming with C++ Standard Library, 4 ECTS credits.
/Programmering i C++, standardbibilotek/

For:   DI   EL  

 

Prel. scheduled hours: 48
Rec. self-study hours: 59

  Area of Education:

Main field of studies: Computer Engineering

  Advancement level (G1, G2, A): G1

Aim:
This is a course on using the C++ standard library, and at the same time give an overview of what to expect in standard libraries for programming languages in general. The course also introduces simple classes, lambda expressions, exceptions and templates. Main focus is on programming with standard library containers, iterators, algorithms, function objects and associated utility classes and functions, as for example pair and make_pair. Upon completion of this course the student
  • shall have good knowledge of the C++ standard library, especially how containers, iterators, algorithms and function objects are designed, operations applicable to them, and how they can be used in combination,
  • be able to solve data processing problems, using standard library containers, iterators, algorithms, function objects, and utilities,
  • be able to independently design simple function objects, also as templates, and use them in combination with standard library algorithms,
  • be able to independently design simple lambda expressions,
  • be able to independently design exception classes, and use exceptions
  • be able to independently design simple templates.


Prerequisites: (valid for students admitted to programmes within which the course is offered)
A basic course in programming in C++. This include basic problem solving and program development methodology, procedural programming in C++ (variables, expressions, statements, functions), stream input and output, the standard string type and sequential containers such as vector.

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.

Supplementary courses:
Courses where knowledge and skills in using the C++ standard library is a prerequisite or desired, e.g. supplementary in programming in C++ or courses in data structures and algorithms.

Organisation:
The course is arranged as a series of lectures, lessons and programming exercises.

Course contents:
Lectures, lessons and programming exercises deal with the standard library containers, iterators, algorithms, function objects, and associated utility classes and functions, lambda expressions, exceptions, and templates.
  • Sequential containers (array, deque, forward_list, list, and vector).
  • Adapters (priority_queue, queue and stack).
  • Ordered associative containers (map, multimap, set and multiset). The utility class pair.
  • Container iteratorss. The iterator categories Input, Output, Forward, Bidirectional och Random Access.
  • Stream iterators (istream_iterator, ostream_iterator).
  • Inserters (back_insert_iteratorer, front_insert_iteratorer, insert_iterator; utility functions back_inserter, front_inserter, inserter).
  • Algorithms (e.g. for iterating over containers to search, count, copy, exchange, modify, remove or replace elements). Searching and sorting.
  • Functions objects. Basic, predefined function objects (arithmetic, logical, comparators, negators).
  • User defined funktion objects. Modify own function object class to become template.
  • Lambda expressions.
  • Exceptions. Standard exceptions.
  • Templates.


Course literature:
C++ Primer 5/E, Stanley B. Lippman, Josée Lajoie, Barbara E. Moo, Addison-Wesley, 2012.
Material available from the course web pages.


Examination:
Computer examination
Assignments
2 ECTS
2 ECTS
 
The programming exercises give the student opportunity to practice and test her/his knowledge and skills in programming using the C++ standard library, and also construct own components (function objects) for use with standard library components.
The computer exam checks the student's ability to use central parts of the standard library for C++ and ability to construct own components for use with standard library components.



Course language is Swedish.
Department offering the course: IDA.
Director of Studies: Tommy Färnqvist
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: 05/20/2013