Fortgeschrittene Konzepte verteilter Datenbanken - Programming Database Web Applications

Offered To

Description

  • Module Number: IN2140
  • Credits: 4
  • TUM slides (updated each week): link
  • Prospeum slides: link

Date of First Meeting

  • Date - 24th October, 2018
  • Time - 09:00 A.M.
  • Room - 01.11.018 (Seminarraum)

Date of Second Meeting

  • Date - 7th November, 2018
  • Time - 09:00 A.M.
  • Room - 01.11.018 (Seminarraum)

Registration and De-Registration

Registration will open on 21st September, 2018 at 16:00 on TUM Online

  • Register By - 6:00 P.M. 24th October, 2018
  • De-Register By - 6:00 P.M. 8th November, 2018
  • Note - The students who fail to de-register by the aforementioned date will be issued grade 5.0 automatically.

Content

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:

  • Client: JavaScript, VBScript, Flash, OpenLaszlo
  • Server: Java (Struts, Spring MVC, JSF), Ruby, PHP, Python, Perl
  • Database: O/R mapping, SQL, XQuery
These techniques are often either agile and support fast prototyping, which allows the rapid release of new versions or they are systematic, which allows for careful design but requires longer release cycles.

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.

Prerequisites

  • IN0001: Einführung in die Informatik 1
  • IN0006: Einführung in die Softwaretechnik
  • IN0008: Grundlagen: Datenbanken

Reading List

  • 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)
  • Saternos, C.: Client-Server Web Apps with JavaScript and Java (ISBN: 1449369332)
  • Purewal, S.: Learning Web App Development (978-1-4493-7019-0)
  • Manuale online