Syllabus

Titel
5907 Rechnerpraktikum aus Programmierung
LV-Leiter/innen
Dr. Helena Lovasz-Bukvova
Kontakt
  • LV-Typ
    PI
  • Semesterstunden
    2
  • Unterrichtssprache
    Deutsch
Anmeldung
01.02.2019 bis 24.02.2019
Anmeldung über LPIS
Hinweise zur LV
Planpunkt(e) Bachelor
Termine
Wochentag Datum Uhrzeit Raum
Dienstag 05.03.2019 09:00 - 11:30 D2.-1.019 Workstation-Raum
Dienstag 12.03.2019 09:00 - 11:30 D2.-1.019 Workstation-Raum
Dienstag 19.03.2019 09:00 - 11:30 D2.-1.019 Workstation-Raum
Dienstag 26.03.2019 09:00 - 11:30 D2.-1.019 Workstation-Raum
Dienstag 02.04.2019 09:00 - 11:30 D2.-1.019 Workstation-Raum
Dienstag 07.05.2019 09:00 - 11:30 D2.-1.019 Workstation-Raum
Dienstag 14.05.2019 09:00 - 11:30 D2.-1.019 Workstation-Raum
Dienstag 21.05.2019 09:00 - 11:30 D2.-1.019 Workstation-Raum
Dienstag 28.05.2019 09:00 - 11:30 D2.-1.019 Workstation-Raum

Inhalte der LV

Die Veranstaltung baut auf dem vermittelten Wissen aus den "Grundzügen der Modellierung" und "Grundzügen der Programmierung" sowie BIS I und BIS II auf (siehe Vorkenntnisse).

  • Einführung in die KOTLIN Programmiersprache für die Entwicklung von Android Apps
  • Gestaltung von einfachen Android Apps in Android Studio
  • Datenverwaltung in Android Apps mit SQLite
  • Abwicklung eines Softwareprojekts von Anforderungsanalyse (Requirements-Engineering), über Design (UML) bis zur Implementierung und Testverfahren
  • Grundlagen des Managements von Softwareprojekten, insb. agile Softwareentwicklung

Es wird vorausgesetzt, dass die Teilnehmer kleine Programme in einer objektorientierte Programmiersprache wie Python oder Java bereits selbständig schreiben können und UML-Modelle interpretieren sowie erstellen können (siehe Vorkenntnisse für Details).

Lernergebnisse (Learning Outcomes)

Nach einem erfolgreichen Besuch der Veranstaltung, werden Sie folgendes können:

  • die Architektur einer Android-App beschreiben
  • Projekte im Android Studio verwalten
  • UIs in Android gestalten
  • einfaches App-Verhalten mit KOTLIN programmieren können
  • Daten einer Android App mithilfe iener SQLite-Datenbank verwalten können
  • Ablauf eines agilen Software-Engineering-Projekts erklären
  • Vorgehensweise in einem agilen Software-Engineering-Projekts mitgestalten

Regelung zur Anwesenheit

Die Präsenzeinheiten dienen sowohl zur Vermittlung von neuen Wissen als auch zur Übung. In mehreren Einheiten finden notenrelevante Aktivitäten und Abstimmungen statt. Jede Einheit hat ein eigenes Thema und eigene Bedeutung; es wird daher empfohlen, dass Sie alle Einheiten besuchen. Wenn Sie an einer Einheit nicht teilnehmen können, müssen Sie mit dem Verlust der Punkte für die notenrelevante Aktivität (hier werden keine Nachholmöglichkeiten angeboten) bzw. zusätzlichem Aufwand rechnen.

Lehr-/Lerndesign

Die Veranstaltung besteht aus zwei Teilen, Vorbereitung und agiles Projekt, mit unterschiedlichen Lehr-/Lernkonzepten.

  • Vorbereitung: Im ersten Teil der Veranstaltung werden Grundlagen in Form einer Übung vermittelt. Neue Konzepte werden vorgeführt und gemeinsam programmiert anhand eines einfachen Beispiels. Hausübungen werden für die weitere Übung angeboten und es wird erwartet, dass Sie ihr neues Wissen durch selbständige Übung festigen.
  • Agiles Projekt: Im zweiten Teil wird in Großgruppen eine App entwickelt. Zur Steuerung des Projekts wird die Scrum-Vorgehensweise verwendet. In diesem Teil wird es Impulsvorträge zu Projektmanagement in Software Engineering geben, ansonsten arbeiten Sie selbständig bzw. in Abstimmung mit anderen an der Umsetzung der App.
  • Zusätzlich kann ein indovoduelles Projekt durchgeführt werden. Dieser Erfolgt vollständig in Eigenregie.

In beiden Teilen stellen die Präsenzeinheiten nur etwa einen viertel des gesamten Lernaufwands dar. Gehen Sie davon aus, dass Sie für jede Lerneinheit mit ca. 4,5 h Nachbereitung rechnen müssen.

Leistung(en) für eine Beurteilung

Die Beurteilung beruht auf drei Teilleistungen:

