htw saar
Zurück zur Hauptseite

Version des Moduls auswählen:
XML-Code

Programmierung

Modulbezeichnung: Programmierung
Studiengang: Wirtschaftsinformatik, Bachelor, ASPO 01.10.2021
Code: DBWINFO-140
SWS/Lehrform: -
ECTS-Punkte: 10
Studienjahr: 1
Pflichtfach: ja
Arbeitssprache:
Deutsch
Prüfungsart:
Klausur (150 Minuten, davon 70 Min. für Programmierung I, 50 Min. für Programmierung II und 30
Min. für Algorithmen und Datenstrukturen)
Pro Bearbeitungsminute ist ein Punkt zu vergeben.

[letzte Änderung 27.09.2021]
Verwendbarkeit / Zuordnung zum Curriculum:
DBWINFO-140 Wirtschaftsinformatik, Bachelor, ASPO 01.10.2021, 1. Semester, Pflichtfach
Arbeitsaufwand:
Der Gesamtaufwand des Moduls beträgt 300 Arbeitsstunden.
Empfohlene Voraussetzungen (Module):
Keine.
Als Vorkenntnis empfohlen für Module:
Modulverantwortung:
Prof. Dr. Dieter Hofbauer
Dozent: Prof. Dr. Dieter Hofbauer

[letzte Änderung 01.09.2021]
Lernziele:
Programmierung I:
 
Die Studierenden verstehen die Grundlagen der Programmierung. Alle Konzepte der imperativen
Programmierung sind bekannt und können von den Studierenden auf neue algorithmische Probleme eigenständig angewendet werden. Die Studierenden sind mit den wichtigsten objektorientierten Konzepten vertraut, insbesondere mit dem Prinzip der Datenkapselung, und sie haben die Grundlagen der objektorientierten Programmierung verinnerlicht. Der Einsatz einer modernen objektorientierten Sprache wie Java und einer einfachen integrierten Entwicklungsumgebung, etwa
BlueJ, wird im Wesentlichen beherrscht.
 
Programmierung II:
 
Die Studierenden kennen fortgeschrittene Konzepte objektorientierter Programmierung wie Vererbung und Polymorphie. Der Einsatz einer modernen objektorientierten Sprache, etwa Java, und einer professionellen integrierten Entwicklungsumgebung, etwa Eclipse, wird routiniert beherrscht.
Die entsprechende Klassenbibliothek ist ihnen vertraut und kann für eigene Zwecke eingesetzt
werden. Die Studierenden sind in der Lage, graphische Benutzungsoberflächen plattformunabhängig zu realisieren und dabei Grundprinzipien benutzerfreundlicher Gestaltung zu berücksichtigen.
Die Studierenden verstehen die Bedeutung grundlegender UML-Konzepte (Unified Modeling Language) für die objektorientierte Modellierung, insbesondere von Klassen- und Objektdiagrammen.
Sie verfügen über die Fähigkeit, ein vorgegebenes OO-Modell zu implementieren.
 
Algorithmen und Datenstrukturen:
 
Die Studierenden kennen grundlegende Datenstrukturen, insbes. Listen, Bäume und Graphen, und
deren Verwendung sowie ausgewählte Algorithmen aus unterschiedlichen Anwendungsbereichen.
Sie sind in der Lage, diese Algorithmen auf Beispiele anzuwenden. Die Studierenden sind fähig,
unter konkurrierenden Algorithmen nach geeigneten Kriterien auszuwählen; insbesondere ist die
Fähigkeit geschult, die in einer Klassenbibliothek bereitgestellten Algorithmen und Datenstrukturen
zweckgemäß zu verwenden. Die Studierenden können den Aufwand einfacher Algorithmen abschätzen, der Umgang mit Notationen der asymptotischen Aufwandsabschätzung wird beherrscht.

[letzte Änderung 27.09.2021]
Inhalt:
Programmierung I:
 
1. Programmierparadigmen und Programmiersprachen im Überblick
2. Problemspezifikation, Algorithmenentwurf, Implementierung
3. Syntax und Semantik
4. Einführung in die objektorientierte Analyse und Modellierung
5. Objektorientierte Prinzipien und Konzepte: Datenkapselung und Information Hiding, Klassen und Objekte, Methoden und
   Konstruktoren
6. Imperative Konzepte: Grundtypen, Variablen, Operatoren, Ausdrück; Arrays
7. Imperative Kontrollstrukturen: Verzweigungen, Schleifen; Iteration versus Rekursion
8. Referenzen; Zuweisung und Gleichheit
9. Parameterübergabemechanismen
10. Zeichenketten; Ein- und Ausgabeströme
11. Speicherbereinigung
12. Werkzeuge einer einfachen integrierten Entwicklungsumgebung (IDE): Editor, Compiler, Interpreter
Durchgehend praktische Übungen mit der Sprache Java und einer einfachen integrierten Entwicklungsumgebung, etwa BlueJ
  
Programmierung II:
 
1. Vererbung und Polymorphie
2. Abstrakte Klassen und Interfaces
3. Ausnahmen und Ausnahmebehandlung (Exception-Handling)
4. Zusicherungen (Assertions); Pre- und Postconditions
5. Klassenbibliothek von Java
6. Dateien und Ströme
7. Graphische Benutzungsoberflächen (GUI) und Ereignisbehandlung
8. Prinzipien benutzerfreundlicher Oberflächengestaltung
9. Model-View-Control; Entwurfsmuster Observer
10. Fortgeschrittene IDE-Werkzeuge, insbes. Test und Debugging
Algorithmen und Datenstrukturen:
1. Grundlegende Datenstrukturen: Listen (insb. als Keller oder Schlange), Bäume, Graphen
2. Ausgewählte Algorithmen: Such-, Sortier-, Graphalgorithmen
3. Rechenzeit und Speicherplatz als Aufwandsmaße; asymptotische Aufwandsschätzung
4. Sammlungstypen (Collections)
5. Generische Typen (Generics)
Durchgehend praktische Übungen mit Java und einer professionellen integrierten Entwicklungsumgebung, etwa Eclipse.

[letzte Änderung 27.09.2021]
Weitere Lehrmethoden und Medien:
Vorlesung, praktische Übungen

[letzte Änderung 27.09.2021]
Literatur:
• Barnes, David J./Kölling, Michael: Java lernen mit BlueJ: Objects first – Eine Einführung in die
  objektorientierte Programmierung; Pearson; München
• Goll, Joachim/Heinisch, Cornelia: Java als erste Programmiersprache – Grundkurs für Hochschulen; Springer Vieweg;
  Wiesbaden
• Inden, Michael: Der Weg zum Java-Profi – Konzepte und Techniken für die professionelle Java-Entwicklung; dpunkt;
  Heidelberg
• Krüger, Guido/Hansen, Heiko: Java-Programmierung – Das Handbuch zu Java 8; O’Reilly; Köln
• Saake, Gunter/Sattler, Kai-Uwe: Algorithmen und Datenstrukturen – Eine Einführung mit Java; dpunkt; Heidelberg
• Schiedermeier, Reinhard: Programmieren mit Java; Pearson Studium; München
• Schiedermeier, Reinhard: Programmieren mit Java II; Pearson Studium; München
• Ullenboom, Christian: Java ist auch eine Insel – Einführung, Ausbildung, Praxis; Rheinwerk; Bonn

[letzte Änderung 27.09.2021]
[Wed Aug 10 10:30:09 CEST 2022, CKEY=apk, BKEY=aswwinf, CID=DBWINFO-140, LANGUAGE=de, DATE=10.08.2022]