htw saar
Back to Main Page

Choose Module Version:

Deutsch

Programming 2

Module name (EN): Programming 2
Degree programme: Computer Science and Communication Systems, Bachelor, ASPO 01.10.2017
Module code: KIB-PRG2
Hours per semester week / Teaching method: 4V+2P (6 hours per week)
ECTS credits: 8
Semester: 2
Mandatory course: yes
Language of instruction:
German
Assessment:
Written exam
Curricular relevance:
KIB-PRG2 Computer Science and Communication Systems, Bachelor, ASPO 01.10.2017, semester 2, mandatory course
Workload:
90 class hours (= 67.5 clock hours) over a 15-week period.
The total student study time is 240 hours (equivalent to 8 ECTS credits).
There are therefore 172.5 hours available for class preparation and follow-up work and exam preparation.
Recommended prerequisites (modules):
KIB-PRG1 Programming 1


[updated 25.07.2017]
Recommended as prerequisite for:
KIB-PRG3 Programming 3
KIB-SDSA Simulation of Discrete Systems with AnyLogic
KIB-SWT Software Engineering
KIB-VS Distributed Systems


[updated 20.11.2019]
Module coordinator:
Prof. Dr. Helmut Folz
Lecturer: Prof. Dr. Helmut Folz

[updated 27.09.2016]
Learning outcomes:
After successfully completing this module, students will:
_ be proficient in the basic language elements (data types, expressions, control structures, functions, exception handling) of C++.
_ have grasped the concepts of object orientation (classes, objects, inheritance, polymorphism) and be able to implement them.
_ have understood the concept of templates and be able to use them in programs.
_ be able handle basic classes and algorithms of the C++ standard library (e. g. strings, input/output, container classes, generic algorithms) confidently.
_ be able to develop solutions to simple to medium-difficult problems in small teams and implement them in a well-structured manner.

[updated 19.02.2018]
Module content:
1.  Introduction and motivation
2.  Elementary language elements in C++
3.  Introduction to object-oriented programming
    - General overview
    - Introduction to classes and objects
    - Introduction to exception handling
4.  Basic concepts
    - Scopes, type conversions
    - Functions and references
    - Using the documentation generator Doxygen
5.  Classes and objects (Part 2)
    - Copy constructor, assignment operator
    - Class attributes and methods
6.  Overloading operators
7.  In-output and file processing
8.  Inheritance
    - Basic concepts
    - Dynamic dispatch
    - Abstract classes
    - Multi inheritance
9.  Exception handling (Part 2)
10. Templates
    - Function templates
    - Class templates
11. Standard template library
    - Concepts
    - Containers, algorithms, iterators

[updated 19.02.2018]
Teaching methods/Media:
Transparencies, projector

[updated 19.02.2018]
Recommended or required reading:
Breymann, Ulrich
Der C++ Programmierer. C++ lernen - Professionell anwenden - Lösungen nutzen.
Carl Hanser Verlag GmbH & CO. KG
  
Stroustrup, Bjarne
Einführung in die Programmierung mit C++
Pearson Studium
  
Grimm, Rainer
C++11: Der Leitfaden für Programmierer zum neuen Standard
Addison-Wesley, München;
 
Will, Torsten T.
C++11 programmieren: 60 Techniken für guten C++11-Code
Galileo Computing
  
Eckel, Bruce
Thinking in C++
Prentice Hall, http://www.BruceEckel.com
  
Meyers, Scott
Effektiv C++ programmieren: 55 Möglichkeiten, Ihre Programme und Entwürfe zu verbessern
Addison-Wesley
  
Schäling, Boris
The Boost C++ Libraries
Xml Press
 
C++ Reference
http://www.cppreference.com
 
Bjarne Stroustrup´s C++ Style and Technique FAQ
www.stroustrup.com/C++11FAQ.html


[updated 19.02.2018]
Module offered in:
SS 2019, SS 2018
[Sat Dec  7 10:44:29 CET 2019, CKEY=kp2, BKEY=ki2, CID=KIB-PRG2, LANGUAGE=en, DATE=07.12.2019]