Ausgewählte Themen Software (ATS) im SS 2012:
C++ für Java-Programmierer

Modulbeschreibung

In diesem Kurs lernen die Studierenden, die Programmiersprache C++ als Werkzeug zur Implementierung performanter objektorientierter Applikationen und Bibliotheken zu verwenden, wie es in Gebieten wie 3D-Grafik und Bildverarbeitung sowie bei der systemnahen Programmierung heute Standard ist. Dabei erhalten Sie u.a. auch Einblicke in den Umgang mit Zeigern und die Funktionsweise der Speicherverwaltung und führen fortgeschrittene Übungen zum Thema Vererbung und Generizität durch.

Einerseits erlernen die Studierenden in diesem Kurs eine weitere praktisch relevante Programmiersprache; auf der anderen Seite werden durch die Übungen in C/C++ auch die Funktionsweisen von Java und objektorientierter Programmierung im allgemeinen vertieft und verfestigt.

Voraussetzungen

Die Teilnahme an diesem Modul kann ab dem 3. Semester (Bachelor Medieninformatik) erfolgen und erfordert grundlegende Kenntnisse in objektorientierter Programmierung z.B. in Java.

Lehrveranstaltungen im SS 2012

Achtung Raumänderung! Das Modul findet wöchentlich in zwei aufeinanderfolgenden Blöcken statt:
  • Sem. Unterricht: dienstags 16:00-17:30 Uhr, B323 (nach Ankündigung auch B223L),
  • Übung: dienstags 17:45-19:15 Uhr, Raum B223L.
Es ist geplant, den seminaristischen Unterricht mit Kurzübungen am Rechner zu durchsetzen und im eigentlichen Übungsblock umfangreichere Aufgaben zu bearbeiten.

Themenblöcke SS 2012

In dieser Veranstaltung können in einem gewissen Rahmen Themenschwerpunkte je nach Fortschritt und Interessenslage der Studierenden gesetzt werden. Die Inhalte ergeben sich dabei im wesentlichen aus den folgenden Themen:
  • Kompilation, Linking, Buildsystem, Entwicklungsumgebung
  • Code-Organisation, Präprozessor, Headerdateien
  • Sprachelemente, speziell Unterschiede zu Java
  • Stack und automatische Variablen
  • Referenzen, Zeiger, Heap, Ressourcen-Verwaltung
  • Smart Pointer und Reference Counting
  • Templates und Generizität
  • Besonderheiten bei Vererbung; multiple Vererbung
  • Interfaces und verborgene Implementierung (PIMPL)
  • Coding Standards in C++
  • Eigene Implementierung ausgewählter Standard-Algorithmen und Datenstrukturen in C++
  • Standard-Bibliotheken für Container, Strings, etc.
  • Entwicklung von User Interfaces und Cross-Plattform-Applikationen

Kursmaterialien und Ankündigungen

Dieser Kurs wird im Online-Lehrsystem Moodle der Beuth-Hochschule geführt: Die Materialausgabe sowie die Kommunikation zu dem Kurs werden über Moodle laufen; melden Sie sich daher umgehend persönlich für den Kurs an. Das Kurs-Kennwort lautet c++4j.

Accounts im CGA-Labor

Für die Rechner im CGA-Labor benötigen Sie einen persönlichen Account. Dieser wird zu Beginn des Semesters aus den Beleglisten erzeugt. Der Benutzername ist dabei Ihre Matrikelnummer. Das Passwort muss bei der ersten Anmeldung gesetzt werden.

Sie können die Übungen im CGA-Labor auch auf Ihren eigenen Laptops durchführen. Für den WLAN-Zugang zum CGA-Labor müssen Sie sich in den ersten Übungen anmelden.

Literatur

  • Bjarne Stroustrup, The C++ Programming Language, Special Edition, Addison Wesley, ISBN 0-201-70073-5 (ältere Auflagen dieses Buchs sind ebenfalls geeignet!)
  • Mark Allen Weiss, C++ for Java Programmers, Pearson, ISBN 0-13-919424
  • weitere kommentierte Literaturhinweise im Unterricht

Wichtige Hinweise


Erster Vorlesungstermin:
Dienstag 27.03.2012

Erste Übung
Dienstag 27.03.2012

Unbedingt zu beachten:
es gelten meine allgemeinen
Bedingungen
für die Lehre!