htw saar Piktogramm QR-encoded URL
Back to Main Page Choose Module Version:
XML-Code

flag

Programming 2

Module name (EN):
Name of module in study programme. It should be precise and clear.
Programming 2
Degree programme:
Study Programme with validity of corresponding study regulations containing this module.
Computer Science and Communication Systems, Bachelor, ASPO 01.10.2021
Module code: KIB-PRG2
SAP-Submodule-No.:
The exam administration creates a SAP-Submodule-No for every exam type in every module. The SAP-Submodule-No is equal for the same module in different study programs.
P222-0030
Hours per semester week / Teaching method:
The count of hours per week is a combination of lecture (V for German Vorlesung), exercise (U for Übung), practice (P) oder project (PA). For example a course of the form 2V+2U has 2 hours of lecture and 2 hours of exercise per week.
4V+2P (6 hours per week)
ECTS credits:
European Credit Transfer System. Points for successful completion of a course. Each ECTS point represents a workload of 30 hours.
8
Semester: 2
Mandatory course: yes
Language of instruction:
German
Assessment:
Written exam

[updated 19.02.2018]
Applicability / Curricular relevance:
All study programs (with year of the version of study regulations) containing the course.

KIB-PRG2 (P222-0030) Computer Science and Communication Systems, Bachelor, ASPO 01.10.2021 , semester 2, mandatory course
KIB-PRG2 (P222-0030) Computer Science and Communication Systems, Bachelor, ASPO 01.10.2022 , semester 2, mandatory course
Workload:
Workload of student for successfully completing the course. Each ECTS credit represents 30 working hours. These are the combined effort of face-to-face time, post-processing the subject of the lecture, exercises and preparation for the exam.

The total workload is distributed on the semester (01.04.-30.09. during the summer term, 01.10.-31.03. during the winter term).
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.2024]
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 25.07.2024]
Module coordinator:
Prof. Dr.-Ing. Martin Burger
Lecturer:
Dipl.-Inf. Christopher Olbertz


[updated 25.07.2024]
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 2024, SS 2023, SS 2022, SS 2021, SS 2020, ...
[Sat Dec 28 10:19:50 CET 2024, CKEY=kp2, BKEY=ki2, CID=KIB-PRG2, LANGUAGE=en, DATE=28.12.2024]