Modulhandbuch - Technische Fakultät - Albert-Ludwigs-Universität ...
Modulhandbuch - Technische Fakultät - Albert-Ludwigs-Universität ...
Modulhandbuch - Technische Fakultät - Albert-Ludwigs-Universität ...
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
Modul / Module<br />
18<br />
<strong>Modulhandbuch</strong> B.Sc. ESE – Einführung in die Programmierung<br />
Einführung in die Programmierung<br />
Teilmodul/Veranstaltung:<br />
Module part<br />
Fachbereich:<br />
Department<br />
Modulverantwortlicher:<br />
Responsible person<br />
Lehrveranstaltungstyp:<br />
Type of course<br />
Voraussetzungen:<br />
Preconditions<br />
Semester lt Studienplan:<br />
Term<br />
SWS:<br />
Semester week hours<br />
Arbeitsaufwand:<br />
Workload<br />
Lernziele / Educational objectives<br />
Programmierkurs A – Programmierung in C++<br />
Informatik<br />
Prof. H. Bast<br />
Vorlesung mit<br />
praktischer Übung<br />
empfohlen: Informatik I<br />
2<br />
2 V + 2 Ü<br />
180 h/Semester<br />
Spezialbereich:<br />
Special field<br />
Modultyp:<br />
Module Type<br />
Sprache:<br />
Language<br />
ECTS-Punkte:<br />
ECTS-points<br />
Turnus:<br />
Regular cycle<br />
Grundlagen Informatik<br />
Pflichtmodul<br />
deutsch<br />
6<br />
Im Wechsel mit<br />
Programmieren in Java<br />
Für eine in natürlicher Sprache wohl-spezifizierte Aufgabenstellung, Entwicklung eines<br />
objekt-orientierten C++ Programms im Umfang von bis zu ca. 500 Zeilen nach den Regeln<br />
der Kunst, insbesondere:<br />
� ein angemessenes, auf der Grundlage der gegebenen Aufgabenstellung selbst<br />
erarbeitetes Klassendesign;<br />
� Einhalten eines vorgegebenen Coding Styleguides;<br />
� für Dritte verständliche Dokumentation der einzelnen Klassen, Methoden und Variablen,<br />
und des Programms als Ganzem;<br />
� Unit Tests und Performance Tests zentraler Funktionen, sowie angemessene<br />
Fehlerbehandlung / exception handling.<br />
Lehrinhalt / Content of teaching<br />
1. Umgebung: Editor, Coding Styleguide, Makefile, Aufteilung des Codes in Dateien<br />
(C++: .h / .cpp Dateien), Dokumentation, Debugging, Code Reviews<br />
2. Sprache: grundlegende Konstrukte (Deklaration, while, for, if, etc.), Ein- und Ausgabe,<br />
Kommandozeilenparameter, Zeiger (*) und Referenzen (&), call by value / call by<br />
reference, const, …<br />
3. Objekt-Orientiertes Programmieren: Klassen, Objekte, Konstruktoren, Destruktoren,<br />
static, explicit, Vererbung, abstract, virtual, …<br />
4. Tests und Fehlerhandling: unit tests, exception handling, performance tests, profiling, …<br />
5. Fortgeschrittene Methoden: generisches Programmieren (templates),<br />
Standardbibliotheken (STL), Bibliotheken selber bauen (statisch und dynamisch),<br />
packaging, alternative Build Systeme (cmake),..