Modulbeschreibung

Einführung Programmierung

Kurzzeichen:
M_ProgEinf
Unterrichtssprache:
Deutsch
ECTS-Credits:
4
Leitidee:

Die Studierenden lernen die Grundlagen der Programmierung kennen und sammeln erste Erfahrung mit Embedded Systemen. Sie erarbeiten sich das notwendige Wissen, um in späteren Projekt-, Semester- und Bachelorarbeiten selbständig Prototypen von mechatronischen Systemen und IoT Anwendungen zu entwickeln.
Im Hinblick auf die gemeinsame Entwicklung im Team lernen sie auch "lesbaren" Code zu schreiben und moderne Entwicklerwerkzeuge zu nutzen.

Modulverantwortung:
Prof. Dr. Kottmann Markus
Standort (angeboten):
Rapperswil-Jona
Modultyp:
Wahlpflicht-Modul für Maschinentechnik-Innovation STD_14(Empfohlenes Semester: 3)Kategorie:Grundstudium Maschinentechnik-Innovation (M-gs)
Wahlpflicht-Modul für Maschinentechnik-Innovation STD_21(Empfohlenes Semester: 3)Kategorie:Grundstudium Maschinentechnik-Innovation (M-gs)
Wahlpflicht-Modul für Maschinentechnik-Innovation STD_23(Empfohlenes Semester: 2)Kategorie:Grundstudium Maschinentechnik-Innovation (M-gs)
Modulbewertung:
Note von 1 - 6

Leistungsnachweise und deren Gewichtung

Modulschlussprüfung:
Schriftliche Prüfung, 120 Minuten
Gewichtung:
Bemerkungen:

Hilfsmittel: Open Book

Inhalte

Angestrebte Lernergebnisse (Abschlusskompetenzen):

Die Studierenden kennen die wesentlichen Entwickler-Werkzeuge, um gemeinsam in einem Projekt Software zu entwickeln und können diese selbständig aufsetzen.

Die Studierenden können eigene einfache Embedded-Anwendungen auf Basis von C/C++ und Arduino entwickeln (GPIO, Sensoren auslesen, Aktoren ansprechen).

Die Studierenden können Bibliotheken von Dritten in ihren Code einbinden.

Die Studierenden kennen die gängigsten Programmierkonzepte (Design Patterns) im Umfeld von Embedded Code und können dieses auf neue Problemstellungen hin anwenden.

Modul- und Lerninhalt:

Die folgenden Lerninhalte werden erarbeitet:

  • Werkzeuge der Software-Entwicklung (Git)
  • Grundlagen der Programmierung (Datentypen, Schleifen, Bedingungen, Arrays, Iterationen, …) anhand C/C++
  • Code-Styleguide
  • Einbinden von Bibliotheken
  • Einfache Grundlagen der Embedded Entwicklung (GPIO, Analoge und Digitale Signale, PWM, Interrupts, Loops und Zeitmanagement)
  • Grundlagen der Objekt-orientierten Programmierung (OOP). Klassen und Instanzen, Kapselung.
  • Anwendung von relevanten Design Patterns wie "State Machines" und "Filters"    
Lehrmittel/-materialien:

Skript / Folien / Diverse Quellen im WWW