Semester
|
Siehe Studienverlaufsplan
|
Art des Moduls / Module Type
|
Pflicht
|
Modulverantwortung / Module Responsibility
|
Prof. Dr. Axel Lamprecht
|
Modulsprache / Module Language
|
Deutsch / Englisch
|
Veranstaltungsturnus / Course Frequency
|
Mind. 1 x jährlich
|
Dauer der Veranstaltung / Course Duration
|
1 Semester
|
Arbeitsaufwand / Workload
|
150 Std.
Präsenz: 32 Std. | Selbststudium: 56 Std. | Transfer: 62 Std.
|
ECTS-Punkte / ECTS Credits
|
5 CP
|
Prüfungsleistung / Assessment
|
Klausur (60 min.) oder Mündliche Prüfung oder Case oder Transferarbeit (6-8 Seiten)
|
Lehr- und Lernmethoden / Teaching and Learning Methods
|
Seminar (Präsenzlehre), ergänzend Selbststudium und Transfer, ggf. E-Learning, Pre- und Post-Reading.
|
Modulinhalte / Module Content (de)
|
Full-Stack-Entwicklung (FSE) Definition & Überblick
Erläuterung des Fullstack-Ansatzes: Kombination von Frontend- und Backend-Entwicklung. Relevanz in modernen Webanwendungen.
Native, Hybrid, Web-App, Cross-Plattform Apps
Auswahl von Plattformen
Requirements-Engineering
Frontend-Entwicklung
Technologien: HTML, CSS, JavaScript.
Frameworks/Bibliotheken: z.B. React, Angular, Vue.js.
Responsive Design und Usability.
Backend-Entwicklung
Programmiersprachen: z.B. Node.js, Python, Ruby, Java oder PHP.
Frameworks: z.B: Flask, FastAPI, Express, Django, Ruby on Rails usw.
API-Entwicklung (REST, GraphQL).
Datenbanksysteme
Relationale Datenbanken (z.B. MySQL, PostgreSQL) vs. NoSQL-Datenbanken (z.B. MongoDB).
Datenmodellierung und -management sowie Datenstrukturen und Persistenz
Zusammenhang Full-Stack-Entwicklung und DevOps
Testing & Qualitätssicherung
Sicherheitsaspekte bei der Full-Stack-Entwicklung
Mobile Apps unter der Betrachtung der Full-Stack-Entwicklung
Technologien zur App-Entwicklung und plattformübergreifende Entwicklung
Cross-Plattform Frameworks: z.B. Flutter (Google), FireMonkey (Delphi), Titanium Mobile (Appcelerator), React Native (Facebook)
Praktische Anwendungsentwicklung mit z.B. Flutter (Google), insb. Dart, Anbindung REST-API´s, Firebase, BLoC und MVVM, Mehrsprachigkeit, CRUD, Echtzeitfähigkeit mit Streams
Web-Engineering und Backendprogrammierung im Rahmen der Full-Stack-Entwicklung, Backendanwendungen, REST-APIs mit Flask und Python, Cloud Run Services
Barrierefreiheit und Datenschutz
|
Modulinhalte / Module Content (en)
|
Full-Stack Development (FSE) Definition & Overview
Explanation of the Fullstack Approach: Combination of frontend and backend development. Relevance in modern web applications.
Native, Hybrid, Web Apps, Cross-Platform Apps
Platform selection
Requirements engineering
Frontend development
Technologies: HTML, CSS, JavaScript.
Frameworks/Libraries: e.g., React, Angular, Vue.js.
Responsive design and usability.
Backend Development
Programming languages: e.g., Node.js, Python, Ruby, Java, or PHP.
Frameworks: e.g., Flask, FastAPI, Express, Django, Ruby on Rails, etc.
API development (REST, GraphQL).
Database Systems
Relational databases (e.g., MySQL, PostgreSQL) vs. NoSQL databases (e.g., MongoDB).
Data modeling and management, as well as data structures and persistence.
Connection between Full-Stack Development and DevOps
Version control (e.g., Git).
Containerization (e.g., Docker, Kubernetes) and cloud platforms.
Testing & Quality Assurance
Unit tests, integration tests, and end-to-end tests.
Automation and code reviews.
Security Aspects in Full-Stack Development
Mobile Apps in the Context of Full-Stack Development
Technologies for app development and cross-platform development
Cross-platform frameworks: e.g., Flutter (Google), FireMonkey (Delphi), Titanium Mobile (Appcelerator), React Native (Facebook)
Practical application development with, e.g., Flutter (Google), especially Dart, integration of REST APIs, Firebase, BLoC and MVVM, multilingual support, CRUD, real-time functionality with Streams.
Web Engineering and Backend Programming within Full-Stack Development, Backend applications, REST APIs with Flask and Python, Cloud Run services.
Accessibility and Data Protection.
|
Teilnahmevoraussetzungen / Prerequisites for Participation
|
Das Modul setzt grundlegende Programmierkenntnisse voraus (nachweisbar durch entsprechende Leistungspunkte im BSc. oder durch Propädeutikum in Python) / The module requires basic programming knowledge (proven by corresponding credit points in a BSc. program or through a preparatory course in Python).
|
Qualifikationsziele / Qualification Objectives (de)
|
Nach erfolgreichem Abschluss des Moduls sind die Studierenden in der Lage:
Die wesentlichen Entwicklungstrends im Bereich Web-Engineering und Mobile Apps zu identifizieren und zu analysieren.
Kompetenzen in der Full-Stack-Entwicklung anzuwenden und in praxisnahen Projekten umzusetzen.
Methoden zur Durchführung interdisziplinärer Projekte gezielt einzusetzen.
Software-Projekte methodisch zu planen und strukturiert umzusetzen.
Eigenständig anwendungsorientierte Softwareentwicklungsprojekte im Bereich Web-Engineering und Mobile Apps zu konzipieren, zu planen und erfolgreich umzusetzen.
Software mit geeigneten Tools zielgerichtet zu entwickeln und zu optimieren.
Unternehmerisches Denken und Handeln anzuwenden, um den wirtschaftlichen Nutzen von Web-Engineering und Mobile Apps zu bewerten.
Typische Programmierstrukturen zu verstehen, zu bewerten und für spezifische Anforderungen auszuwählen.
Erworbenes Wissen durch Transferprojekte auf neue Unternehmensbereiche anzuwenden.
Software-Projekte in interdisziplinären Teams mit unterschiedlichem Vorwissen effektiv zu koordinieren und umzusetzen.
|
Qualifikationsziele / Qualification Objectives (en)
|
After successfully completing of the module, students will be able to:
Identify and analyze key development trends in web engineering and mobile apps.
Apply competencies in full-stack development and implement them in practical projects.
Effectively utilize methods for conducting interdisciplinary projects.
Plan and execute software projects methodically and systematically.
Independently design, plan, and successfully implement application-oriented software development projects in web engineering and mobile apps.
Develop and optimize software using appropriate tools in a targeted manner.
Apply entrepreneurial thinking and decision-making to assess the business value of web engineering and mobile apps.
Understand, evaluate, and select typical programming structures for specific requirements.
Apply acquired knowledge to new business areas through transfer projects.
Effectively coordinate and implement software projects in interdisciplinary teams with diverse prior knowledge.
|
Verwendbarkeit des Moduls für andere Module und Studiengänge
|
Verwendbar im Masterstudiengang IT-Systems Engineering
|
Empfohlene Literatur / Recommended Literature
|
Zum Selbststudium empfiehlt sich den Studierenden folgende Literatur:
/ For self-study, the following literature is recommended for students:
Hauke Fehr, Eigene Apps programmieren, Reihe Rheinwerk Computing, Rheinwerk Verlag, 2019.
Ghita Mostefaoui and Faisal Tariq, Mobile Apps Engineering: Design, Development, Security, and Testing. Auflage. Chapman and Hall/CRC Press, 2018, ISBN 1-138-05435-6
Jan Semler und Kira Tschierschke, App-Design, Reihe Rheinwerk Design, Rheinwerk Verlag, 2019, ISBN 978-3-8362-7050-2
Melinda Albert, Besseres Mobile App-Design, Entwickler Press, 2016, ISBN 978-3-86802-161-5
Thomas Geis und Guido Tesch, Basiswissen Usability und User Experience, D-Punkt Verlag, 2019, ISBN 978-3-86490-599-5
Jon Yablonski, Laws of UX, O´Relly Verlag, 2020, ISBN 978-3-96009-156-1
Ackermann, P. (2018): JavaScript: Das umfassende Handbuch, Bonn: Rheinwerk Verlag
Springer, S. (2018): Node.js: Das umfassende Handbuch. Serverseitige Web-Applikationen mit JavaScript entwickeln, Bonn: Rheinwerk Verlag.
Wolf, J. (2016): HTML5 und CSS3: Das umfassende Handbuch zum Lernen und Nachschlagen, Bonn: Rheinwerk Verlag.
Flutter. n.d. "Flutter – Build apps for any screen." https://flutter.dev/
Dart n.d. "Programming for Flutter and more" https://dart.dev/
Google Firebase n.d. "Make your app" https://firebase.google.com/
pub.dev n.d. "The official package repository for Dart and Flutter apps" https://pub.dev/
GitHub n.d. "Build and ship software on a single, collaborative platform" https://github.com/
Google n.d. "Vertex AI Notebooks" https://cloud.google.com/vertex-ai-notebooks
Google n.d. "Artifact Registry-Dokumentation" https://cloud.google.com/artifact-registry/docs?hl=de
Google n.d. "Cloud Run" https://cloud.google.com/run?hl=de
Google n.d. "Sicherung von Cloud Run-Diensten" https://cloud.google.com/run/docs/tutorials/secure-services?hl=de
|
Weitere Informationen / Additional Information
|
Keine
|