Direkt zum Inhalt


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 C17. 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 Sie in der jeweiligen Veranstaltung (externer Link, öffnet neues Fenster) im Vorlesungsverzeichnis.

Sprache

Die Vorlesung wird in deutscher Sprache gehalten. Die Kursunterlagen, das Skript sowie ein Teil der verwendeten Dokumentation werden jedoch ausschließlich in englischer Sprache bereitgestellt.

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 die Kursunterlagen und Teile der Dokumentation in englischer Sprache vorliegen.

Leistungsnachweis

Die Studienleistung besteht in der aktiven Bearbeitung von 75% der Übungsaufgaben.

Für eine benotete Anrechnung, bspw. 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 den Dozierenden festgelegt. Eine Auswahl möglicher Themenvorschläge wird bereitgestellt.

Weitere organisatorische Details werden während des Kurses bekanntgegeben.

Kursunterlagen

Sämtliche Kursmaterialien stehen online zur Verfügung:

nach oben