pm-lecture
Lecture "Programmiermethoden"
https://github.com/programmiermethoden-campusminden/pm-lecture
Science Score: 44.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (2.7%) to scientific vocabulary
Keywords
Repository
Lecture "Programmiermethoden"
Basic Info
- Host: GitHub
- Owner: Programmiermethoden-CampusMinden
- License: cc-by-sa-4.0
- Language: Java
- Default Branch: master
- Homepage: https://github.com/Programmiermethoden-CampusMinden/PM-Lecture/blob/_s23/readme.md
- Size: 30.4 MB
Statistics
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 1
- Releases: 0
Topics
Metadata Files
readme.md
haslicense: true nobeamer: true
title: "IFM 2.2: Programmiermethoden (Sommer 2023)"
::: warning
Abkündigung des Moduls "Programmiermethoden"
Das Modul "Programmiermethoden" wurde im Rahmen der Reakkreditierung im Herbst 2023 durch das kleinere Modul "Programmieren 2" ersetzt und kann nicht mehr belegt werden (es werden keine Vorlesungen und keine Praktika mehr für "Programmiermethoden" angeboten).
Die Inhalte von "Programmiermethoden" werden hier für Wiederholende weiterhin gepflegt. Das zugehörige Lernmodul finden Sie im offenen ILIAS-Bereich der HSBI.
Bis zum Auslaufen der zugehörigen Prüfungsordnungen PO10 und PO18 finden auch weiterhin Prüfungen für Wiederholende statt.
Regelung für noch offene Prüfungen
Wer in "Programmiermethoden" noch eine Prüfung benötigt, kann diese in den Prüfungszeiträumen des Sommersemesters (und ggf. des Wintersemesters, falls angeboten) als Klausur nachholen.
Dabei gelten folgende Regelungen (vgl. Mail von Frau Seele vom 28.09.2023) für offene Prüfungsverfahren:
- Parcoursprüfung: Bei einer offenen Parcoursprüfung bildet die Klausur die gesamte Prüfung.
- Performanzprüfung:
- Der praktische Teil der Performanzprüfung entfällt, die Note und CP werden über eine Klausur bestimmt.
- Wenn Sie aber bereits eine Note bzw. CP für den praktischen Teil haben (und nur die theoretische Leistung noch fehlt), dann nehmen Sie an der weiterhin angebotenen Klausur teil und die Gesamtnote wird sich wie bisher aus den beiden Teilnoten zusammensetzen.
Nächste Klausur
Der Termin für die nächste Klausur für "Programmiermethoden" wird über den Prüfplan vom Studierendenservice bekanntgegeben. (vgl. LSF und Ankündigungen) :::
Kursbeschreibung
Sie haben letztes Semester in OOP die wichtigsten Elemente und Konzepte der Programmiersprache Java kennen gelernt.
In diesem Modul geht es darum, diese Kenntnisse sowohl auf der Java- als auch auf der Methoden-Seite so zu erweitern, dass Sie gemeinsam größere Anwendungen erstellen und pflegen können. Sie werden fortgeschrittene Konzepte in Java kennenlernen und sich mit etablierten Methoden in der Softwareentwicklung wie Versionierung von Code, Einhaltung von Coding Conventions, Grundlagen des Softwaretests, Anwendung von Refactoring, Einsatz von Build-Tools und Logging auseinander setzen. Wenn uns dabei ein Entwurfsmuster "über den Weg läuft", werden wir die Gelegenheit nutzen und uns dieses genauer anschauen.
Überblick Modulinhalte
- Fortgeschrittene Konzepte in Java
- Funktionale Programmierung: Default-Methoden, Funktionsinterfaces, Methodenreferenzen, Lambdas, Stream-API
- Generische Programmierung: Generics
- Parallele Programmierung: Threads
- Reguläre Ausdrücke, Annotationen, Reflection
- CLI, Konfiguration, Fremde APIs nutzen
- Fortgeschrittenes OO-Design
- Entwurfsmuster: Strategy, Template-Method, Factory-Method, Singleton, Observer, Visitor, Command, ...
- Programmiermethoden
- Versionskontrolle: Git
- Testen, Coding Conventions, Refactoring
- Logging, Build-Tools, CI
Team
- Carsten Gips
- Tutoren (siehe ILIAS-Mitgliederliste)
Kursformat
Vorlesung (2 SWS)
Fr, 16:30 - 18:00 Uhr (online/J104)
Praktikum (2+1 SWS)
| Praktikumsgruppe | Zeit | Raum | |:-----------------|:----------------------|:------------| | Gruppe 1 | Fr, 09:00 - 10:30 Uhr | online/J104 | | Gruppe 2 | Fr, 13:30 - 15:00 Uhr | online/J104 | | Gruppe 3 | Fr, 15:00 - 16:30 Uhr | online/J104 | | Gruppe 4 | Fr, 10:45 - 12:15 Uhr | online/J104 |
Durchführung als Flipped Classroom: Alle Sitzungen online/per Zoom (Zugangsdaten siehe ILIAS)
Fahrplan
Vorlesung
| Woche | Datum Vorlesung | Themen | Bemerkungen | |:-----:|:------------------------------------------|:------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:-------------------------------------------------------------------------------------------------| | 15 | Fr, 14.04. | Orga (Zoom) || Einführung Versionierung | Git Basics || Lambda-Ausdrücke || Javadoc | | | 16 | Fr, 21.04. | Git: Branches | Branching-Strategies || Gradle || Methodenreferenzen || Strategy-Pattern | | | 17 | Fr, 28.04. | Git: Remotes | Workflows || Stream-API | Optional | | | 18 | Fr, 05.05. | Testen: Einführung | JUnit-Basics | Testfallermittlung | Mocking || Logging | | | 19 | Fr, 12.05. | Code-Smells | Coding-Rules | Refactoring || CI | Gastvortrag zu JUnit/Mocking in der Praxis von Daniel Rosowski (Smartsquare GmbH, Bielefeld) | | 20 | Fr, 19.05. | Serialisierung || Records | Default-Methoden || Docker || Git-Worktree | | | 21 | Fr, 26.05. | Generics: Klassen und Methoden | Bounds und Wildcards | Type Erasure | Polymorphie || Collections | | | 22 | Fr, 02.06. | RegExp || Pattern: Visitor | Observer | Command | | | 23 | Fr, 09.06. | Annotationen | Reflection | Exception-Handling || Singleton-Pattern | | | 24 | Fr, 16.06. | Enumerationen | Konfiguration | ANT || Template-Method-Pattern | Factory-Method-Pattern | | | 25 | Fr, 23.06. | Multi-Threading: Intro Threads | Synchronisierung | Highlevel Threadkonzepte || Maven || Type-Object-Pattern | | | 26 | Fr, 30.06. | Rückblick (Zoom) | Prüfungsvorbereitung | | | 27 | Mi, 05.07. (Start: 09:00 und 11:00 Uhr) | Klausur (Campus Minden, B40) | |
Praktikum
| Woche | Blatt | Abgabe ILIAS und Peer-Feedback (ILIAS) | Vorstellung Praktikum | |:-----:|:-------------------------|:--------------------------------------------------------------|:----------------------| | 16 | B01a | Abgabe: Do, 20.04., 08 Uhr; Peer-Feedback: Fr, 21.04., 08 Uhr | Praktikum: Fr, 21.04. | | 17 | B01b | Abgabe: Do, 27.04., 08 Uhr; Peer-Feedback: Fr, 28.04., 08 Uhr | Praktikum: Fr, 28.04. | | 18 | B02a | Abgabe: Do, 04.05., 08 Uhr; Peer-Feedback: Fr, 05.05., 08 Uhr | Praktikum: Fr, 05.05. | | 19 | B02b | Abgabe: Do, 11.05., 08 Uhr; Peer-Feedback: Fr, 12.05., 08 Uhr | Praktikum: Fr, 12.05. | | 20 | B03a | Abgabe: Do, 18.05., 08 Uhr; Peer-Feedback: Fr, 19.05., 08 Uhr | Praktikum: Fr, 19.05. | | 21 | B03b | Abgabe: Do, 25.05., 08 Uhr; Peer-Feedback: Fr, 26.05., 08 Uhr | Praktikum: Fr, 26.05. | | 22 | B04a | Abgabe: Do, 01.06., 08 Uhr; Peer-Feedback: Fr, 02.06., 08 Uhr | Praktikum: Fr, 02.06. | | 23 | B04b | Abgabe: Do, 08.06., 08 Uhr; Peer-Feedback: Fr, 09.06., 08 Uhr | Praktikum: Fr, 09.06. | | 24 | B05a | Abgabe: Do, 15.06., 08 Uhr; Peer-Feedback: Fr, 16.06., 08 Uhr | Praktikum: Fr, 16.06. | | 25 | B05b | Abgabe: Do, 22.06., 08 Uhr; Peer-Feedback: Fr, 23.06., 08 Uhr | Praktikum: Fr, 23.06. | | 26 | B06 | Abgabe: Fr, 30.06., 08 Uhr | Praktikum: Fr, 30.06. |
Prüfungsform, Note und Credits
Performanzprüfung, 7 ECTS
Praktische Teilleistung: Regelmäßige Bearbeitung der Praktikumsaufgaben, fristgerechte Abgabe der Lösungen (PDF, ZIP, Link) im ILIAS, Erstellung von Peer-Feedback im ILIAS, Vorstellung der Lösungen im Praktikum => Punkte
Notenspiegel:
- 90 Punkte gesamt erreichbar: Zyklus 1 und 2 je 15 Punkte, Zyklus 3 bis 5 je 15+5 Punkte
- 4.0: ab 50% (45.0 Punkte), alle 5% nächste Teilnote, 1.0: ab 95% (85.5 Punkte)
Theoretische Teilleistung: Digitale Klausur ("Klausur") in den Prüfungszeiträumen; Prüfungsvorbereitung.
Gesamtnote: 50% Praxis, 50% Theorie
Wiederholer mit bereits begonnener Parcours-Prüfung absolvieren stattdessen eine Parcours-Prüfung. Bitte melden Sie sich vor Beginn der Praktika per E-Mail beim Dozenten.
Materialien
Literatur
- "Java ist auch eine Insel". Ullenboom, C., Rheinwerk-Verlag, 2021. ISBN 978-3-8362-8745-6.
- "Pro Git (Second Edition)". Chacon, S. und Straub, B., Apress, 2014. ISBN 978-1-4842-0077-3.
- "The Java Tutorials". Oracle Corporation, 2023.
- "Learn Java". Oracle Corporation, 2023.
Tools
- JDK: Java SE 21 (LTS) (Oracle oder Alternativen, bitte 64-bit Version nutzen)
- IDE: Eclipse IDE for Java Developers oder IntelliJ IDEA (Community Edition) oder Visual Studio Code oder Vim oder ...
- Git
Förderungen und Kooperationen
Förderung durch DH.NRW (Digi Fellowships)
Die Überarbeitung dieser Lehrveranstaltung wurde vom Ministerium für Kultur und Wissenschaft (MKW) in NRW im Einvernehmen mit der Digitalen Hochschule NRW (DH.NRW) gefördert: "Fellowships für Innovationen in der digitalen Hochschulbildung" (Digi Fellowships).
Kooperation mit dem DigikoS-Projekt
Diese Vorlesung wird zudem vom Projekt "Digitalbaukasten für kompetenzorientiertes Selbststudium" (DigikoS) unterstützt. Ein vom DigikoS-Projekt ausgebildeter Digital Learning Scout hat insbesondere die Koordination der digitalen Gruppenarbeiten, des Peer-Feedbacks und der Postersessions in ILIAS technisch und inhaltlich begleitet. DigikoS wird als Verbundprojekt von der Stiftung Innovation in der Hochschullehre gefördert.
LICENSE

