Coding 2: Software Development Web
Niveau
Bachelor
Learning outcomes of the courses/module
Students acquire the basic knowledge to be able to develop, test, and maintain complex client-side web applications.
Students can
- apply basic concepts of client-side web development
- recognize, understand, and apply basic design patterns in software architectures
- implement complex client-side web applications using suitable technologies and frameworks
- evaluate common technologies and frameworks for the implementation of web applications (web technologies)
Students can
- apply basic concepts of client-side web development
- recognize, understand, and apply basic design patterns in software architectures
- implement complex client-side web applications using suitable technologies and frameworks
- evaluate common technologies and frameworks for the implementation of web applications (web technologies)
Prerequisites for the course
none
Course content
In this course, the development process of a client-side web application is taught, taking into account the special characteristics of this development environment. Essential programming concepts of modern web development are explained in theory and then applied (e.g., DOM API, web components, progressive web apps) with the help of suitable development environments and tools.
Furthermore, the concepts and practical application of client-side web frameworks, which are widely used in corporate settings, are taught. In addition, typical tasks that are implemented with the support of such frameworks, for example, asynchronous communication with server-side back-ends, are presented and discussed. In addition to these practice-oriented areas, various frequently encountered architecture patterns (e.g., MVC, Inversion of Control) are presented, and their use in the frameworks under consideration is demonstrated.
Practical tutorials and case studies are used to put the theory taught into practice. The knowledge gained will be discussed in the group in order to generate a deep understanding of the practical implementation.
Furthermore, the concepts and practical application of client-side web frameworks, which are widely used in corporate settings, are taught. In addition, typical tasks that are implemented with the support of such frameworks, for example, asynchronous communication with server-side back-ends, are presented and discussed. In addition to these practice-oriented areas, various frequently encountered architecture patterns (e.g., MVC, Inversion of Control) are presented, and their use in the frameworks under consideration is demonstrated.
Practical tutorials and case studies are used to put the theory taught into practice. The knowledge gained will be discussed in the group in order to generate a deep understanding of the practical implementation.
Recommended specialist literature
- Zakas, N.: Understanding ECMAScript6: The Definitive Guide for JavaScript Developers. No Starch Press, 2016
- Rozentals, N: Mastering TypeScript, 4th edition. Packt, 2021
- Liebel, C.: Progressive Web Apps - Das Praxisbuch. Rheinwerk Computing, 2018
- Fain, Y.; Moiseev, A.: Angular Development with TypeScript. Manning, 2019
- Banks, A.; Porcello, E.: Learning React - Functional Web Development with React and Flux. O'Reilly, 2017
- Rozentals, N: Mastering TypeScript, 4th edition. Packt, 2021
- Liebel, C.: Progressive Web Apps - Das Praxisbuch. Rheinwerk Computing, 2018
- Fain, Y.; Moiseev, A.: Angular Development with TypeScript. Manning, 2019
- Banks, A.; Porcello, E.: Learning React - Functional Web Development with React and Flux. O'Reilly, 2017
Assessment methods and criteria
Portfolio review
Language
German
Number of ECTS credits awarded
6
Share of e-learning in %
20
Semester hours per week
3.0
Planned teaching and learning method
Presentations, group work, presentation and discussion of tasks
Semester/trimester in which the course/module is offered
2
Name of lecturer
STGL
Academic year
Key figure of the course/module
ENG2
Type of course/module
integrated lecture
Type of course
Compulsory
Internship(s)
no