Fortgeschrittene Konzepte verteilter Datenbanken - Programming Database Web Applications
- Master's Data Engineering and Analytics
- Master's Mathematics in Data Science
- Elite Master’s Program in Software Engineering (M.Sc.)
- Module Number: IN2140
- Credits: 4
Date of First Meeting
- Date - 15th October, 2019
- Time - 10:00 A.M.
- Room - 02.11.018 (Praktikumsraum)
Date of Second Meeting
- Date - 22nd October, 2019
- Time - 10:15 A.M.
- Room - 02.13.007 (Praktikumsraum)
Registration and De-Registration
Registration will open on 15th August, 2019 at 11:00 A.M. on TUM Online
- Register By - 23:59 P.M. 15th October, 2019
- De-Register By - 23:59 P.M. 8th November, 2019
- Note - The students who fail to de-register by the aforementioned date will be issued grade 5.0 automatically.
Web applications are structured in the following way: The user interface runs within a web browser on the client’s machine and most of the business logic runs within a web service on a server. The application is divided into three layers: Client, server and database. This course teaches implementation techniques for all three layers:
- Server: Java (Struts, Spring MVC, JSF), Ruby, PHP, Python, Perl
- Database: O/R mapping, SQL, XQuery
Intended Learning Outcomes
After having successfully completed this module, the students have gained the knowledge to plan, design and implement web applications. In addition, they are able to identify valuable business models for web applications. After the course, they have gained experience with the three layers of a web applications (client, server and database). Each student has gained hand-on experience in implementing a web application in a sample project. This praxis oriented approach allows the students to get a deep insight into the technology. This way the students are able to identify and explain the same technologies in different architectures.
Finally, the students learn about user centric, iterative project management by using it in a small team. This helps the students in improving their soft skills within a team.
Explanation of the grading system
Each student is assigned to a group. Each group is self managed and develops their own web application. The overall grade is composed of four project parts and their presentation. The parts of the project are as follows:
- In the beginning of the course, the students develop their own business ideas for a web application within their assigned group. These ideas have to differ from existing concepts. This step includes an analysis of the current market situation, to allow the students to assess the practicability and the profitability of the idea.
- Once the business idea is found, the students have to plan the realization of the project and document the progress with artifacts (UML diagrams, project plan, mock-ups). The groups should focus on a user centric iterative project management.
- Based on the mock-ups, a first prototype of the web application has to be developed. To achieve this, the groups should use modern technologies to realize the three-layered architecture (client, server, database). The selected technologies and their usage should be justified.
- In this last step, the final version of the web application, including the results of the previous steps must be presented in front of an audience. A demonstration of the developed prototype is part of the presentation. The correct functionality of the developed software is a critical part of the work. Each student should be part of the presentation and be capable of answering questions about the project (the developed system, the project plan and the design documents). In addition, the project management and communication within the group is important.
- IN0001: Einführung in die Informatik 1
- IN0006: Einführung in die Softwaretechnik
- IN0008: Grundlagen: Datenbanken
- Bauer, G.: Architekturen für Web-Anwendungen: Eine Praxisbezogene Konstruktions-Systematik (ISBN: 3834805157)
- Zillgens, Ch.: Responsive Webdesign: Reaktionsfähige Websites gestalten und umsetzen (ISBN: 3446430156)
- Purewal, S.: Learning Web App Development (978-1-4493-7019-0)
- Manuale online