Unless otherwise noted, this work by Carsten Gips and contributors is licensed under CC BY-SA 4.0. See the credits for a detailed list of contributing projects.
Owner
- Name: Programmiermethoden @ Campus Minden
- Login: Programmiermethoden-CampusMinden
- Kind: organization
- Repositories: 1
- Profile: https://github.com/Programmiermethoden-CampusMinden
Vorlesungen "Programmiermethoden" und "Programmieren 2" (HSBI)
Citation (CITATION.cff)
# This CITATION.cff file was generated with cffinit.
# Visit https://bit.ly/cffinit to generate yours today!
cff-version: 1.2.0
title: Lecture "Programmiermethoden"
message: >-
If you use this lecture material, please cite it using the
metadata from this file.
type: software
authors:
- given-names: Carsten
family-names: Gips
email: cagix@hsbi.de
affiliation: HSBI
orcid: 'https://orcid.org/0000-0002-4230-9060'
repository-code: >-
https://github.com/Programmiermethoden-CampusMinden/PM-Lecture
abstract: >-
This represents the lecture material for the lecture
"Programmiermethoden", a course developed and taught at
Bielefeld University of Applied Sciences.
keywords:
- java
- git
- refactoring
- testing
- clean code
- oer
license: CC-BY-SA-4.0
GitHub Events
Total
- Issues event: 1
- Delete event: 10
- Issue comment event: 1
- Push event: 44
- Pull request event: 1
- Pull request review event: 3
- Create event: 10
Last Year
- Issues event: 1
- Delete event: 10
- Issue comment event: 1
- Push event: 44
- Pull request event: 1
- Pull request review event: 3
- Create event: 10
Dependencies
- actions/checkout v5 composite
- cagix/pandoc-lecture-zen master composite
- peaceiris/actions-gh-pages v4 composite
- actions/checkout v5 composite
- cagix/pandoc-lecture-zen master composite
- peaceiris/actions-gh-pages v4 composite
- actions/checkout v5 composite
- cagix/pandoc-lecture-zen master composite
- peaceiris/actions-gh-pages v4 composite
- actions/checkout v5 composite
- cagix/pandoc-lecture-zen master composite
- peaceiris/actions-gh-pages v4 composite
- actions/checkout v5 composite
- cagix/pandoc-lecture-zen master composite
- ubuntu latest build
- commons-cli:commons-cli 1.5.0
- junit:junit 4.13.2
- junit:junit 4.13.2 test
- io.javalin:javalin 4.5.0 implementation
- org.slf4j:slf4j-simple 1.8.0-beta4 implementation
- junit:junit 4.13.2 testImplementation
- org.mockito:mockito-core 4.5.1 testImplementation