BDF103: Programmierung
Allgemeine Grundlagen
BDF103: Programmierung
Prof. Dr. Duc Duy Pham
- Prof. Dr. Duc Duy Pham
- Prof. Dr. Gudrun Stockmanns
Bachelor Digitale Forensik
Informatik
Deutsch
Wintersemester
1 Semester
5 ECTS
Deutsche Notenskala 1-5
2 V | 2 Ü | - P | - S
Programming
Keine angegeben.
WAS
Die Studierenden können grundlegende Programmierkonzepte anwenden, einfache Programme strukturiert entwickeln und Programmcode hinsichtlich Funktion, Qualität und Wiederverwendbarkeit beurteilen.
WOMIT
Die Studierenden erreichen dieses Lernergebnis, indem sie insbesondere folgende im PDF genannten Kompetenzen aufbauen:
- Einfache Informatik-Probleme zu modellieren und Algorithmen zu deren Lösung zu entwickeln
- Die grundlegenden Sprachkonzepte wie primitive Datentypen und Kontrollstrukturen einer Programmiersprache (wie z.B. Python) zu beherrschen und sinnvoll einzusetzen
- Die Anwendbarkeit der grundlegenden Konzepte der objektorientierten Programmierung wie Klassen, Objekte, Vererbung, abstrakte Klassen und Schnittstellen, sowie die Fehlerbehandlung über Exceptions, für einfache und/oder begrenzt-umfangreiche Problemstellungen zu erkennen und diese auch in einer gängigen objektorientierten Programmiersprache zu implementieren
- Für einfache algorithmische und datenstrukturorientierte Aufgabenstellungen Programme in exemplarischer Programmiersprache und Programmierparadigma unter Anwendung angemessener Techniken zu entwickeln
- Aktuelle softwaretechnische Werkzeuge zielführend einzusetzen
- Für kleinere Programme einen Softwaretest mit seinen Anforderungen zu konzipieren
- Sich in vorhandene Programme einzuarbeiten und vorhandene Programmelemente oder Bibliotheken zu nutzen
WOZU
Damit sie in späteren Modulen, Projekten und beruflichen Aufgaben der Digitalen Forensik fachliche Entscheidungen begründet treffen, digitale Sachverhalte systematisch untersuchen und Ergebnisse nachvollziehbar kommunizieren können.
- Algorithmen und Modellierung einfacher Informatik-Probleme
- Entwicklungswerkzeuge, Standardbibliotheken und Einführung in Python
- Grundlagen der strukturierten Programmierung: Ablaufstrukturen, Datentypen, Funktionen und einfache Datenstrukturen
- Elementare Ein- und Ausgabe, Dateisystem, Speicherverwaltung und rekursive Funktionen
- Anwendung des Erlernten auf einfache Problemstellungen und kleine Programmfragmente
- Grundlagen der Softwareentwicklung, systematische Erstellung von Softwaresystemen und Phasen der Softwareentwicklung
- Softwareanalyse, Tests und Qualitätssicherung kleiner Programme
- Nutzung von Bibliotheken und Vergleich unterschiedlicher Programmierparadigmen
Testat
Studien-, Projekt- oder Hausarbeit (10 - 15 Seiten)
- John Hunt: A Beginners Guide to Python 3 Programming, Springer, Cham, 2019, https://doi.org/10.1007/978-3-030-20290-3
- Allen B. Downey: Think Python: How to Think Like a Computer Scientist, O’Reilly Media, Sebastopol, 2015
- Mark Lutz: Learning Python, O’Reilly Media, Sebastopol, 2013
- Ian Sommerville: Software Engineering, Pearson, Harlow, 2016
- Bernd Oestereich und Axel Scheithauer: Analyse und Design mit UML 2.5, De Gruyter Oldenbourg, Berlin, 2013