Software Development I
Steckbrief
Level: Bachelor Pflichtmodul
Sprache: Deutsch
Moodle Kurs: Softwareentwicklung 1 - WiSe23/24
STINE: Softwareentwicklung I (Vorlesung)
Professor
Lehrassistenten
- Volodymyr Biryuk
Inhalte
Im Modul Softwareentwicklung I (SE1) erläutern wir die grundlegenden Methoden und Konzepte der Softwareentwicklung. Dieses Modul ist eine Einstiegsveranstaltung in die Programmierung und findet regelmäßig im Wintersemester statt. Wir führen die Studierenden in die imperative und objektorientierte Programmierung mit Java ein. Außerdem werden elementare Algorithmen und Datenstrukturen und der Umgang mit Bibliotheken und das Testen von Software behandelt.
Voraussichtliche Klausurtermine:
- Klausur: Mi, 21.02.2024, 09:30-11:00 Uhr
- Klausur: Mi, 20.03.2024, 09:30-11:00 Uhr
Aktuelle Informationen befinden sich auf der Fachbereichsseite.
Curriculum
Thema | Keywords |
---|---|
Imperative Grundkonzepte 1 | Zusammengesetzte Befehle, Fallunterscheidung, Zählschleife |
Imperative Grundkonzepte 2 |
Weiteres zur Fallunterscheidung, Boolsche Junktoren, Schleifen |
Imperative Grundkonzepte II | Algorithmus, Parameterübergabe |
Elementare Typen | Typen, Literale, Boolesche Algebra, Gleitkommazahlen |
UML & Strukturierte Programmierung | Notation, Klassendiagramm, Objektdiagramm |
Statische und dynamische Eigenschaften & Rekursion | Laufzeit, Übersetzungszeit, Sichtbarkeitsbereich & Aufrufstack, Anwendungen |
Strings & Reguläre Ausdrücke | Zeichenketten vergleichen, formale Sprachen |
Klassen, Typen, Interfaces & Testen | Kapselung, Statischer- Dynamischer Typ & Black-Box, White-Box, JUnit |
Arrays und Klassenmethoden | Erzeugung, Indizierung, erweiterte for-Schleife, zweidimensionale Arrays, Vor-/Nachteile & Klassenoperationen mit static, main-Methode |
Sammlungen |
Objektsammlungen, Listen, Mengen, Java-API, equals-Methode, Wrapper-Klassen, (Un)Boxing |
Listen- und Mengenimplementation | einfach/doppelt verkettete Listen, Mengen, Breiten-/Tiefensuche, Komplexität |
Stacks, Queues, Sortieren | Stack-Interface, Schlangen, Quicksort, Bubblesort |
Klausurvorbereitung | Fragen, Allgemeine Informationen zur Klausur, Beispielfragen |
Lernziele
Die Teilnehmer lernen das grundlegende Handwerkszeug der Programmierung in kleinen Projekten und das Erklären von eigenen Lösungsansätze. Sie lernen die gängigen Programmierwerkzeuge wie Compiler und Editoren sowie deren Grenzen kennen. Sie sollen die Konzepte der Programmierung unabhängig von einer konkreten Programmiersprache verstehen, grundlegende Datenstrukturen kennen, einen ersten Eindruck vom Komplexitätsbegriff haben und die Tragweite von Tests abschätzen können.
Literatur
Barnes, Kölling: Java lernen mit BlueJ: Objects First – eine Einführung in Java, 6. Auflage, Pearson Education Deutschland, 2017.
Goll, Heinisch: Java als erste Programmiersprache: Grundkurs für Hochschulen, 8. Auflage, Springer Vieweg, 2016.
Schiedermeier: Programmieren mit Java, 2. Auflage, Pearson Education Deutschland, 2010.
Alle Literaturquellen sind in der Bibliothek verfügbar. Für das Buch "Java als erste Programmiersprache: Grundkurs für Hochschulen" von Goll & Heinisch ist auch eine Online-Version im Campus-Katalog vorhanden.