622.060 (24S) Clean Code
Überblick
- Lehrende/r
- Tutor/in/Innen
- LV-Titel englisch Clean Code
- LV-Art Vorlesung-Kurs (prüfungsimmanente LV )
- LV-Modell Präsenzlehrveranstaltung
- Semesterstunde/n 2.0
- ECTS-Anrechnungspunkte 4.0
- Anmeldungen 25 (25 max.)
- Organisationseinheit
- Unterrichtssprache Deutsch
- LV-Beginn 05.03.2024
- eLearning zum Moodle-Kurs
Zeit und Ort
LV-Beschreibung
Intendierte Lernergebnisse
Eine erfolgreiche Absolvierung dieser Lehrveranstaltung befähigt Studierende:
- die grundlegenden Ideen und Prinzipien von Clean Code zu erklären
- die Richtlinien von Clean Code zu erklären, wie z.B. Intention-Revealing Names, Command Query Separation, Exception Handling, Clean Tests, Emergent Design und Concurrency
- die Richtlinien von Clean Code für die Implementierung von Programmen anzuwenden
Lehrmethodik
Vorlesung, Diskussionen, Übungsaufgaben
Inhalt/e
In der Vorlesung behandeln wir folgende Themen:
- Motivation für Clean Code
- Meaningful Names
- Implementieren von Funktionen/Methoden
- Kommentare
- Error Handling
- Clean Tests
- Design von Klassen
- Emergent Design
- Concurrency
Erwartete Vorkenntnisse
Java Kenntnisse sind erforderlich. Folgende LVen sollten besucht worden sein: ESOP, OMI und SE1
Literatur
Robert C. Martin, Clean Code: A Handbook of Agile Software Craftsmanship, Pearson, 2008
Prüfungsinformationen
Prüfungsmethode/n
Praktische Beispiele und Online-Klausur.
Jenen Studierenden, deren Online-Klausur am 1. Termin negativ beurteilt wird oder die am 1. Termin nachweislich nicht teilnehmen konnten, wird ein 2. Klausurtermin bis spätestens 31. Oktober angeboten.
Prüfungsinhalt/e
Alle Inhalte der Vorlesung
Beurteilungskriterien/-maßstäbe
Die Note ergibt sich aus:
- 2 praktische Beispiele (2x30 = 60 Punkte)
- Online-Klausur (40 Punkte)
Bitte beachten, der Einsatz von AI-Tools in diesem Kurs ist nur als Unterstützung beim Finden der Lösungen für die Übungsaufgaben erlaubt, nicht aber zur Generierung von grossen Teilen (z.B. ganze Methoden) oder vollständigen Lösungen. Die Studierenden verpflichten sich, den Einsatz von AI-Tools zur Lösung der Übungsaufgaben offenzulegen und die von der AI generierten Code-Teile entsprechend zu kennzeichnen (z.B. durch Kommentare im Source Code ). Darüber hinaus übernehmen die Studierenden die alleinige Verantwortung für den erzeugten Code.
Beurteilungsschema
Note BenotungsschemaPosition im Curriculum
- Bachelorstudium Angewandte Informatik
(SKZ: 511, Version: 19W.2)
-
Fach: Softwareentwicklung
(Wahlfach)
-
8.8 Softwareentwicklung (
0.0h XX / 12.0 ECTS)
- 622.060 Clean Code (2.0h VC / 4.0 ECTS) Absolvierung im 4., 5., 6. Semester empfohlen
-
8.8 Softwareentwicklung (
0.0h XX / 12.0 ECTS)
-
Fach: Softwareentwicklung
(Wahlfach)