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 |