1. Task Overview


<aside> 💻

Assignments (compulsory)

<aside> ⚠️

You need to pass at least 50 % of the public A4 test cases and successfully complete the A4 interview to obtain a positive grade.

</aside>

</aside>

<aside> 💬

Coding Sessions (compulsory)

<aside> ❔

Personal Question Hours

2. Subpages


Organizational Matters

Practicals Structure and Grading

Plagiarism and Citations

Guide for onlineGDB

Assessment of Assignments (How do you get your points? + Testcases + Style Guide + Deductions)

Request for Deadline Extension

Coding Sessions FAQ

Technical Matters

Virtual Machine & Preinstalled Programs

Docker

Git & Gitlab Guide

Testing your Program

Valgrind

Debugger in VS Code

3. Organization


  1. Before you start with our course, make yourself familiar with the most import details regarding the structure, the grading and our rules regarding plagiarism. Thus, carefully read through the following pages:

  2. In addition to all written information, we highly recommend to watch the Kick-off Lecture on October 3, 15:15 where the course structure and the most important details are explained by the lecture team. It is possible to ask questions there, if something is not clear.

    📺 Kick-off Lecture

  3. To stay updated with all news, we ask you to join our Discord server. This is the only way to receive all necessary information. Sporadically, we will send out announcements via email, but only if we believe that they are highly important.

    🔗 Discord Invitation Link

  4. We ask you to log in to GitLab once. This ensures that we have access to your Git-ID and are able to create your repositories for the assignments.

    🔗 GitLab

4. Setup your Device and Technical Guidance


<aside> ⚠️

Most parts of this section will be discussed during the first practicals on October 10, 15:15. It is early enough if you watch the practicals and then set up your device afterwards.

</aside>

  1. In the first step, you need to decide which operating system you would like to work with. We recommend using Linux (instead of Windows or macOS) as we believe that coding on Linux is practical and all your submissions will be graded on Linux. Moreover, you need to use Linux in more advanced courses during your studies, hence, we want to prepare you with basic Linux knowledge. In order to use Linux you have the following options:
    1. [Recommended] Use our provided Virtual Machine! You can install our Virtual Machine on most devices and all programs you need for coding are already preinstalled. This makes it easy for you.
    2. If our Virtual Machine is not working for you or you are already more experienced, you can alternatively set up our provided Docker Container.
    3. Of course, it is also possible that you use a native Linux installation (e.g. with Dualboot), the Windows Subsystem for Linux or macOS. However, we cannot guarantee in these cases, that your submission will behave the same in our test system and your coding environment.
  2. After you set up your developing environment, you need to make yourself familiar with GitLab. We use this tool to hand out the assignments and you also need to submit your solutions via GitLab. As a preparation step, you need to create an SSH-Key, as described in the following guide.
  3. Now you are ready to start coding. We have a few more guides on Testing your Program, using the Debugger and using Valgrind:

5. Working on an Assignment