Voraussetzungen und Begleitbedingungen |
Keine |
Lehrinhalte |
- Vorstellung einer einfachen Physical-Computing-Plattform (Hardware, Betriebssystem)
- Software auf und Entwicklungswerkzeuge für die vorgestellte Plattform
- Einführung der Konzepte 'Spezifikation' und 'Algorithmus'
- Einführung in die strukturierte Programmierung: Variablen und Datentypen inkl. deren Operatoren, Anweisungen, Zuweisungen, Kontrollstrukturen, Funktionen und Module.
- Programme testen, Fehler systematisch finden und beheben
- Zerlegung von Aufgaben in Teilschritte, Erlernen einer algorithmischen Denkweise
- Programmieren als modellbasierte Tätigkeit, Zweck von Modellierungssprachen, kurze Vorstellung von einfachen Methoden zur Ablaufmodellierung
- Einfache Vorgehensmodelle für die Softwareentwicklung und deren Nutzen
|
Lernergebnisse |
Die Studierenden
- kennen die Grundlagen einer einfachen Physical-Computing-Plattform (z.B. Arduino)
- kennen die Begriffe Spezifikation und Algorithmus und können einfache Algorithmen erstellen und analysieren.
- kennen die systematische Vorgehensweise (von der Modellierung über die Codierung zur Dokumentation) und die wichtigsten Werkzeuge beim Programmieren und können diese anwenden.
- kennen die wichtigsten Konzepte, Prinzipien und Richtlinien der strukturierten Programmierung: Variablen und Datentypen inkl. deren Operatoren, Anweisungen, Zuweisungen, Kontrollstrukturen, Funktionen und Module.
- erlernen ausgehend von einer Problemstellung algorithmische Denkmuster und die Zerlegung der Aufgabe in Teilschritte (Programmablaufpläne) und können diese implementieren, um zu einer Lösung zu gelangen.
- können kleine Probleme der realen Welt mit strukturierten, modularen Programmen lösen.
- sind in der Lage, einige häufige Fehlerquellen zu erkennen und Techniken zur Qualitätssicherung zu integrieren
- können gestellte Aufgaben selbständig und fristgerecht lösen (Zuverlässigkeit) sowie in Zweierteams zusammenarbeiten (Teamfähigkeit/Kooperation) und die erstellten Lösungen inklusive der Programmeigenschaften kommunizieren und begründen (Ausdrucksvermögen und Auftreten).
- verstehen die Lösungen anderer und können konstruktive Verbesserungsvorschläge einbringen und mit Feedback umgehen (Kritikfähigkeit) sowie die eigenen Fähigkeiten und Grenzen reflektieren (Selbstreflexionsfähigkeit).
- haben die Fähigkeit und Bereitschaft, sich neues Wissen selbstständig anzueignen und aus Erfolgen und Misserfolgen zu lernen (Lernkompetenz und -motivation).
|
Geplante Lernaktivitäten und Lehrmethoden |
Theoretische Einheiten/Input zu den Konzepten der strukturierten Programmierung Übungseinheiten mit Hinweisen zur Umsetzung Übungen in unterschiedlichen Schwierigkeitsniveaus für das selbstgesteuerte Lernen |
Prüfungsmethode und Beurteilungskriterien |
100% Schriftliche Prüfung |
Kommentar |
Keine |
Empfohlene Fachliteratur und andere Lernressourcen |
- Häberlein, T. (2024). Programmieren mit Python: Eine Einführung in die Prozedurale, Objektorientierte und Funktionale Programmierung (1. Aufl. 2024). Springer Berlin Heidelberg. https://doi.org/10.1007/978-3-662-68678-2
- Hassan, S. (2024). Arduino and MicroPython programming guide: ESP32 & ESP8266 for absolute beginners to advanced IoT projects (First). Amazon Fullfillment. https://go.exlibris.link/LlHwXyBB
- Lin, J. W.-B. (with Aizenman, H., Espinel, E. M. C., Gunnerson, K., & Liu, J.). (2022). An Introduction to Python Programming for Scientists and Engineers (1st ed). Cambridge University Press.
- Steyer, R. (2024). Programmierung in Python: Ein kompakter Einstieg für die Praxis (2. Auflage). Springer Vieweg. https://doi.org/10.1007/978-3-658-44286-6
|
Art der Vermittlung |
Präsenzveranstaltung mit Anwesenheitspflicht Asynchrone Übungen zum Selbststudium mit Begleitung in Präsenzseminaren 50% |