UnivIS
Informationssystem der Friedrich-Alexander-Universität Erlangen-Nürnberg © Config eG 
FAU Logo
  Sammlung/Stundenplan    Modulbelegung Home  |  Rechtliches  |  Kontakt  |  Hilfe      
Suche:      Semester:   
 Lehr-
veranstaltungen
   Personen/
Einrichtungen
   Räume   Forschungs-
bericht
   Publi-
kationen
   Internat.
Kontakte
   Examens-
arbeiten
   Telefon &
E-Mail
 
 
 Darstellung
 
Druckansicht

 
 
Modulbeschreibung (PDF)

 
 
 Außerdem im UnivIS
 
Vorlesungs- und Modulverzeichnis nach Studiengängen

Vorlesungsverzeichnis

 
 
Veranstaltungskalender

Stellenangebote

Möbel-/Rechnerbörse

 
 
Einrichtungen >> Faculty of Engineering >> Department of Computer Science >> Professorship for Open Source Software >>

Advanced Design and Programming (5-ECTS) (OSS-ADAP)5 ECTS
(englische Bezeichnung: Advanced Design and Programming (5-ECTS))

Modulverantwortliche/r: Dirk Riehle
Lehrende: Dirk Riehle


Startsemester: WS 2021/2022Dauer: 1 SemesterTurnus: jährlich (WS)
Präsenzzeit: 60 Std.Eigenstudium: 90 Std.Sprache: Deutsch

Lehrveranstaltungen:


Empfohlene Voraussetzungen:

INF-AuD or compatible / equivalent course

Inhalt:

This course teaches principles and practices of advanced object-oriented design and programming.

Dieser Kurs wird auf Deutsch gehalten.

It consists of a weekly lecture with exercises, homework and self-study. This is a hands-on course and students should be familiar with their Java IDE.

Students learn the following concepts:

Class-Level

  • Method design

  • Class design

  • Classes and interfaces

  • Subtyping and inheritance

  • Implementing inheritance

  • Design by contract

Collaboration-Level

  • Values vs. objects

  • Role objects

  • Type objects

  • Object creation

  • Collaboration-based design

  • Design patterns

Component-Level

  • Error handling

  • Meta-object protocols

  • Frameworks and components

  • Domain-driven design

  • API evolution

The running example is the photo sharing and rating software Wahlzeit, see https://github.com/dirkriehle/wahlzeit

Class is held as a three hour session with a short break in between. Students should have a laptop ready with a working Java programming setup.

Schedule and sign-up are available at https://oss.cs.fau.de/oss-adap-course . Please sign up for the course on StudOn (available through previous link) as soon as possible.

This course will be taught online. Please see the course management system for a link to the online lecture hall.

Lernziele und Kompetenzen:

  • Students learn to recognize, analyze, and apply advanced concepts of object-oriented design and programming
  • Students learn to work effectively with a realistic tool set-up, involving an IDE, configuration management, and a service hoster

Literatur:


