How to Attend
The lectures take place on Tuesday and Thursday in the corresponding lecture room. We will post recordings of the lectures online afterwards so that you can (re-)watch the lectures whenever you want or need.
In most weeks, we will release an exercise sheet in the Materials section of the CMS (most likely on Friday afternoons). While these exercises are not a formal requirement for passing the course, we strongly recommend that you make use of them to check and deepen your knowledge of the course materials. The exercises are discussed in the tutorials, which take place in person on Fridays, and sample solutions will be available afterwards. You can hand in your solutions for the exercise sheets (complete or only selected exercises) to your tutor in the tutorial or via email to get individual feedback. Feel also free to discuss your solutions with other students.
The project assignments will also be released in the Materials section of the CMS. You implement the project in small groups of two to three people, collaborating via a repository in our GitLab. We are running daily tests on your code and present the results in a progress overview of all groups. You may share test cases for the compiler with the other students via this testsuite repo.
At any point in time, if you have questions about the course topics, the exercises, or the project assignment, post them in the Discourse forum. This way, the other students can also contribute to and benefit from the answers.
If you have project-related questions that are specific to your group, like crashes on the test server that you cannot reproduce, contact Joachim Meyer.
Project Registration
To register for the project, which is required to pass the course, you have to perform the following steps until Monday, 2024-Oct-28, 23:59, CET:
-
Create an account in our Gitlab.
-
Upload your SSH key. Visit this page for further instructions.
-
Remember to correctly set your name and email address. In the case you have used git before you have most likely done this:
git config --global user.name "Your Name" git config --global user.email "my_email_address@my_domain.de"
-
Form a group consisting of 2 to 3 people with fellow students. You may use the
project-group-finding
channel in our Discord to find other students to form a group with. -
For each group, one of the members has to create a Group with private visibility level in the Gitlab. Do this via the [+] icon in the top bar of the Gitlab website when you are logged in. The entry for the group URL decides how the group is referred to on the progress website, so make sure to choose something identifiable (puns are encouraged).
-
Add the other members of the team via the group's Members settings.
-
Create a fresh, new project
c4
via the [+] icon in the top bar. Make sure that the project lives in your group's "Namespace". It is important to really use the exact project name 'c4'. -
Clone your empty project and enter its root folder:
git clone git@cc.cdl.uni-saarland.de:<your-group-name>/c4.git cd c4
You can find out the URL by visiting your group's
c4
project in the GitLab. -
Make sure that your default git branch is
main
. Only development on themain
branch will be tested. -
Add a file with the name
group.txt
in the root folder of your project containing a line for each member of your team according to the following template:lastname, firstname, matriculation number
e.g.
Doe, Jane, 1234567 Roe, Richard, 2345678
-
Add, commit and push this file to your repository:
git add group.txt git commit -m "Add group file" git push -u origin main
Do not hesitate to ask questions in the discourse forum in case anything is unclear.