Hardwarenahe Programmierung
Lehrveranstaltung im Wintersemester 2019/20
Hochschule Bochum, Campus Velbert/Heiligenhaus
Prof. Dr. rer. nat. Peter Gerwinski
Copyright © 2012–2019 Peter Gerwinski
Diese Lehrmaterialien sind freie Software.
Sie dürfen diese gemäß den jeweils angegebenen Lizenzen
(CC-BY-SA 3.0,
GNU GPL 3+,
modified BSD License)
studieren, kopieren, modifizieren und/oder weitergeben.
Für Details siehe common/README.
Vortragsfolien und Beispiele:
- 10.10.2019: Einführung, Einführung in C (bis Schleifen) (Beispiele)
- 17.10.2019: Einführung in C: Seiteneffekte, Funktionen (Beispiele)
- 24.10.2019: Einführung in C: Zeiger, Arrays und Strings (Beispiele)
- 31.10.2019: Einführung in C: Arrays und Strings und Zeichen, Strukturen, Dateien und Fehlerbehandlung (Beispiele)
- 07.11.2019: Parameter des Hauptprogramms, String-Operationen, Bit-Operationen, I/O-Ports (Beispiele)
- 14.11.2019: Bit-Operationen, I/O-Ports (Beispiele)
- 21.11.2019: Interrupts, volatile-Variable, Bibliotheken: Einführung (Beispiele)
- 28.11.2019: Präprozessor, Bibliotheken (Beispiele)
- 05.12.2019: Bibliotheken, Differentialgleichungen (Beispiele)
- 12.12.2019: make, Byte-Reihenfolge - Endianness (Beispiele)
- 19.12.2019: Binärdarstellung negativer Zahlen, Speicherausrichtung - Alignment (Beispiele)
- 02.01.2020: Quantencomputer, Datensicherheit und Datenschutz (Beispiele)
- 09.01.2020: Rekursion, Aufwandsabschätzungen, objektorientierte Programmierung (Beispiele)
- 16.01.2020: objektorientierte Programmierung, dynamische Speicherverwaltung (Beispiele)
- 23.01.2020: Objektorientierte Programmierung, Datenstrukturen (Beispiele)
- alle in 1 Datei
Übungsaufgaben:
- 10.10.2019: Hello-World-Programme, Schaltjahr ermitteln, Maximum berechnen
- 17.10.2019: Schaltjahr ermitteln, Multiplikationstabelle, Fibonacci-Zahlen, fehlerhaftes Programm
- 24.10.2019: Seltsame Programme, Kalender-Berechnung
- 31.10.2019: Strings, Programm analysieren, fehlerhaftes Primzahl-Programm
- 07.11.2019: Arrays mit Zahlen, Datum-Bibliothek
- 14.11.2019: Ausgabe von Hexadezimalzahlen, Einfügen in Strings, Länge von Strings
- 21.11.2019: Zahlensysteme, Mikrocontroller
- 28.11.2019: Datum-Bibliothek, Text-Grafik-Bibliothek, LED-Blinkmuster
- 05.12.2019: Löschen aus Strings, Hexdumps
- 12.12.2019: Kondensator, hüpfender Ball
- 19.12.2019: Trickprogrammierung, Thermometer-Baustein an I²C-Bus
- 09.01.2020: Speicherformate von Zahlen, Zeigerarithmetik, Personen-Datenbank
- 16.01.2020: Fakultät, Länge von Strings (Neuauflage), objektorientierte Tier-Datenbank
- 23.01.2020: Stack-Operationen, Iteratorfunktionen, dynamisches Bit-Array
Musterlösungen:
- 17.10.2019: Schaltjahr ermitteln, Multiplikationstabelle, Fibonacci-Zahlen, fehlerhaftes Programm
- 24.10.2019: Seltsame Programme, Kalender-Berechnung
- 31.10.2019: Strings, Programm analysieren, fehlerhaftes Primzahl-Programm
- 07.11.2019: Arrays mit Zahlen, Datum-Bibliothek
- 14.11.2019: Ausgabe von Hexadezimalzahlen, Einfügen in Strings, Länge von Strings
- 21.11.2019: Zahlensysteme, Mikrocontroller
- 28.11.2019: Datum-Bibliothek, Text-Grafik-Bibliothek, LED-Blinkmuster
- 23.01.2020: Datum-Bibliothek, Text-Grafik-Bibliothek, LED-Blinkmuster
Tafelbilder:
- 07.11.2019: Beispiele für Bit-Manipulation
- 14.11.2019: Logische und bitweise Und-Verknüpfung (rechts), einzelnes Bit auf 1 setzen (links)
- 14.11.2019: Einzelnes Bit auf 1 (rechts) bzw. auf 0 (links) setzen
- 14.11.2019: Einzelnes Bit auf 0 setzen (rechts) bzw. umklappen (Mitte) bzw. abfragen (links)
- 05.12.2019: Schräger Wurf
- 19.12.2019: Interpretation von Bytes im Speicher als Zahlenwert
- 19.12.2019: Bildschirmspeicher als Beispiel für Speicherausrichting (Alignment)
- 02.01.2020: Quantencomputer: physikalische Realisierung von Qubits
Praktikumsunterlagen:
- Versuch 1, 17. und 31.10.2019: RSA-Verschlüsselung
- Versuch 2, 14. und 21.11.2019: Druckknopfampel
- Versuch 3, 12. und 19.12.2019: Weltraum-Simulation
- Versuch 4, 16. und 23.1.2020: Objektorientiertes Grafik-Programm
Alte Klausuren:
- Wintersemester 2015/16 (Beispiele)
- Wintersemester 2016/17 (Beispiele)
- Wintersemester 2017/18 (Beispiele)
Skript:
Original-Materialien einschließlich Beispiel-Programme und LaTeX-Quelltexte:
- common – gemeinsame Dateien für Skript und Vortragsfolien
- script – Skript zur Lehrveranstaltung
- 201????? – Vortragsfolien und Beispiele
- branch 2018ws – vollständige Lehrmaterialien vom Wintersemester 2018/19
Low-Level Programming
Course in winter semester 2019–20
Bochum University of Applied Sciences, Campus Velbert/Heiligenhaus
Prof. Dr. rer. nat. Peter Gerwinski
Copyright © 2012–2019 Peter Gerwinski
These teaching materials are Free Software.
You may study, copy, modify, and/or distribute them
according to their respective licences
(CC-BY-SA 3.0,
GNU GPL 3+,
modified BSD License).
See the file common/README for details.