Module name (EN): Programming 2 |
Degree programme: Computer Science and Communication Systems, Bachelor, ASPO 01.10.2017 |
Module code: KIB-PRG2 |
SAP-Submodule-No.: P222-0030 |
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 [updated 19.02.2018] |
Applicability / Curricular relevance: KIB-PRG2 (P222-0030) 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 21.02.2022] |
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 2022, SS 2021, SS 2020, SS 2019, SS 2018 |
[Mon Aug 8 00:55:35 CEST 2022, CKEY=kp2, BKEY=ki2, CID=KIB-PRG2, LANGUAGE=en, DATE=08.08.2022]