Programmieren mit C
Tauchen Sie ein in die Welt der Programmiersprache C! In diesem praxisorientierten Seminar erlernen Sie die Grundlagen sowie fortgeschrittene Techniken, um effizient und strukturiert in C zu programmieren. Ob Sie erste Schritte machen oder Ihr Wissen vertiefen möchten – dieses Seminar bietet Ihnen eine fundierte Einführung sowie wertvolle Praxisübungen, um Ihre Programmierfähigkeiten auszubauen.
Inhalte:
Einführung und erste Schritte in der Programmiersprache C:
einfache Probleme analysieren, sowie Algorithmen zu deren Lösung in einer imperativen Programmiersprache wie C zu formulieren und deren Korrektheit zu validieren, Probleme in Teilprobleme zerlegen und diese schrittweise lösen (Top-Down-Design), Systematik der Problemlösung im Software Engineering, Arbeiten mit einer Entwicklungsumgebung wie Visual Studio oder CodeBlocks, Ein erstes Programm in C, inkl. Demo und Labor-Übungen
Einfach lesbaren Code schreiben:
Konzepte aus imperativen Programmiersprachen verstehen und diese effektiv zur Problemlösung einsetzen, Datentypen, Konstanten und Variablen, Schlüsselwörter und Bezeichner, Ein- und Ausgabe, Funktionen zur Strukturierung von Programmen (sog. Refactoren), inkl. Demo und Labor-Übungen
Softwareentwürfe syntaktisch umsetzen:
verschiedene Software-Entwürfe aus dem Software-Engineering, Projektbeispiel, mit elementaren Datenstrukturen umgehen, Fehler in eigenen Programmen strukturiert aufzufinden und zu beheben (Debugging), Programm- und Fehleranalyse, Datentypumwandlung, Symbolische Konstanten und Makros, Structs und Einführungsbeispiele in die GraphicsApp, inkl. Demo und Labor-Übungen
Kontrollfluss und Animationen:
Überblick bekannter C-Befehle, Enumerationen, Verzweigungen, Fallentscheidungen, Mehr zu while- und for-Schleifen, break und continue, Animationen in der GraphicsApp, inkl. Demo und Labor-Übungen, erste größere Anwendungsprogrammierung aus der Messtechnik
Eigenständig Dokumentationen von Programmierbibliotheken lesen und verstehen, um sie in eigenen Programmen anzuwenden:
Pointer – Call by Value und Call by Reference, inkl. Anwendungsprogrammierung, Referenzen als Parameter, Vektoren als Argumente, Rekursive Funktionen, Adressen und Pointer, Pointer am konkreten Beispiel, inkl. Demo und Labor-Übungen
Operatoren, Ausdrücke und Debugging:
Arten von Ausdrücken, Präzedenz und Assoziativität, Arithmetische Operatoren, Relationale Operatoren, Logische Operatoren, Debugging, Event Handling, Code-Refactoring, Debugging mit dem Debugging-Tool in Code-Blocks, Mathematische Arbeiten in C, inkl. Demo und Labor-Übungen
Arrays, Funktionsparameter und File-Handling:
Error-Handling, Sortieralgorithmen in C (u. a. BubbleSort, Quicksort etc.), Arrays aus Funktionen zurückgeben, Daten in ein Programm bringen, Dateizugriffe, inkl. Demo und Labor-Übungen
Strings und mehrdimensionale Arrays:
Pointer Review, Strings in C, Strings vom Nutzer einlesen und weiterverwenden, mehrdimensionale Arrays, Arrays mit Pointern auf Strings, Verschlüsselungsalgorithmen (u. a. Cäsar etc.), inkl. Demo und Labor-Übungen
Interfaces, Speicherklassen und Memory Allocation:
Interfaces und Kompilieren und Linken, Lebensdauer von Variablen, Sichtbarkeit von Variablen (Scope), Konstanten, Dynamische Speicherreservierung, inkl. Anwendungsprogrammierung, Demo und Labor-Übungen
Komplexe Datenstrukturen 1:
Arrays vs. Structs, Structs und Speicher, Structs als Funktionsparameter, Namespace, Refactoring und die Relevanz des Testens von Software, um verlässliche Software zu entwickeln, inkl. Demo und Labor-Übungen
Komplexe Datenstrukturen 2:
einfach verkettete Listen, doppelt verkettete Listen, inkl. Anwendungsprogrammierung, Demo und Labor-Übungen
Rekursion und Refactoring:
Erste Schritte mit Rekursion, Funktionen (Refactoring), Rekursion (konkrete Beispiele), inkl. Demo und Labor-Übungen
Datenbankanbindung mit C:
Aufbau einer Datenbank, Datensätze in ein C-Programm einfügen, Auswahl von Datensätzen, Eingabe, Sortieren, Ändern und Löschen von Datensätzen mit C-Code, inkl. Demo und Labor-Übungen
Beispielprojekte und grafische Benutzeroberfläche mit GTK+:
Ausgewählte Beispielprojekte, Datentypen der Glib, Felder mit GArray, Eine erste Benutzeroberfläche aufbauen, Ereignisfunktionen, inkl. Demo und Labor-Übungen
Nach Abschluss des Seminars sind Sie in der Lage, eigenständig Programme in C zu entwickeln, komplexe Datenstrukturen zu implementieren und Softwareprojekte effizient zu gestalten. Zudem lernen Sie, Dokumentationen sicher zu nutzen und bestehende Bibliotheken in Ihre eigenen Programme zu integrieren.