Verwendbarkeit des Moduls / Einpassung in den Musterstudienplan:
Das Modul ist im Kontext der folgenden Studienfächer/Vertiefungsrichtungen verwendbar:

  1. Artificial Intelligence (Master of Science)
    (Po-Vers. 2021s | TechFak | Artificial Intelligence (Master of Science) | Gesamtkonto | Wahlpflichtmodulbereich | AI Systems and Applications | Advanced Design and Programming (5-ECTS))
  2. Computational Engineering (Rechnergestütztes Ingenieurwesen) (Bachelor of Science)
    (Po-Vers. 2010 | TechFak | Computational Engineering (Rechnergestütztes Ingenieurwesen) (Bachelor of Science) | Gesamtkonto | Technische Wahlmodule | Advanced Design and Programming (5-ECTS))
  3. Computational Engineering (Rechnergestütztes Ingenieurwesen) (Bachelor of Science)
    (Po-Vers. 2010 | TechFak | Computational Engineering (Rechnergestütztes Ingenieurwesen) (Bachelor of Science) | Gesamtkonto | Seminar Informatik für CE | Advanced Design and Programming (5-ECTS))
  4. Data Science (Bachelor of Science)
    (Po-Vers. 2020w | Kernmodule Data Science | Wahlpflichtmodul Projekt Data Sciences | Advanced Design and Programming (5-ECTS))
  5. Informatik (Bachelor of Arts (2 Fächer))
    (Po-Vers. | TechFak | Informatik (Bachelor of Arts (2 Fächer)) | Hauptseminar | Advanced Design and Programming (5-ECTS))
  6. Informatik (Bachelor of Arts (2 Fächer))
    (Po-Vers. 2010 | TechFak | Informatik (Bachelor of Arts (2 Fächer)) | Vertiefung Informatik I und II | Vertiefungsmodul Software Engineering | Advanced Design and Programming (5-ECTS))
  7. Informatik (Bachelor of Arts (2 Fächer))
    (Po-Vers. 2013 | TechFak | Informatik (Bachelor of Arts (2 Fächer)) | Hauptseminar | Advanced Design and Programming (5-ECTS))
  8. Informatik (Bachelor of Arts (2 Fächer))
    (Po-Vers. 2013 | TechFak | Informatik (Bachelor of Arts (2 Fächer)) | Vertiefung Informatik I und II | Vertiefungsrichtung Software Engineering | Advanced Design and Programming (5-ECTS))
  9. Informatik (Bachelor of Science)
    (Po-Vers. | TechFak | Informatik (Bachelor of Science) | Gesamtkonto | Hauptseminar | Advanced Design and Programming (5-ECTS))
  10. Informatik (Bachelor of Science)
    (Po-Vers. | TechFak | Informatik (Bachelor of Science) | Hauptseminar | Advanced Design and Programming (5-ECTS))
  11. Informatik (Bachelor of Science)
    (Po-Vers. 2009s | TechFak | Informatik (Bachelor of Science) | Wahlpflichtbereich (5. und 6. Semester) | Wahlpflichtmodule | Vertiefungsrichtung Software Engineering | Advanced Design and Programming (5-ECTS))
  12. Informatik (Bachelor of Science)
    (Po-Vers. 2009w | TechFak | Informatik (Bachelor of Science) | Gesamtkonto | Hauptseminare, Praktika, Bachelorarbeit | Hauptseminar | Advanced Design and Programming (5-ECTS))
  13. Informatik (Bachelor of Science)
    (Po-Vers. 2009w | TechFak | Informatik (Bachelor of Science) | Gesamtkonto | Wahlpflichtbereich (5. und 6. Semester) | Wahlpflichtmodule | Vertiefungsrichtung Software Engineering | Advanced Design and Programming (5-ECTS))
  14. Informatik (Master of Science)
    (Po-Vers. 2010 | TechFak | Informatik (Master of Science) | Gesamtkonto | Hauptseminar, Projekt, Masterarbeit | Hauptseminar | Advanced Design and Programming (5-ECTS))
  15. Informatik (Master of Science)
    (Po-Vers. 2010 | TechFak | Informatik (Master of Science) | Gesamtkonto | Wahlpflichtbereich | Säule der softwareorientierten Vertiefungsrichtungen | Vertiefungsrichtung Software Engineering | Advanced Design and Programming (5-ECTS))
  16. International Information Systems (IIS) (Master of Science)
    (Po-Vers. 2014w | ReWiFak | International Information Systems (IIS) (Master of Science) | Informatics | Informatics Electives | Applied Software Engineering II | Advanced Design and Programming (5-ECTS))
  17. International Information Systems (IIS) (Master of Science)
    (Po-Vers. 2017w | ReWiFak | International Information Systems (IIS) (Master of Science) | Gesamtkonto | Informatics | Informatics Electives | Applied Software Engineering II | Advanced Design and Programming (5-ECTS))
  18. International Information Systems (IIS) (Master of Science)
    (Po-Vers. 2018w | ReWiFak | International Information Systems (IIS) (Master of Science) | Informatics | Core courses (Informatics) | Architectures and development (Informatics - Core) | Advanced Design and Programming (5-ECTS))
  19. International Information Systems (IIS) (Master of Science)
    (Po-Vers. 2018w | ReWiFak | International Information Systems (IIS) (Master of Science) | Informatics | Electives (Informatics) | Architectures and development (Informatics - Elective) | Advanced Design and Programming (5-ECTS))
  20. International Information Systems (IIS) (Master of Science)
    (Po-Vers. 2021w | ReWiFak | International Information Systems (IIS) (Master of Science) | Gesamtkonto | Informatics | Architectures and development - Informatics | Advanced Design and Programming (5-ECTS))
  21. Maschinenbau (Bachelor of Science)
    (Po-Vers. 2009w | TechFak | Maschinenbau (Bachelor of Science) | Maschinenbau | Gesamtkonto | Wahlmodule | Technische Wahlmodule | Advanced Design and Programming (5-ECTS))
  22. Maschinenbau (Master of Science)
    (Po-Vers. 2007 | TechFak | Maschinenbau (Master of Science) | Studienrichtungen Allgemeiner Maschinenbau, Fertigungstechnik, und Rechnergestützte Produktentwicklung | Gesamtkonto | Wahlmodule | Technische Wahlmodule | Advanced Design and Programming (5-ECTS))
  23. Mathematik (Bachelor of Science)
    (Po-Vers. | NatFak | Mathematik (Bachelor of Science) | Module des Nebenfachs | Nebenfach Informatik | Vertiefungsmodule | Vertiefungsrichtung Software Engineering | Advanced Design and Programming (5-ECTS))
  24. Mathematik (Bachelor of Science)
    (Po-Vers. 2019w | NatFak | Mathematik (Bachelor of Science) | weitere Module der Bachelorprüfung | Module des Nebenfachs | Nebenfach Informatik | Vertiefungsmodule | Vertiefungsrichtung Software Engineering | Advanced Design and Programming (5-ECTS))
  25. Mechatronik (Master of Science)
    (Po-Vers. 2012 | TechFak | Mechatronik (Master of Science) | Mechatronik (Studienbeginn bis 30.09.2020) | Gesamtkonto | M3 Technische Wahlmodule | Advanced Design and Programming (5-ECTS))
  26. Mechatronik (Master of Science)
    (Po-Vers. 2020w | TechFak | Mechatronik (Master of Science) | Mechatronik (Studienbeginn ab 01.10.2020) | Gesamtkonto | M3 Technische Wahlmodule | Advanced Design and Programming (5-ECTS))
  27. Mechatronik (Master of Science)
    (Po-Vers. 2021w | TechFak | Mechatronik (Master of Science) | Mechatronik (Studienbeginn ab 01.10.2021) | Gesamtkonto | M3 Technische Wahlmodule | Advanced Design and Programming (5-ECTS))
  28. Wirtschaftsinformatik (Bachelor of Science)
    (Po-Vers. 2017w | ReWiFak | Wirtschaftsinformatik (Bachelor of Science) | Gesamtkonto | Vertiefungsbereich | Advanced Design and Programming (5-ECTS))
  29. Wirtschaftsinformatik (Bachelor of Science)
    (Po-Vers. 2018w | ReWiFak | Wirtschaftsinformatik (Bachelor of Science) | Gesamtkonto | Vertiefungsbereich | Advanced Design and Programming (5-ECTS))
  30. Wirtschaftsinformatik (Bachelor of Science)
    (Po-Vers. 2020w | ReWiFak | Wirtschaftsinformatik (Bachelor of Science) | Gesamtkonto | Wahlpflichtbereiche | Wahlpflichtbereich Informatik | Advanced Design and Programming (5-ECTS))

Studien-/Prüfungsleistungen:

Advanced Design and Programming (5-ECTS) (Prüfungsnummer: 70081)

(englischer Titel: Advanced Design and Programming (5-ECTS))

Prüfungsleistung, mehrteilige Prüfung, benotet
Anteil an der Berechnung der Modulnote: 100.0 %
weitere Erläuterungen:
  • Class quizzes: 10% (Every week except first week; each quiz takes 10 minutes. Each quiz consists of 5 questions at 2 points each)
  • Homework assignments: 40% (Every week except first week)

  • Oral exam: 50% (Once, 30 min. Can be dropped, if you and we agree)

Prüfungssprache: Deutsch

Erstablegung: WS 2021/2022
1. Prüfer: Dirk Riehle

UnivIS ist ein Produkt der Config eG, Buckenhof