Die Lehrveranstaltung bietet eine Einführung in die Informatik und vermittelt Theorie und Praxis der Programmierung von Software am Beispiel der Sprachen C und Prolog. Die Vorlesung diskutiert Konzepte der strukturierten Programmierung auf Grundlage der Programmiersprache C sowie Konzepte der logischen Programmierung mit Prolog.
Objekte und Ansätze der objektorientierten Programmierung werden kurz gestreift, sollen aber erst in der nachfolgenden Veranstaltung "Programmiertechnik II" im Mittelpunkt stehen.
Informatik - ein Überblick | 01:35:20 | |
---|---|---|
Organisatorisches | 00:12:01 | |
Was ist Informatik? | 00:17:04 | |
Teilgebiete der Informatik | 00:13:40 | |
Technische Informatik | 00:08:36 | |
100 Jahre IBM | 00:18:21 | |
Programmierbarkeit; Geschichte | 00:07:32 | |
Praktische Informatik | 00:08:49 | |
Theoretische Informatik | 00:09:17 |
Inhalt der Lehrveranstaltung & Informationsverarbeitung | 01:33:41 | |
---|---|---|
Ablauf Programmiertechnik I | 00:19:47 | |
Inhalt: Unit 1-4 | 00:19:53 | |
Inhalt: Unit 5-8 | 00:17:24 | |
Inhalt: Unit 9-14 | 00:13:47 | |
Information und Daten | 00:08:47 | |
Hexziffern | 00:14:03 |
Aussagenlogik, Schaltnetze, Register & von Neumann Rechner | 01:25:41 | |
---|---|---|
Aussagenlogik | 00:15:12 | |
Schaltungslogik | 00:20:20 | |
Register | 00:13:47 | |
Addition | 00:07:21 | |
Multiplikation | 00:11:45 | |
Informationsverarbeitung im Computer | 00:17:16 |
Von-Neumann-Rechner & ALU | 01:26:23 | |
---|---|---|
Von-Neumann-Rechner | 00:10:04 | |
Zentrale Verarbeitungseinheit | 00:11:06 | |
ALU und Rechenwerk | 00:13:22 | |
4-Bit ALU | 00:11:22 | |
Registersatz | 00:12:10 | |
Steuerwerk | 00:15:41 | |
Fetch und Execute | 00:12:38 |
Befehlssatz | 00:48:39 | |
---|---|---|
Rückblick | 00:04:19 | |
Befehlssatz | 00:11:33 | |
Typen von Instruktionen | 00:14:31 | |
Ein PDP-11 Assembler-Beispiel | 00:09:20 | |
Geräte und Schnittstellen | 00:08:56 |
Informationsdarstellung | 01:29:06 | |
---|---|---|
Datenpräsentation | 00:12:10 | |
Dezimale Zahlendarstellung | 00:15:54 | |
Vorzeichenbehaftete Zahlen | 00:17:17 | |
Reelle Zahlen | 00:15:42 | |
Rundungseffekte | 00:14:21 | |
Unicode | 00:13:42 |
Spezifikation, Algorithmen, Programme | 00:41:16 | |
---|---|---|
Ablauf | 00:05:49 | |
Spezifikationen | 00:16:12 | |
Algorithmus | 00:12:29 | |
Programmiersprachen | 00:06:46 |
Formale Beschreibung von Programmiersprachen | 01:29:22 | |
---|---|---|
Kontrollstrukturen | 00:20:04 | |
Lexikalische Regeln | 00:10:12 | |
Backus Naur Form | 00:16:55 | |
EBNF-Regel | 00:14:00 | |
Mehrdeutigkeiten von Grammatiken | 00:12:21 | |
Vom Algorithmus zum Programm | 00:15:50 |
Programmieren in C | 01:20:30 | |
---|---|---|
Assembler-Beispiel | 00:11:00 | |
Link/Loader | 00:23:57 | |
Laufzeitsystem | 00:08:24 | |
Portabilität | 00:15:35 | |
Programmierumgebungen | 00:08:16 | |
Boolesche Werte | 00:13:18 |
Imperative, deklarative und objektorientierte Programmierung | 01:29:14 | |
---|---|---|
Richtige Datenstrukturen wählen | 00:14:50 | |
Typecast - Anwendung | 00:14:30 | |
Operationen auf Zeichenketten | 00:14:56 | |
Kontrollstrukturen | 00:14:15 | |
C | 00:10:43 | |
Deklarative Programmierung | 00:13:58 | |
Objektorientierte Programmierung | 00:06:02 |
Betriebssysteme | 01:34:00 | |
---|---|---|
Ablauf | 00:05:14 | |
Evolution von Software | 00:11:00 | |
Betriebssystem | 00:16:27 | |
Aufgaben des Betriebssystems | 00:17:42 | |
Unix | 00:09:55 | |
Entwicklung von Unix | 00:16:53 | |
Variablen und Ersetzungen | 00:16:49 |
Shell-Programmierung | 01:28:23 | |
---|---|---|
Sondervariablen und Muster für Dateinamen | 00:19:25 | |
Initialisierung | 00:12:25 | |
Spezialkommandos | 00:12:26 | |
Eckige-Klammer-links | 00:18:11 | |
Directory anlegen | 00:08:15 | |
Steuerkommandos | 00:07:20 | |
Job Control und Signale | 00:10:21 |
Shellskripte & C | 01:30:32 | |
---|---|---|
Übung und Hausaufgaben | 00:07:27 | |
Compiler | 00:13:08 | |
GNU Compiler Collection | 00:11:07 | |
Ein Parser als Shellskript | 00:16:12 | |
Ein erstes C Programm | 00:18:01 | |
Technologieprogramm make | 00:07:21 | |
make (contd.) | 00:17:16 |
Make & Git | 01:25:46 | |
---|---|---|
Muster in Regeln | 00:14:31 | |
make (contd.) | 00:14:06 | |
Variablen in Makefiles | 00:18:07 | |
Quellcodeverwaltung | 00:17:30 | |
Versionierung - die Idee | 00:13:35 | |
Einrichtung | 00:07:57 |
Git, Debugger: gdb & Test: Check, CUnit | 01:26:25 | |
---|---|---|
Die drei Zustände | 00:15:40 | |
Verzweigungen (branches) | 00:13:05 | |
Debugger: gdb pt. 1 | 00:18:03 | |
Debugger: gdb pt. 2 | 00:15:02 | |
Gdb anwenden | 00:09:02 | |
Automatisierte Tests | 00:15:33 |
Programmiersprache C - integrale Datentypen | 01:29:30 | |
---|---|---|
Datenstruktur | 00:14:08 | |
Größe ermitteln | 00:15:36 | |
Aufzählungskonstanten | 00:15:40 | |
Relationale/logische Operatoren | 00:14:39 | |
Inkrement/Dekrement | 00:08:30 | |
Bitweise Operatoren | 00:13:04 | |
Zuweisungsoperator | 00:07:53 |
Programmiersprache C - Kontrollfluss | 01:31:04 | |
---|---|---|
Anweisungen und Blöcke | 00:18:16 | |
if-else-Anweisung | 00:08:17 | |
switch-Anweisungen | 00:19:48 | |
Einschub: Codegenerierung | 00:14:09 | |
Schleifen - while and for | 00:15:32 | |
goto und Marken (labels) | 00:15:02 |
Programmiersprache C - Funktionen und Programmstruktur | 01:17:02 | |
---|---|---|
Unterprogramme | 00:18:52 | |
Referenzparameter simulieren | 00:13:58 | |
Externe Variablen | 00:15:43 | |
Initialisierung | 00:12:45 | |
Makro-Expansion | 00:15:44 |
Programmiersprache C - Zeiger und Felder | 01:24:28 | |
---|---|---|
Ablauf | 00:05:30 | |
Speicher eine UNIX-Prozesses | 00:21:48 | |
Dynamik | 00:18:34 | |
Zeiger und Felder | 00:11:00 | |
Formale Argumente | 00:12:03 | |
Speicherverwaltung | 00:15:33 |
Mehrdimensionale Felder - Komplizierte Deklarationen | 01:29:04 | |
---|---|---|
Zeiger und Felder | 00:18:46 | |
Übungsaufgaben | 00:13:29 | |
Speicherverwaltung (richtig) | 00:14:47 | |
Felder von Zeigern | 00:19:29 | |
Zeiger auf Funktionen | 00:11:19 | |
Komplizierte Deklarationen | 00:11:14 |
Programmiersprache C - Strukturen | 01:26:49 | |
---|---|---|
Grundlagen | 00:16:01 | |
Verschachtelte Strukturen | 00:19:29 | |
Strukturen und Funktionen | 00:13:36 | |
Felder von Strukturen | 00:17:07 | |
Zeiger auf Strukturen | 00:06:41 | |
Unions | 00:13:55 |
Datentypen & Strukturen | 01:26:09 | |
---|---|---|
Einschub: Konstruktion von Datentypen | 00:15:16 | |
Dateien | 00:09:10 | |
Umgang mit Dateien | 00:16:14 | |
Beispiel Induktive Definition pt.1 | 00:15:43 | |
Beispiel Induktive Definition pt.2 | 00:09:24 | |
Definition von Typen | 00:10:05 | |
Doppelt verkettete Liste | 00:10:17 |
Klausurvorbereitung | 01:27:11 | |
---|---|---|
Zur Klausur pt.1 | 00:19:37 | |
Zur Klausur pt.2 | 00:22:01 | |
Zur Klausur pt.3 | 00:20:56 | |
Zur Klausur pt.4 | 00:05:02 | |
Unions | 00:06:52 | |
Objekte | 00:12:43 |