Skip to content

Welcome & Organization

On this site you will find some general information, a script and the exercises for the lab of the lecture Project Introduction to Computer Science (PGI) of Prof. Dr. Ute Trapp at Hochschule Darmstadt, Germany. The workload of this module for a typical efficient working student is 5 ECTS, i.e. ~115h (about 3 weeks) or each week 7 hours.

Some referred chapters are written in German, the rest is in English, but feel free to use the translation feature in your browser to display the texts in the language of your choice.

Objective of the Lab

In this course, you’ll get a practical and motivating introduction to computer science through a hands-on app project in agile teams. We start with the basics — number systems and computer architecture — followed by a short written test. This test serves as a prerequisite to participate in the project phase.

After that, you’ll begin your own project, planned and versioned with GitLab and implemented in FlutterFlow. You’re free to choose the idea, which will be refined through paper prototypes and then a clickable prototype in Figma. The implementation includes a basic introduction to databases using Supabase.

Throughout the course, you’ll explore:

  • agile, user-centered development methods,
  • teamwork, communication, and project planning,
  • strategies for learning and time management,
  • simplified use of professional tools and workflows,
  • and the development of a working prototype as a team.

pgi

Nothing is covered in depth — the goal is to give you a first overview and orientation. Topics like databases, software engineering, and programming will be explored more thoroughly in later semesters through dedicated modules.

Beyond technical skills and UX methods, this course focuses on crucial soft skills

  • Effective Communication
  • Giving and Receiving Feedback
  • Problem-Solving as a Team
  • Accountability and Responsibility
  • Time Management and Agile Prioritization

focus

During the semester you will develop a mobile app using FlutterFlow.

Project

Starting with Lab 4, you will work in teams of 4 to 6 students to develop a mobile app. You are free to choose a project that interests you — the only requirement is that it addresses a real-world problem faced by users you can actually reach. For inspiration, take a look at the United Nations Goals.

As in reality, it is up to you to distribute the workload fairly. However, if one or more do not contribute as planned, do not hesitate to contact me. Do so as early as possible -- and not after the grading. Work together as a team. Be reliable and fair to each other, and communicate.

Of course, I will also reach out to you if I get the impression that not everyone is working well together or contributing equally.

Lecture and theory

Please come prepared for the lectures and labs (refer to Moodle for details). During the session, we will primarily focus on discussing specific topics, exploring different approaches, and either working on the lab itself or preparing tasks for the lab. I will also be doing some demonstration of Figma, gitlab and FlutterFlow throughout.

Although you will find a script in the theory part of this site, I expect you to come to the lectures and fill the gaps and to discuss different approaches. As cognitive learning requires reflection and discussion.

On this website, you will find the theory and requirements for completing the labs. In Moodle, you can find everything regarding the grading and the schedule.

Topics of the Lab sessions

The lab sessions will cover the following topics

Carrying out the Lab

You are expected to use your private notebook and a gitlab repository, which you will get before lab 4.

Preparation and Follow-up

In each lab description you will find a preparation. It is essential that you have dealt extensively with that preparation before the lab date. You will notice that the tasks are formulated very openly. It's up to you how deeply you want to understand the topics. As usual, understanding comes with using, reading is not sufficient, reading is just the start;)

Communication

For general questions use the Moodle Forum. For individual questions use the lab, lecture and on demand consultation hour.

Do not hesitate to communicate with the lecturer in case of any problems or questions. A lively communication is explicitly encouraged.

AI

This material was developed using artificial intelligence (AI) technologies:

  • The fundamental structure was established by myself.
  • Texts have been created, refined and optimized through AI-assisted editing to enhance clarity and readability.
  • I have reviewed and revised everything, ensuring the quality and accuracy of the content.

Thanks

The source code and infrastructure of the page as well as some content is based on the material of Ralf Hahn, Stefan Zander, Stefan Ruehl and others I am not aware of.


This website was created using MkDocs, Markdown und Visual Studio Code and rendered with Material Theme for MkDocs.