|
|
Code: DBWINFO-140 |
|
- |
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]
|
DBWINFO-140 (P730-0025) Wirtschaftsinformatik, Bachelor, ASPO 01.10.2021
, 1. Studienjahr, Pflichtfach
|
Der Gesamtaufwand des Moduls beträgt 300 Arbeitsstunden.
|
Empfohlene Voraussetzungen (Module):
Keine.
|
Als Vorkenntnis empfohlen für Module:
|
Modulverantwortung:
Prof. Dr. Dieter Hofbauer |
Dozent/innen: 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]
|