Test Programmierung (40 Punkte)
Nach dem ersten Teil der Veranstaltung (in der fünften Lerneinheit) werden Ihre Kenntnisse und Fertigkeiten in einem  Test geprüft. In diesem Test werden sie eine Stunde Zeit haben um eine App nach Vorgaben zu programmieren. Beim Test dürfen Sie alle möglichen Unterlagen verwenden, Sie dürfen sich nur nicht mit jemanden absprechen.

Test Scrum (10 Punkte)
In Vorbereitung auf das agile Projekt lesen Sie sich in selbständig in Unterlagen ein und probieren Werkzeuge, die wir für das Projekt benutzen werden aus. Hierzu füllen Sie dann selbständig einen Single-Choice-Test auf Learn aus.

agiles Projekt (50 Punkte)
Im zweiten Teil der Veranstaltung nehmen Sie als Entwickler oder Scrum Master an einem Projekt in Großgruppe (ca. 10 Personen) Teil. Im Rahmen des Projekts erfüllen Sie Aufgaben und können so bis zu 50 Punkte sammeln.

Bonus: Individualprojekt (10 Punkte)
Sie bekommen zufällig ein App-Thema zugeteilt und führen selbständig eine Design und Coding Sprint durch. Die Anrechnun der Bonuspunkte setzt voraus, dass Sie auch ohne diese Leistung die Veranstaltung bestanden hätten.

Benotung:

ab 90 Punkten: "sehr gut" (1)
ab 75 Punkten: "gut" (2)
ab 60 Punkten: "befriedigend" (3)
ab 50 Punkten: "genügend" (4)
unter 50 Punkten: "nicht genügend" (5)

Teilnahmevoraussetzung(en) und Vergabe von Wartelistenplätzen

Teilnahmevoraussetzungen:

  • Anmeldung über LPIS
  • Nach Ende der Anmeldefrist werden verfügbare LV-Plätze den Studierenden der Warteliste, die noch keine gültige Anmeldung zum Planpunkt haben, gereiht nach Studienfortschritt zugeteilt, nicht nach Wartelistenplatz.
  • Teilnahme an der ersten Einheit (eine Entschuldigung vorab aus schwerwiegenden Gründen wird akzeptiert, vorausgesetzt, dass sie nur die erste Einheit betrifft)

Vergabe von Wartelistenplätzen:

Die Anzahl der Teilnehmer ist durch die Raumkapazität absolut eingeschränkt, eine Anmeldung über die vorgegebene Anzahl der Plätze hinaus ist nicht möglich. Einstieg aus der Warteliste ist nur in der ersten Einheit möglich, falls angemeldete Teilnehmer unentschuldigt fehlen.

Empfohlene inhaltliche Vorkenntnisse

Der Fokus der Veranstaltung liegt auf Entwicklung von Android Apps. Hierfür wird KOTLIN als Programmiersprache vermittelt, allerdings unter der Annahme, dass die Teilnehmenden bereits objektorientiert programmieren können. Die Einarbeitung ins KOTLIN erfolgt sehr zügig, ohne Grundlagen der Programmierung zu erklären. Ebenso werden UML-Modelle zur Visualisierung verwendet. Folgendes Vorwissen und Vorkenntnisse werden vorausgesetzt:

  • Sie sollten das objektorientierte Paradigma erklären und seine Umsetzung in der Programmierung aufzeigen und beschreiben können (z.B. Klassen, Vererbung, Interfaces).
  • Sie sollten in Python oder Java (oder einer anderen objektorientierten Sprache) programmieren können. Es wird erwartet, dass Sie in einer entsprechenden Umgebung kleine Programme erstellen und verwalten können. Insbesondere sollten Sie Umgang mit Datentypen, Datenverwaltung (z.B. Variablen, Arrays), Kontrollelemente (z.B. Verzweigungen, Schleifen), Nutzerinteraktion (Ein- und Ausgabe), Definition von Methoden beherrschen.
  • Sie sollten UML Diagramme interpretieren können sowie die Struktur und Aktivität eines Programms mithilfe geeigneter Diagramme selbständig beschreiben.

Dieses Wissen wird von der ersten Einheit an gebraucht und wird nicht mehr vermittelt. Es wird daher dringend empfohlen, dass Sie die Veranstaltungen "Grundlagen der Programmierung" und "Grundlagen der Modellierung" bereits vor der Veranstaltung besucht haben.

Erreichbarkeit des/der Vortragenden

Vortragende:   Helena Lovasz-Bukvova

E-Mail:      helena.lovasz-bukvova@wu.ac.at

Detailinformationen zu einzelnen Lehrveranstaltungseinheiten

Einheit Datum Inhalte
1

Kursstruktur, Android Studio, Android Architektur

2

Screen Design, Programmierung mit Kotlin

3

Dynamische Screens, Multi-Screen Apps

4

Datenverwaltung mit SQLite

5

Test

6

agiles Projekt: Kick-off

7

agiles Projekt: Integration

8

agiles Projekt: Testen

9

agiles Projekt: Präsentation der Ergebnisse, Ausblick

Zuletzt bearbeitet: 22.01.2019



Zurück