Grundlagen der Informatik

Grundlagen der Informatik I+II

Vorlesung

ECTS: 4
Kategorie V+Ü, 3 SWS
Veranstalter: Dr. Stefan Bosse, Prof. Frank Kirchner

für Elektrotechniker

Inhalt der Veranstaltung

1. Informationen und Daten

  1. Darstellung und Verarbeitung von Informationen, Kodierung
  2. Zahlensysteme (Binär, Dezimal, Hexadezimal), Umrechnung
  3. Vorzeichenbehaftete Dualzahlen, Zweier-Komplement-Darstellung
  4. Arithmetische Operationen (Binärzahlen!)
  5. Reelle Zahlen (Gleit- und Fließpunktdarstellung)
  6. Logische Werte, boolesche Funktionen, Logische Funktionen, Transistortechnologie
  7. Boolesche Algebra, Minimierung von Digitallogiksystemen, Gesetzte der booleschen Algebra für Termumformungen, Systematische Reduktion logischer Funktionen, KV-Diagramme
  8. Normalformen (disjunktiv, konjunktiv), Wakrheitstabellen
  9. Texte und Zeichenketten

2. Komponenten und Aufbau eines Datenverarbeitungssystem

  1. Turing-Maschine, Definition, Bandalphabet Aufbau, Arbeitsweise, Vor- und Nachteile
  2. Erweitertes Turing-Modell: Register-Maschine Beispiel: VTURI
  3. Zentrale Recheneinheit, Peripherie, Ein- und Ausgabe
  4. Die von-Neumann-Architektur
  5. Der Mikroprozessor
  6. Aufbau und Funktionsweise der zentralen Recheneinheit
  7. Prinzip und Phasen der Befehlsausführung (Leitwerk, Rechenwerk)
  8. Befehlskodierung
  9. Bussysteme
  10. Kommunikationsschnittstellen (serielle und parallele, synchrone und asynchrone Datenübertragung)
  11. Datenspeicher (RAM/ROM, Haupt- und Sekundärspeicher)
  12. Aufbau eines Mikrokontrollers
  13. Harvard-Architektur im Vergleich zu von-Neumann

3. Betriebssysteme

  1. Aufgabe eines Betriebssystems(Abstraktion, Plattform für Anwendungsprogramme, Zuteilung von Betriebsmitteln, Bedienerschnittstelle)
  2. Prozesse Prozeßmodell als Abstraktion
  3. Prozeßverwaltung Multiprozeß-Systeme
  4. Prozeßzustände
  5. Speichermodell eines Prozesses Speichersegmente, Stack-, Text- Datensegment
  6. Prozeßverwaltung: der Scheduler, Prozeßtabelle
  7. Dateien und Dateisysteme, grundlegender Aufbau, Abbildung auf Datenspeicher (Festplatte)
  8. Grundaufbau des Minix-Dateisystems

4. Programme und Programmiersprachen

  1. Spezifikation, Algorithmus, Programm
  2. Flußdiagramm
  3. Reaktive und nicht reaktive (funktionale) Programme
  4. Programmerstellung, Entwurfszyklus
  5. Programmiersprachen
  6. Klassifizierung von Programmiersprachen (Maschinensprache, höhere Programmiersprachen, imperative, funktionale, logische P.)
  7. Funktionen und Funktionale Sprachen, Funktionsparameter und Funktionsblock, Parameterübergabemechanismen (Wert- und Referenzaufruf)
  8. Ausdrücke & Funktionen
  9. Bedingte Ausdrücke
  10. Strukturieren durch Teilausdrücke
  11. Tupel von Ausdrücken
  12. Funktionen höherer Ordnung
  13. Rekursion
  14. Datenstrukturen, Produktbildung, Summenbildung, Arrays
  15. Variablen, Variablen in imperativen Sprachen und Zeigertypen
  16. Schleifen und Rückwirkung
  17. Bedingte Schleife
  18. Zählschleife
  19. Programmiersprache C: Datentypen: INT, FLOAT, CHAR, Zeichenketten (strings), Zusammengesetzte Datentypen, Sequenzielle Ablaufsteuerung in imperativen Programmiersprachen, Prozeduren und Funktionen, Funktionsparameter und Funktionsblock, Rekursion, Anweisungen, Ausdrücke (arithmetische, logische und relationale Operatoren)

5. Compiler: Analyse und Synthese von Programmen

  1. Ablauf und Phasen der Programmübersetzung
  2. Lexikalische Analyse
  3. Syntaktische Analyse
  4. Semantische Analyse, Symboltabelle
  5. Codeerzeugung, Synthese
  6. Optimierung, Konstantenfaltung, schleifen-invarianter Code, Ausdruckssubstitution, toter Code,…
  7. Binder, Lader und Bibliotheken H) Der GCC-Compiler

6. Abstrakte Datentypen & Algorithmik

  1. Lineare Listen: Sequenzielle Speicherung mit Feldern, Datenstrukturen, Verkettete Speicherung (einfach, doppelt), Datenstrukturen, Grundlegende Operationen (Algorithmik für Suchen, Einfügen und Löschen von Listenelementen)
  2. Stapel- und Schlangenspeicher (Programmstack, FIFO, Datenstrukturen, Operationen)
  3. Skip-Listen, Laufzeitanalyse
  4. Hash-Verfahren: Laufzeitanalyse, Hash-Tabelle, Hash-Funktion, Datenstrukturen, Operationen, Adreßkollision, Management der Überläufer/Synonyme
  5. Bäume: Grundlagen, Aufbau, Nomenklatur, Vollständige Bäume, Rang, Ordnung, Operationen mit Bäumen, Binärbäume, Datenstrukturen, Baumstruktur, Balanzierung
  6. Sortierverfahren: Sortieren durch Einfügen, Shell-Sort, Bubble-Sort, Divide & Conquer-Verfahren

Leave a Reply

Your email address will not be published. Required fields are marked *

*


*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>