Slide 8
Slide 8 text
Programmierung und Programmierparadigmen
Grundlegende Einführung in das Programmieren anhand der
Programmiersprachen C und C++
Grundkonzepte prozeduraler Programmiersprachen
(Anweisungen, Verzweigungen, Schleifen)
Funktionen und Routinen, Dekomposition und Modularisierung
Variablen, einfache und komplexe Datentypen (u.a. Felder,
Strukturen, Klassen)
Präprozessor, Fehlersuche, Debugging, Build-Werkzeuge
Zeiger und Speicherverwaltung
Ausblick auf objektorientierte Programmierung
Algorithmen und Datenstrukturen
Grundlegende Einführung in wichtige Algorithmen und
Datenstrukturen und deren Bewertung Bäume, Graphen
Sortieren, Suchen
Algorithmen auf Graphen
Hashing
Komplexitätsbetrachtung und Bewertung von Algorithmen
Rechnerarchitektur
Darstellung von Information in digitalen Rechnern, insb. Zahlen, Zeichen
Grundlagen der Hardware-Technologie, Eigenschaften von digitalen Schaltungen (Fläche, Geschwindigkeit,
Leistungsverbrauch), arithmetische Schaltungen, arithmetisch-logische Einheit (ALU), Speicherelemente, Register,
sequentielle Schaltungen
Abstraktionsebenen eines Rechners, Assembler, Abbildung von Software-Konstrukten, Performanz, RISC-V als
konkretes Beispiel, Überblick über andere Befehlssätze
Aufbau eines Mikroprozessors: Datenpfad, Pipelining und Hazards, Interrupts
Speicherhierarchie: Speichertechnologien, Caches, Virtualisierung
Parallele Architekturen: SIMD (Single Instruction, Multiple Data), Vektorrechner, Multi-threading, Shared Memory
Architekturen vs. Message Passing, GPU-Architekturen
Programmierung ist Grundlage
für das Verständnis
Unterbaut Verständnis
was man programmiert
1. Halbjahr