Modulbeschreibung

Grundlagen objektorientierte Programmierung

Kurzzeichen:
M_winf.OOPR
Unterrichtssprache:
Deutsch
ECTS-Credits:
6
Arbeitsaufwand (h):
180
Leitidee:

Die Absolventinnen und Absolventen sehen sich heute einem sehr komplexen technischen Umfeld des Software-Engineering ausgesetzt. Um in Projekten in der Rolle als Wirtschaftsinformatiker kompetent mitzuarbeiten, müssen sie einen vertieften Einblick in die heutige Software-Entwicklung erhalten.


Die objektorientierte Programmierung (OOP) ist weit verbreitet. Eine solide Basis anhand der Programmiersprache Java gibt den Absolventinnen und Absolventen die Kompetenz, die Konzepte und Prinzipien der Objektorientierung (OO) in unterschiedlichen Kontexten gewinnbringend anzuwenden oder sich als Software-Engineer weiterzuentwicklen.

Modulverantwortung:
Bekiri Valmir
Lehrpersonen:
Bekiri Valmir, Prof. Dr. Thiel Christian
Standort (angeboten):
Rapperswil-Jona, St. Gallen (Standard)
Zusätzliche Eingangskompetenzen:

Gute Mittelschulkenntnisse der theoretischen Informatik
Referenzliteratur: Steyer, R. (2018). ECDL Computing. Herdt Verlag

Modultyp:
Besuchspflichtmodul für Wirtschaftsinformatik BB STD_23(Empfohlenes Semester: 2 | Niveau B: Basic level course)Kategorie:Assessmentmodule (ASS_Mod_WI)
Besuchspflichtmodul für Wirtschaftsinformatik VZ STD_23(Empfohlenes Semester: 2 | Niveau B: Basic level course)Kategorie:Assessmentmodule (ASS_Mod_WI)
Bemerkungen:

Workload[h]

Kontaktstudium: 51

Begleitetes Selbststudium: 42

Unbegleitetes Selbststudium: 87

Modulbewertung:
Note von 1 - 6

Leistungsnachweise und deren Gewichtung

Modulschlussprüfung:
Schriftliche Prüfung, 120 Minuten
Während der Unterrichtsphase:
Bewertungsart:
Note von 1 - 6
Gewichtung:

Modulschlussprüfung von 120 Minuten entscheidet über die Zuteilung der 6 ECTS Punkte

Bemerkungen:

Erlaubte Hilfsmittel: Open Book (nur schriftliche lokal vorhandene Literatur/Notizen, kein Internet!)

Inhalte

Angestrebte Lernergebnisse (Abschlusskompetenzen):

Fachkompetenzen:

Die Teilnehmenden können:

  • Grundlegende Begriffe der Algorithmen, Komplexität und Datenstrukturen darlegen.
  • kleinere Programmieraufgaben analysieren und eine Lösung entwerfen.
  • Lösungsentwürfe mit der OOP Java und dem Framework BlueJ umsetzen.

 

Methodenkompetenzen:

Die Teilnehmenden können:

  • Prinzipien der OO verstehen und in unterschiedliche Anwendungskontexte übertragen.
  • OO-Modellierung mittels des UML (Unified Modeling Language) Klassendiagramm verstehen.
  • Programmieraufgabenstellungen in methodisch korrekten Schritten lösen.
  • Programmabläufe über Struktogramme und Ablaufdiagramme visualisieren.

 

Selbstkompetenzen:

Die Teilnehmenden können:

  • Problemstellungen systematisch angehen und beharrlich auf eine Lösung hinarbeiten.
  • Wissenslücken selbstständig mit den zur Verfügung stehenden Informationsressourcenschliessen.

 

Sozialkompetenzen:

Die Teilnehmenden können:

  • wird in diesem Modul nicht adressiertModul
Modul- und Lerninhalt:

Themen-/Lernblock I: Einführung in Informatik, Programmierung und die OOP

  • Algorithmische Grundkonzepte
  • Beispiele für Algorithmen und Bausteine für Algorithmen
  • Programmiersprache Java
  • Objekte und Klassen, UML-Modellierung
  • Klassendefinition, Instanzvariablen, Konstruktor, Methoden, Signatur, Schnittstelle
  • Primitive Typen, Objekttypen, Datenstrukturen
  • Kontrollstrukturen: Auswahlanweisungen, Aussagenlogik, Operatoren
  • Objektinteraktion, Methodenaufrufe

 

Themen-/Lernblock II: Objektsammlungen, Bibliotheken, Klassenentwurf

  • Objektsammlungen (Collections und Maps)
  • Kontrollstrukturen: Schleifen (Iteration)
  • Iterator-Objekt
  • Sammlungen fester Grösse (Array)
  • Java Bibliotheksklassen
  • Debugger
  • Aufzählungsklassen
  • OO-Entwurfsprinzipien
  • Klassenentwurf

 

Themen-/Lernblock III: Entwurf, Vererbung, Anwendung

  • Software testen
  • Vererbung, statische/dynamische Typen, Multiple Vererbung, Super-Typen
  • Abstrakte Klassen
  • Interface
  • Grundzüge von grafischen Benutzungsoberflächen
  • Fehlerbehandlung

 

Themen-/Lernblock IV: Anwendung Algorithmen und Datenstrukturen

  • Entwurf von Algorithmen und Algorithmenmuster
  • Komplexität
  • Ausgewählte Algorithmen
Lehr- und Lernmethoden:

Lehrvideos, Lehrgespräch, begleitete Übungs-/Programmierarbeiten

Lehrmittel/-materialien:

Pflichtliteratur:

  • Barnes, D.; Kölling, M. (2017): Java lernen mit BlueJ. Objects first - Eine Einführung in Java (6.Auflage). Hallbergmoos: Pearson
  • Saake, G.; Sattler, K-U. (2020): Algorithmen und Datenstrukturen, Eine Einführung mit Java (6.Auflage). dpunkt.verlag

 

Weiterführende Literatur:

  • Ullenboom, C. (2021): Java ist auch eine Insel. Einführung, Ausbildung, Praxis (16. Auflage). Bonn: Rheinwerk
  • Herold, Helmut et al (2017): Grundlagen der Informatik. 3., aktualisierte Auflage. Hallbergmoos: Pearson.
  • Riesen, K (2020): Java in 14 Wochen: Ein Lehrbuch für Studierende der Wirtschaftsinformatik (1. Auflage). Wiesbaden: Springer Vieweg