Teaching & Innovation Laboratory

“Tell me and I will forget. Show me and I will remember. Involve me and I will understand. Step back and I will act.”

Level & Prerequisites

Bachelor Project
STINE-ID: 64-186
Projekt M-Lab: Innovationslabor für App Entwicklung
Master Project
STINE-ID: 64-851-P & 64-851-S
Masterprojekt M-Lab: Innovationslabor für App Entwicklung & Integrated Seminar

Prerequisites:

  • Passed the courses Software Engineering I and II
  • Basic knowledge in at least one object oriented programming language (e.g. Java, Swift or Objective-C)
  • High motivation and commitment

Course Description

View previous iterations: M-Lab 2021/22 - M-Lab 2020/21 - M-Lab 2019/20 - M-Lab 2018/19 - M-Lab 2017/18 - M-Lab 2016/17

In this teaching and innovation laboratory students develop innovative Apps in small teams, under real conditions and tight project deadlines, for real customers from industry, society and the public sector. They experience the latest technologies and development tools, and the theory and methods of software engineering and project management. They also make valuable experience in teamwork and in communication with the “clients”.

M-Lab consists of two parts: a practical part and a theoretical part. In the practical part, the teams will work on a software project and go through all phases of software development, including problem definition, requirements gathering, analysis, design, implementation, integration, testing, software delivery and presentation. A company, an association, or an authority will provide the project goals. In the theoretical part, each project phase of the software life cycle will be discussed and reflected. The topics will be timed to correspond to the expected project progress of the team. The teams will give a presentation on each topic (e.g., requirements analysis) and the theoretical elements (e.g., methods, tools, procedures) that are suited best for the project and why. Their challenges, current and past project decisions, as well as the alternative options they have considered, will be discussed and reflected with the teaching assistants and the other teams.

The students may have different major fields of study, such as computer science, human-machine communication, IT Management and Consulting, or business computer science. Students from other disciplines with computer science as a minor may also participate.

Teaching and Mentoring Staff

Prof. Dr. Walid Maalej

Lecturer, Program Manager

Lloyd Montgomery

Co-Lead Instructor

Tim Puhlfürß

Co-Lead Instructor

Volodymyr Biryuk

Instructor

Abir Bouraffa

Instructor

Aref El-Maarawi Tefur

Instructor

Dr. Wolf Posdorfer

Instructor

Carina Volkmer

Administration

Clients & Student Teams

Aromatico

  • - Dr. Wolf Posdorfer -
  • Sönke Diederichs
  • Kai Ehlers
  • Qui Sebastian Ha-Ngoc
  • Jan Metzing
  • Lola Rogge
  • Silas Ueberschaer

Hamburg Wasser

  • - Volodymyr Biryuk -
  • Muhammad Hashaam Ahsan
  • Leon Fritz
  • Tim Helmke
  • Jan-Ole Schulze
  • Serhat Yergin

imbus

  • - Lloyd Montgomery -
  • Jonathan Balack
  • Piet Bohn
  • Finn Maciejewski
  • Mia Carlotta Mahncke
  • Enrico Milutzki

Telekom

  • - Tim Puhlfürß -
  • Lukas Ciepielowski
  • Jan Hartkopf
  • Hans-Alexander Kruse
  • Leon Langhoff
  • Konstanze Reupert
  • Leon Zander

UHH PBB

  • - Abir Bouraffa -
  • - Aref El-Maarawi Tefur -
  • Bernard Burdiek
  • Leon Koch
  • Christian Rahe
  • Steffen Schubert
  • Uğur Turhan
  • Felix Wolf

Syllabus

(Under Construction - Subject to Change)

Date Time Location Topic Milestone
W01 2022.10.20 14:00 - 18:30 D-220 Course Introduction & Tutorial
Welcome to M-Lab! Time to learn about the course, your peers, and the course frameworks/platforms/languages
W02 2022.10.27 16:00 - 19:00 B-201 Kickoff with Customers & Ice Breaker
Presentations by Customers followed by a Meet & Greet
W03 2022.11.03 16:00 - 18:00 D-220 Collaborative Software Engineering
GIT, GitLab, and Agile Practices
W04 2022.11.10 16:00 - 18:00 D-220 Prototypes
Mockups, Prototypes
W05 2022.11.17 16:00 - 18:30 D-220 Requirements Engineering
Requirements Gathering Methods, Interviews, Surveys,
Observation, Requirement Quality, User Study
Milestone 1 Deliverables
(in GitLab)
W06 2022.11.24 16:00 - 18:00 B-201 Usability for Mobile
Usability Patterns, Screen Design, Usability Guideline, Usability Testing
W07 2022.12.01 16:00 - 18:00 B-201 System & Object Design
Architecture, Object Model, Patterns, Reuse, Frameworks, APIs
W08 2022.12.08 16:00 - 18:00 B-201 Testing and Quality Management
Unit Testing, System Testing, Usability Testing, Code Inspections, Bug Predictions
W09 2022.12.15 15:00 - 18:00 B-201 Design Review
Presentation of System Design
Milestone 2 Deliverables
(in GitLab)
W10 2022.12.22 16:00 - 18:00 B-201 Build and Release Management
Continuous Integration, Configuration Management, Build and Release Management
W11 2023.01.12 16:00 - 18:00 B-201 Rollout and Delivery Management
How To Package, Publish And Present Apps
W12 2023.01.19 Development-Centric
Pre Release Sprint
W13 2023.01.26 Development-Centric
Dryrun of Final Exhibition Presentation with Supervisor
W14 2023.02.02
16:00 - 20:00 B-201 Final Exhibition
Final Presentations of Projects, Client Acceptance Test
Milestone 3 Deliverables
(in GitLab)

Infrastructure

Below you find the links to access our infrastructure used during the course:

Previous Project Clients, Websites, & Trailers

Project trailers from last year's M-Lab iteration (see MAST YouTube-Channel for further trailers)

Funding & Awards

Winning project in Unseren Hochschulen 2015

Winning project in MINTernational



Best Practice in Club MINTernational

Previous Industry Partners

Literature

Object-Oriented Software Engineering Using UML, Patterns, and Java (3rd Edition).

Bernd Bruegge and Allan H. Dutoit:
Prentice Hall, 2014.

Mobile Design Pattern Gallery: UI Patterns for Smartphone Apps.

Theresa Neil:
O’Reily Media, Inc., 2014.

iOS Programming: The Big Nerd Ranch Guide
(6th Edition)

Christian Keur, Aaron Hillegass:
Pearson Education, 2017.