|
Einführung in die Programmierung (Berrendorf)
|
Modulverantwortliche(r): |
Prof. Dr. Rudolf Berrendorf |
Dozenten: | Prof. Dr. Rudolf Berrendorf (V, Ü) Moritz Balg (Ü) M.Sc. Javed Razzaq (Ü) |
Zuordnung: |
Bachelor Informatik, 1. Semester, BI-PSE
(9 CP)
Bachelor Wirtschaftsinformatik, 1. Semester, BWI-INF
(9 CP)
Bachelor Cyber Security & Privacy, 1. Semester, BCSP-PSE
(9 CP)
|
Modul(e): |
BCSP-1-PSE-1, BI-1-PSE-1, BWI-1-INF-1
|
SWS: |
Vorlesung: 4 / Übung: 3
|
Arbeitsaufwand: |
Präsenzstudium: 105 Stunden / Eigenstudium: 165 Stunden
|
Sprache: |
Deutsch |
Vorausgesetzte Vorkenntnisse: |
Allgemeine Soft Skills wie Leistungsbereitschaft, Zielverfolgung und Arbeitseffizienz. |
Angestrebte Lernergebnisse: |
Studierende kennen und beherrschen die grundlegenden Sprachkonzepte der Programmiersprache Java. Sie kennen und beherrschen alle primitiven Datentypen und Kontrollstrukturen und verstehen, diese sinnvoll einzusetzen. Anhand ausgewählter Klassen (z.B. String) kennen Studierende weiterhin das Konzept von Referenztypen sowie ein- und mehrdimensionale Felder.
Sie kennen grundlegende Konzepte der Objektorientierten Programmierung wie Klassen, Objekte, Vererbung, abstrakte Klassen und Schnittstellen, sowie die Fehlerbehandlung über Exceptions. Für einfache und/oder begrenzt-umfangreiche Problemstellungen erkennen sie die Anwendbarkeit dieser Konzepte und können diese auch in Programmcode umsetzen.
Studierende besitzen nach Abschluss dieser Veranstaltung grundlegende Kenntnisse zu einfachen Entwurfsprinzipien von Algorithmen und können Algorithmen zu einfachen Problemstellungen selbst entwerfen.
Grundansätze der formalen Zusicherung von Programmeigenschaften und Unterschiede zum Testen sind den Studierenden bekannt.
|
Inhalt: |
In dieser einführenden Veranstaltung lernen die Studierenden Grundkonzepte von Programmiersprachen und deren sinnvolle Nutzung anhand der Programmiersprache Java. Studierende kennen den systematischen Aufbau von Programmiersprachen (Syntax und Semantik; Ausdruck, Anweisung) und die Notwendigkeit der maschinellen Übersetzung eines Programms.
Die grundlegenden Datentypen (primitive Datentypen, Feld, String) und Kontrollstrukturen sowie das Variablenkonzept werden vermittelt. Darauf aufbauend werden wesentliche objektorientierte Programmiertechniken (u.a. Klassenkonzept, Datenkapselung, Vererbung, Schnittstellen, Polymorphismus) eingeführt. Einfache Entwurfsprinzipien für Algorithmen und deren Abbildung in Programmkonstrukte werden vorgestellt.
Inhalte:
- Algorithmenbegriff und Darstellungsmöglichkeiten von Algorithmen (z.B. Aktivitätsdiagramme)
- Systematischer Aufbau von Programmiersrpachen, Beschreibung durch z.B. Grammatiken, (E)BNF oder Syntaxdiagramme, Prozess der maschinellen Übersetzung
- Ein-/Ausgabe über Konsole/Bildschirm
- Primitive Datentypen und Ausdrücke
- Kontrollstrukturen
- Methoden, Rekursion, Strategien der Parameterübergabe
- Felder und einfache Algorithmen auf Feldern
- Referenzen
- Abstrakte Datentypen
- Konzepte der Objektorientierten Programmierung (Datenkapselung, Klasse/Instanz, Vererbung und Klassenhierarchien, Schnittstelle und abstrakte Klasse, Methodenbindung, Polymorphismus, Zugriffsrechte, Typanpassung, Finalisieren, Exception, Paket)
- Einfache Lösungsstrategien (erschöpfende Suche, Greedy-Ansatz, Backttracking)
|
Studienleistung: |
Prüfung
Die Prüfung wird in Form einer schriftlichen Klausur durchgeführt.
Für die Zulassung zur Prüfung müssen jeweils mindestens 50% der Punkte aus den Programmieraufgaben der letzten Veranstaltung zu diesem Fach erreicht werden, die der Prüfung vorausgeht.
|
Medienformen: |
Vorlesungsfolien, ggfs. Skript, Übungsaufgaben, Beispielprogramme, Musterklausuren mit Lösungen, Aufgabensammlung mit Musterlösungen, monatliche Selbsttests mit Musterlösungen, gemeinsam entwickelte Beispielprogramme, individuelle Unterstützung bei der Bearbeitung von Aufgaben in Übungen |
Literatur: |
- Skript
- Robert Sedgewick, Kevin Wayne: Einführung in die Programmierung mit Java. Pearson Studium, München, 2012
- Christian Ullenboom: Java ist auch eine Insel. 13. Auflage, Rheinwerk Computing, 2017
- Joachim Goll, Cornelia Heinisch: Java als erste Programmiersprache. 8. Auflage, Springer Verlag, 2016
- Java - Grundlagen und Einführung (1.Band), RRZN Hannover
Weitere aktuelle Literatur wird zu Beginn der Veranstaltung vorgestellt. |
URL: |
https://berrendorf.inf.h-brs.de/lehre/ws2122/eidp/eidp.html |
LEA-Kurs: |
https://lea.hochschule-bonn-rhein-sieg.de/goto.php?target=crs_1090993&client_id=db_040811 |
Bitte entnehmen Sie Termin- und Ortsangaben dem aktuellen Stundenplan.
|
|