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, stehen aber erst in der nachfolgenden Veranstaltung "Programmiertechnik II" im Mittelpunkt.
| Informatik - Ein Überblick | 01:18:32 | |
|---|---|---|
| Allgemeine Informationen zur Veranstaltung | 00:07:39 | |
| Was ist Informatik? | 00:08:35 | |
| Algorithmenbegriff | 00:15:52 | |
| Technische Informatik | 00:27:26 | |
| Praktische Informatik | 00:14:19 | |
| IT-System Engineering - Informatik am HPI | 00:04:41 |
| Informatik - Ein Überblick (2) | 01:24:59 | |
|---|---|---|
| Kursziele | 00:05:46 | |
| Inhalt der Lehrveranstaltung Unit 1 - 4 | 00:12:57 | |
| Inhalt der Lehrveranstaltung Unit 5 - 12 | 00:27:11 | |
| Information und Daten | 00:15:07 | |
| Bytes und Worte | 00:21:57 | |
| Zusammenfassung | 00:02:01 |
| Aussagenlogik, Schaltnetze, Schaltwerke & Register | 01:28:27 | |
|---|---|---|
| Ablauf | 00:07:04 | |
| Aussagenlogik | 00:14:35 | |
| Schaltungslogik | 00:11:13 | |
| Schaltnetze, Schaltwerke | 00:17:28 | |
| Register | 00:14:43 | |
| Arbeitsspeicher | 00:23:24 |
| Von Neumann Rechner, CPU, ALU, CU & Ein- und Ausgabe | 01:26:10 | |
|---|---|---|
| Register | 00:18:38 | |
| Von Neumann Rechner | 00:26:24 | |
| CPU, ALU, CU | 00:18:58 | |
| Registersatz | 00:13:11 | |
| Ein- und Ausgabe | 00:08:59 |
| Instruktionsverarbeitung, Instruktionsarten & Maschinenbefehle | 01:32:26 | |
|---|---|---|
| Einfache 1-Bus CPU | 00:11:47 | |
| Steuersignale | 00:21:02 | |
| Befehlssatz | 00:13:20 | |
| Adressierungsarten | 00:10:12 | |
| Maschinenbefehle | 00:13:03 | |
| Ein PDP-11 Assembler-Beispiel | 00:23:02 |
| Informationsdarstellung | 01:33:03 | |
|---|---|---|
| Einführung | 00:06:42 | |
| Universalität binärer Daten | 00:11:35 | |
| Ganze Zahlen | 00:11:12 | |
| Einer- & Zweier-Komplement | 00:17:25 | |
| Gleitkommazahlen | 00:15:06 | |
| IEEE-754 - Betriebsmodi | 00:08:20 | |
| Weitere Zahlendarstellungen | 00:22:43 |
| Formale Beschreibung von Programmiersprachen | 01:29:40 | |
|---|---|---|
| EBNF-Regel | 00:11:42 | |
| Mehrdeutigkeit von Grammatiken | 00:17:40 | |
| Vom Algorithmus zum Programm | 00:20:03 | |
| Assembler-Beispiel | 00:33:13 | |
| Babylonische Sprachvielfalt | 00:07:02 |
| Programmieren in C | 01:29:57 | |
|---|---|---|
| Interpreter | 00:21:43 | |
| Link/Loader | 00:05:18 | |
| Laufzeitsystem | 00:15:57 | |
| Programmierumgebungen | 00:12:06 | |
| Ganze Zahlen in C | 00:09:18 | |
| Typkonvertierung | 00:19:33 | |
| Zeichenketten in C | 00:06:02 |
| Imperative- & objektorientierte Programmierung | 01:39:53 | |
|---|---|---|
| Operationen auf Zeichenketten | 00:18:56 | |
| Imperative Programmierung | 00:22:04 | |
| Imperative Programmiersprachen | 00:23:27 | |
| Objektorientierte Programmierung | 00:09:02 | |
| Programmierbeispiele | 00:26:24 |
| Make, Version Control, Git | 01:26:42 | |
|---|---|---|
| Floating Point | 00:13:17 | |
| Einführung | 00:04:17 | |
| make | 00:41:49 | |
| Versionsverwaltung | 00:08:53 | |
| git | 00:18:26 |
| Programmiersprache C - integrale Datentypen | 01:31:44 | |
|---|---|---|
| Datenstruktur | 00:16:26 | |
| Konstanten | 00:24:37 | |
| Konstante Ausdrücke | 00:29:34 | |
| Deklarationen | 00:21:07 |
| Integrale Datentypen & Kontrollfluss | 01:26:46 | |
|---|---|---|
| Make Files | 00:25:53 | |
| Beispiel++ | 00:07:02 | |
| Bitweise Operatoren | 00:11:20 | |
| Bedingte Ausdrücke | 00:18:16 | |
| Kontrollfluss | 00:24:15 |
| Programmiersprache C - Kontrollfluss | 01:33:42 | |
|---|---|---|
| else-if | 00:19:00 | |
| Einschub: Codegenerierung | 00:17:12 | |
| Schleifen - while and for | 00:08:21 | |
| Komma-Operator | 00:21:33 | |
| goto und Marken (labels) | 00:06:18 | |
| Lint (Splint) | 00:21:18 |
| Programmiersprache C - Funktionen und Programmstruktur | 01:26:04 | |
|---|---|---|
| Einleitung | 00:02:55 | |
| Unterprogramme | 00:10:14 | |
| Hauptprogramm | 00:06:58 | |
| Top-Down-Entwurf: NIM-Spiel | 00:27:08 | |
| Prinzip Funktionsaufruf | 00:04:51 | |
| Parameterübergabe | 00:08:49 | |
| Rückgabewerte | 00:03:32 | |
| Externe Variablen | 00:08:28 | |
| NIM-Spiel: Refaktorisierung & Header Dateien | 00:13:09 |
| Makros & Rekursion | 01:32:27 | |
|---|---|---|
| Der C-Präprozessor | 00:05:32 | |
| Makro-Substitution | 00:17:20 | |
| ##-Operator | 00:15:44 | |
| Steuerung der Übersetzung | 00:14:11 | |
| Rekursion | 00:23:34 | |
| Wechselseitige Rekursion | 00:16:06 |
| Programmiersprache C - Zeiger und Felder | 01:30:09 | |
|---|---|---|
| Einführung | 00:08:54 | |
| Speicher eines UNIX-Prozesses | 00:07:08 | |
| Dynamik | 00:06:37 | |
| Zeiger | 00:32:57 | |
| Zeiger und Felder | 00:24:34 | |
| Speicherverwaltung | 00:09:59 |
| Speicherverwaltung - Komplizierte Deklarationen | 01:15:46 | |
|---|---|---|
| Speicherverwaltung | 00:10:07 | |
| Verwendung von Heapspeicher | 00:32:34 | |
| Zeichenkettenkonstanten vs. Felder | 00:12:17 | |
| Mehrdimensionale Felder | 00:09:05 | |
| Zeiger auf Funktionen | 00:11:43 |
| Programmiersprache C - Strukturen | 01:26:04 | |
|---|---|---|
| Zeiger auf Funktionen | 00:27:05 | |
| Grundlagen | 00:22:07 | |
| Strukturen und Funktionen | 00:19:35 | |
| Zeiger auf Strukturen | 00:11:59 | |
| Felder von Strukturen | 00:05:18 |
| Felder von-, Zeiger auf Strukturen & Dateien | 01:30:14 | |
|---|---|---|
| Felder von Strukturen | 00:12:52 | |
| sizeof | 00:13:24 | |
| Zeiger auf Strukturen | 00:04:39 | |
| Dateien | 00:12:43 | |
| Operationen auf Dateien | 00:29:04 | |
| Induktiv definierte Typen | 00:17:32 |
| Selbstreferentielle Strukturen | 01:30:38 | |
|---|---|---|
| Einfach verkettete Listen | 00:16:55 | |
| Doppelt verkettete Listen | 00:46:46 | |
| Unions | 00:14:12 | |
| Objektorientierung | 00:12:45 |