Programmieren in C
Die Programmiersprache C zählt seit Jahrzehnten zu den wichtigsten und einflussreichsten Programmiersprachen. Sie wird sowohl für wissenschaftliche Anwendungen als auch für systemnahe Software eingesetzt, von Simulationsprogrammen auf Hochleistungsrechnern über Betriebssysteme und Gerätetreiber bis hin zu Embedded-Systemen und Mikrocontrollern.
Ein wesentliches Merkmal von C ist die direkte Kontrolle über Datenstrukturen und Speicher. Dadurch eignet sich die Sprache besonders für Anwendungen, bei denen Effizienz, Portabilität und ein tiefes Verständnis der Funktionsweise von Software erforderlich sind. Viele moderne Programmiersprachen und ihre Konzepte wurden von C beeinflusst, sodass die Auseinandersetzung mit C zugleich eine fundierte Grundlage für das Erlernen weiterer Programmiersprachen schafft.
Der Kurs Programmieren in C vermittelt die Grundlagen der prozeduralen Programmierung anhand des Sprachstandards C11. Neben den grundlegenden Sprachkonzepten werden zentrale Techniken der Softwareentwicklung vorgestellt, die weit über die Programmiersprache C hinaus von Bedeutung sind. Das erworbene Wissen bildet eine wertvolle Grundlage für wissenschaftliches Arbeiten, technische Anwendungen und weiterführende Informatik- und Programmierkurse.
Veranstaltungsform
Der Kurs wird als Blockkurs angeboten.
Weitere Informationen finden sich im jeweiligen Vorlesungsverzeichnis.
Sprache
Die Lehrveranstaltung wird in deutscher Sprache gehalten. Kursunterlagen, Dokumentationen und weiterführende Literatur können teilweise in englischer Sprache vorliegen.
Kursinhalte
Der Kurs vermittelt die grundlegenden Konzepte der Programmierung in C. Behandelt werden insbesondere:
- Grundlagen der Programmierung
- Datentypen und Variablen
- Operatoren und Ausdrücke
- Kontrollstrukturen
- Funktionen
- Datenstrukturen und Speicherverwaltung
- Abgeleitete Datentypen
- Arrays und Zeichenketten
- Zeiger
- Dynamische Speicherverwaltung
- Sprachelemente und Werkzeuge
- Präprozessor
- Kompilieren und Linken
- Fehlersuche und Fehlerbehandlung
- Ein- und Ausgabe
- Dateiverarbeitung
- Einlesen, Verarbeiten und Speichern von Daten
Voraussetzungen
Für die Teilnahme werden keine Programmierkenntnisse vorausgesetzt.
Hilfreich sind:
- Grundlegende Kenntnisse im Umgang mit Linux bzw. Debian, da die Übungen im Linux-CIP-Pool durchgeführt werden.
- Ein eigener Laptop kann alternativ verwendet werden. Alle im Kurs eingesetzten Werkzeuge sind kostenlos verfügbar und für Windows, macOS und Linux erhältlich.
- Grundlegende Englischkenntnisse, da Teile der Dokumentation in englischer Sprache vorliegen.
Leistungsnachweis
Die Studienleistung besteht in der aktiven Bearbeitung der Übungsaufgaben. Die genauen Modalitäten werden zu Beginn des Kurses bekanntgegeben.
Für die benotete Anrechnung im Rahmen der Studienbegleitenden IT-Ausbildung ist darüber hinaus die Durchführung und Abgabe eines Abschlussprojekts erforderlich. Das Projekt kann einzeln oder in Zweiergruppen bearbeitet werden. Das Thema wird in Absprache mit dem Dozenten festgelegt. Eine Auswahl geeigneter Themenvorschläge wird bereitgestellt.
Weitere organisatorische Details werden während des Kurses bekanntgegeben.
Kursunterlagen
Ein ausführliches Skript zu den behandelten Themen wird über GRIPS bereitgestellt.
Als ergänzende Literatur werden insbesondere empfohlen:
- Brian W. Kernighan, Dennis M. Ritchie: The C Programming Language
- Helmut Erlenkötter: C programmieren von Anfang an
- Andre Willms: C-Programmierung lernen – Anfangen, anwenden, verstehen