<?xml version="1.0" encoding="ISO-8859-1" standalone="yes" ?>
<document>
<title>Programmierung I</title>
<cid>BMT.E1305</cid>
<sapsubmodule>P213-0042</sapsubmodule>
<bkey>bmt</bkey>
<ctypes>
<hours>4</hours>
<type>V</type>
<hours>2</hours>
<type>U</type>
</ctypes>
<cp>8</cp>
<semester>5</semester>
<mandatory>ja</mandatory>
<language>Deutsch</language>
<exam>Klausur</exam>
<curriculum>
<curriculum_entry>
<cid>BMT.E1305</cid>
<branch>Biomedizinische Technik</branch>
<semester>5</semester>
<mandatory_tag>Pflichtfach</mandatory_tag>
</curriculum_entry>
<curriculum_entry>
<cid>BMT.E1305</cid>
<branch>Biomedizinische Technik</branch>
<semester>5</semester>
<mandatory_tag>Pflichtfach</mandatory_tag>
</curriculum_entry>
<curriculum_entry>
<cid>E1305</cid>
<branch>Elektrotechnik</branch>
<semester>5</semester>
<mandatory_tag>Pflichtfach</mandatory_tag>
</curriculum_entry>
</curriculum>
<workload>
Die Präsenzzeit dieses Moduls umfasst bei 15 Semesterwochen 90 Veranstaltungsstunden (= 67.5 Zeitstunden). Der Gesamtaufwand des Moduls beträgt bei 8 Creditpoints 240 Stunden (30 Stunden/ECTS Punkt). Daher stehen für die Vor- und Nachbereitung der Veranstaltung zusammen mit der Prüfungsvorbereitung 172.5 Stunden zur Verfügung.
</workload>
<prerequisites>
</prerequisites>
<prerequisitesfor>
</prerequisitesfor>
<convenor>Prof. Dr. Reinhard Brocks</convenor>
<convenor-person-key>rb</convenor-person-key>
<lecturers>
<lecturer>Prof. Dr. Reinhard Brocks</lecturer>
<lecturer-person-key>rb</lecturer-person-key>
</lecturers>
<objectives>Der Student kann die Konzepte der prozeduralen Programmierung in der Programmiersprache C/C++ umsetzen. Er setzt Entwurfstechniken zur Lösungsfindung ein. Aufgrund eines entwickelten Verständnisses für Programmiertechniken ist er in der Lage, gut strukturierte und dokumentierte Programme zu erstellen. Dabei setzt er Basiswerkzeuge der Softwareentwicklung ein. Im Praktikum lernt der Student, Programme und Lösungskonzepte zu präsentieren.</objectives>
<content>* Prozedurale Programmierung: Fundamentale Datentypen, Operatoren, Kontrollstrukturen, Funktionen, Pointer und Arrays, Gültigkeitsbereiche und Lebensdauer von Objekten, Strukturen / Unionen, Funktionspointer, Kommandozeilenargumente, Referenzen, Namensräume
* Entwurfstechniken: Programmablaufplan, Zustandsdiagramme
* Programmiertechniken: Modularisierung, Trennung von Schnittstelle und Implementierung, Callback-Funktionen, Datenstrukturen und Algorithmen, 
* Entwicklungswerkzeuge: Präprozessor, Compiler, Linker, Shell, Shell-Skripte, Makefile, Debugger
</content>
<media>Vorlesungsbegleitendes Skript. Das Praktikum und Projekt findet in einem der Computerlabore statt.</media>
<literature>Lern- und Übungsliteratur

* Dausmann, M., Goll, J.: C als erste Programmiersprache, Springer Vieweg, 2014
* Erlenkötter, H.: C: Programmieren von Anfang an, rororo 1999
* Erlenkötter, H.: C++, Objektorientiertes Programmieren von Anfang an, rororo 2000, 
* Wolf, J.: C von A bis Z, Galileo Computing, 2009, http://openbook.galileocomputing.de/c_von_a_bis_z/

Referenzwerke
* Kernighan, Ritchie: Programmieren in C, Carl Hanser Verlag 1988
* Stroustrup, B.: Die C++-Programmiersprache: Aktuell zu C++11, Hanser 2105</literature>
<offered>
</offered>
<moduldb-query>Sun Jun  7 23:06:52 CEST 2026, CKEY=epie, BKEY=bmt, CID=[?], LANGUAGE=de, DATE=07.06.2026</moduldb-query>
</document>
