Advanced Programming

Modul IN1503

Dieses Modul wird durch Fakultät für Informatik bereitgestellt.

Diese Modulbeschreibung enthält neben den eigentlichen Beschreibungen der Inhalte, Lernergebnisse, Lehr- und Lernmethoden und Prüfungsformen auch Verweise auf die aktuellen Lehrveranstaltungen und Termine für die Modulprüfung in den jeweiligen Abschnitten.

Modulversion vom SS 2012 (aktuell)

Von dieser Modulbeschreibung gibt es historische Versionen. Eine Modulbeschreibung ist immer so lange gültig, bis sie von einer neuen abgelöst wird.

verfügbare Modulversionen
SS 2012WS 2011/2

Basisdaten

IN1503 ist ein Semestermodul in Englisch auf Master-Niveau das im Wintersemester angeboten wird.

Das Modul ist Bestandteil der folgenden Kataloge in den Studienangeboten der Physik.

  • Allgemeiner Katalog der nichtphysikalischen Wahlfächer
GesamtaufwandPräsenzveranstaltungenUmfang (ECTS)
150 h 60 h 5 CP

Inhalte, Lernergebnisse und Voraussetzungen

Inhalt

- von-Neumann architecture; definition of algorithms; machine languages: compiler, linker, and interpreter; machine code - variables, identifiers & expressions; comments & documentation; built-in datatypes, expressions, and assignments - control structures, branches & scopes; while loops - functions & functional programming; call-stack and the memory layout; call-by-reference, call-by-value, and call-by-const-reference; overloading; recursion - applicative programming; source code organisation and the C precompiler; namespaces; for loops; enumerations - pointers and arrays; dynamic memory allocation; structs - dynamic data structures; simple sorting algorithms as demonstrator use case; algorithm complexity - object-based programming; functions vs. operations; constructors and destructors; const operations - object-oriented programming; polymorphism & inheritance - type-generic programming

Lernergebnisse

At the end of the module, students have a sound expertise in C/C++. They are able to remember and explain the underlying machine behaviour and the corresponding efficiency aspects. The participants can describe the C/C++ instruction set and, in particular, can distinguish the impacts and effects of high level language constructs on the machine level. They are able to define and illustrate the fundamental programming paradigms and how they are represented by the C/C++ language. The students are able to analyse and apply these techniques for real-world challenges and to design, realise, and verify the implementation of considerably complex applications in an efficient manner.

Voraussetzungen

Sound programming skills in one of the standard programming languages (such as Java, Python, Fortran, C/C++) are expected, experiences with an object-oriented programming language will be helpful.

Lehrveranstaltungen, Lern- und Lehrmethoden und Literaturhinweise

Lehrveranstaltungen und Termine

ArtSWSTitelDozent(en)Termine
VO 2 Advanced Programming (IN1503) Donnerstag, 16:00–18:00
UE 2 Practical Advanced Programming Termine in Gruppen

Lern- und Lehrmethoden

This module comprises lectures and accompanying tutorials. The contents of the lectures will be taught by talks and presentations. Students will be encouraged to study literature and to get involved with the topics in depth. In the tutorials, concrete problems will be solved - partially in teamwork - and selected examples will be discussed.

Medienformen

Slides, whiteboard, exercise sheets

Literatur

- Randall Hyde. Write Great Code I: Understanding the machine - Randall Hyde. Write Great Code II: Thinking Low-level, Writing High-level - Scott Meyers. Effective C++ - Scott Meyers. More Effective C++ - Walter Savitch. Absolute C++ - Bjarne Stroustrup. The C++ Programming Language

Modulprüfung

Beschreibung der Prüfungs- und Studienleistungen

Type of Assessment: exam In the exam students should prove to be able to identify a given problem and find solutions within limited time. The examination will completely cover the content of the lectures. The answers will require own formulations. In addition, questions requiring short calculations and/or programming tasks may be posed. Questions on advanced aspects in C/C++ assess the students' knowledge on efficiency aspects. The definition and illustration of fundamental programming paradigms are tested with various assignments. Tasks on small code snippets allow to evaluate the participants' capability to formulate and/or verify the implementation of applications in an efficient manner.

Wiederholbarkeit

Eine Wiederholungsmöglichkeit wird am Semesterende angeboten.

Aktuell zugeordnete Prüfungstermine

Derzeit sind in TUMonline die folgenden Prüfungstermine angelegt. Bitte beachten Sie neben den oben stehenden allgemeinen Hinweisen auch stets aktuelle Ankündigungen während der Lehrveranstaltungen.

Titel
ZeitOrtInfoAnmeldung
Advanced Programming
Mi, 1.3.2017, 13:30 bis 15:00 00.02.001
MI: 00.02.001
bis 15.1.2017 (Abmeldung bis 22.2.2017)

Kondensierte Materie

Wenn Atome sich zusammen tun, wird es interessant: Grundlagenforschung an Festkörperelementen, Nanostrukturen und neuen Materialien mit überraschenden Eigenschaften treffen auf innovative Anwendungen.

Kern-, Teilchen-, Astrophysik

Ziel der Forschung ist das Verständnis unserer Welt auf subatomarem Niveau, von den Atomkernen im Zentrum der Atome bis hin zu den elementarsten Bausteinen unserer Welt.

Biophysik

Biologische Systeme, vom Protein bis hin zu lebenden Zellen und deren Verbänden, gehorchen physikalischen Prinzipien. Unser Forschungsbereich Biophysik ist deutschlandweit einer der größten Zusammenschlüsse in diesem Bereich.