Neuronale Informationsverarbeitung

Praktisches Programmieren und Rechneraufbau (PPR)

Die Veranstaltung findet ab WS 23/24 auschließlich in Präsenz statt, sprich man kann die Veranstaltung nicht online anschauen. Weitere Infos über das genaue Prozedere entnehmen Sie bitte auf ISIS.

In der Veranstaltung schlagen wir einen Bogen von den elementaren Grundlagen der Computertechnik bis hin zum Erstellen von Programmen in einer modernen Programmiersprache. Dazu beginnen wir in der Vorlesung mit der Darstellung von Zahlen und Zeichen im Rechner und besprechen wie elektronische Schaltungen funktionieren, die Informationen verarbeiten und speichern können, sowie den modularen Aufbau eines Computers. Danach beschäftigen wir uns mit UNIX-artigen Betriebssystemen (dazu gehören z.B. Mac OS X oder Linux), insbesondere damit wie Dateien und Ordner verwaltet und wie Programme ausgeführt und vom System verwaltet werden. Im letzten Teil der Veranstaltung steht dann die Programmierung in einer der Programmiersprachen JAVA oder C im Mittelpunkt. Dabei werden alle vorgestellten Konzepte durch praktische Übungen ergänzt, die das in den Vorlesungen erworbene Wissen vertiefen und ausbauen. Formales Vorlesung / Übung (4 SWS / 6 ECTS) Detaillierte Informationen zum aktuellen Semester inklusive Lehrmaterial auf ISIS

Inhalt (ausgewählte Themen) Rechnerarchitektur / UNIX

Darstellung von Informationen 

  • Wie lassen sich (positive und negative, ganze und gebrochene) Zahlen im Rechner nur mit Nullen und Einsen darstellen?
  • Wie können Zeichen (Buchstaben, Sonderzeichen) dargestellt werden?

Logische Schaltungen 

  • Wie kann man mit logischen Schaltungen rechnen (addieren, multiplizieren,...) ?
  • Wie können Informationen gespeichert werden?

Rechneraufbau 

  • Welche Funktion haben die Komponenten eines Rechners?
  • Wie verarbeitet ein Prozessor Maschinenbefehle?

Das Betriebssystem UNIX 

  • Wie verwaltet UNIX den Zugriff auf Dateien und den Hautspeicher?
  • Wie können mehrere Programme "gleichzeitig" auf einem Prozessor ausgeführt werden?
  • Wie werden Programme gestartet, wie lassen sich Programmaufrufe miteinander verknüpfen?

Programmiersprache Java Grundlagen der Java-Programmierung 

  • Wie ist die Syntax von Java, wie werden Anweisungen, Kommentare, Blöcke,... notiert?
  • Wie lassen sich Java-Programme übersetzen und ausführen?
  • Wie können Variablen und Datentypen verwendet werden, was für Kontrollstrukturen kennt Java?

Objektorientierte Programmierung 

  • Wie lassen sich Programme "objektorientiert" modellieren?
  • Was versteht man unter objektorientierten Konzepten wie Vererbung, Kapselung,...?

Angewandte Programmierung 

  • Wie kann in Java mit potentiellen Fehlersituationen (sogenannten "Ausnahmen") umgegangen werden?
  • Wie lassen sich in Java Informationen aus Dateien lesen und in Dateien schreiben?
  • Wie können grafische Benutzeroberflächen erstellt werden?

Programmiersprache C Grundlagen der C-Programmierung 

  • Wie ist die Syntax von C, wie werden Anweisungen, Kommentare, Blöcke,... notiert?
  • Wie lassen sich C-Programme übersetzen und ausführen?
  • Wie können Variablen und Datentypen verwendet werden, was für Kontrollstrukturen kennt C?

Fortgeschrittene C-Programmierung 

  • Wie lassen sich eigene Datentypen und Datenstrukturen in C erstellen?
  • Wie kann in C dynamisch Speicher verwaltet werden?
  • Wie kann auf Dateien zugegegriffen werden?
  • Wofür kann der "Präprozessor" verwendet werden?
  • Was für Funktionalitäten stellt die C-Standardbibliothek bereit?
     

 

Die Termine für das aktuelle Semester finden Sie auf ISIS.