Lehrinhalte
Das Praktikum wird in zwei Abschnitte unterteilt.
Im ersten Teil des Praktikums werden semesterbegleitend durch praktische Aufgaben und Vorträge die Grundkonzepte der Programmiersprachen C und C++ vermittelt. Sämtliche Aspekte werden durch ausgedehnte praktische Arbeiten im Selbststudium am Rechner vertieft. Hierfür werden alle notwendigen Materialien wie Vortragsfolien, Vortragsaufzeichnungen, Übungen, Musterlösungen der Übungen und Aufzeichnungen der Übungsbesprechungen in rein digitaler Form zum Selbststudium zur Verfügung gestellt.
Im zweiten Teil des Praktikums geht es um die Programmierung eines Mikrocontrollers in der Programmiersprache C. Hierfür bekommen die Studierenden für zwei Tage einen Mikrocontroller zur Verfügung gestellt, mit dem sie unter Aufsicht praktische Programmieraufgaben bearbeiten können.
Im Rahmen der Lehrveranstaltung werden folgende Themen behandelt:
[list]
[*]Grundkonzepte der Programmiersprachen C und C++
[*]Speicherverwaltung und Datenstrukturen
[*]Objektorientierung in C++
[*](Mehrfach-)Vererbung, Polymorphie, parametrische Polymorphie
[*](Hardwarenahe) Programmierung von eingebetteten Systemen mit C
[/list]

Literatur
Aufzeichnungen der Vorträge sowie Vortragsfolien sind im Moodle-Kurs der Veranstaltung verfügbar und können dort heruntergeladen werden.
Vertiefende Literatur:
[list]
[*]Schellong, Helmut: Moderne C Programmierung, 3. Auflage. Springer, 2014
[*]Schneeweiß, Ralf: Moderne C++ Programmierung, 2. Auflage. Springer, 2012
[*]Stroustrup, Bjarne: Programming – Principles and Practice Using C++, 2nd edition. Addison-Wesley, 2014
[*]Stroustrup, Bjarne: A Tour of C++, 2nd edition. Pearson Education, 2018
[/list]

Voraussetzungen
Java-Kenntnisse

Zusätzliche Informationen
[url]https://www.es.tu-darmstadt.de/lehre/aktuelle-veranstaltungen/c-und-c-p[/url]

Bemerkung Webportal
Aufgrund der Kapazität des Labors ist die Teilnehmerzahl begrenzt. Eine Anmeldung ist erforderlich.

Online-Angebote
moodle

Course Contents
The programming lab is divided into two parts.
In the first part of the lab, the basic concepts of the programming languages C and C++ are taught during the semester through practical exercises and presentations. All aspects will be deepened by extended practical exercises in self-study on the computer. For this purpose, all necessary materials such as presentation slides, presentation recordings, exercises, sample solutions of the exercises and recordings of the exercise discussions are provided in purely digital form.
The second part of the lab is about programming a microcontroller using the C programming language. For this purpose, the students are provided with a microcontroller for two days, with which they can work on practical programming tasks under supervision.
The following topics will be covered in the course:
[list]
[*]Basic concepts of the programming languages C and C++
[*]Memory management and data structures
[*]Object oriented programming in C++
[*](Multiple) Inheritance, polymorphism, parametric polymorphism
[*](Low-level) Programming of embedded systems with C
[/list]

Literature
A recording of the presentations as well as presentation slides are available in the corresponding Moodle course.
Additional literature:
[list]
[*]Schellong, Helmut: Moderne C Programmierung, 3. Auflage. Springer, 2014
[*]Schneeweiß, Ralf: Moderne C++ Programmierung, 2. Auflage. Springer, 2012
[*]Stroustrup, Bjarne: Programming – Principles and Practice Using C++, 2nd edition. Addison-Wesley, 2014
[*]Stroustrup, Bjarne: A Tour of C++, 2nd edition. Pearson Education, 2018
[/list]

Preconditions
Java skills

Additional Information
[url]https://www.es.tu-darmstadt.de/lehre/aktuelle-veranstaltungen/c-und-c-p[/url]

Bemerkung Webportal
The number of participants is limited due to the capacity of the laboratory. A registration is obligatory.

Online Offerings
moodle

Semester: SoSe 2024