Lab Overview#
The lab contains mandatory components: You cannot pass the course without passing the lab’s mandatory assignments. See Grading for details.
In the Labs, you will learn how to apply theoretical concepts learned in class and book into practice. The Lab component consists of mandatory and optional lab assignments. The mandatory assignments must be completed before their respective deadlines to pass the course. The optional assignments can be completed to improve your course grade. See Grading for the number of points you can earn by completing lab assignments.
The overall process of participating in the lab looks as follows:
graph LR A[Sign Up] --> B[Work on assignment] B --> C[Ask for help] C --> B B --> D[Assignment Sign-off] D --> B
- Signing up for the lab requires you to form a team of two people and register your lab group on Canvas.
- You can work on an assignment at any time. Agree with your teammate when to get together to work on your assignments.
- You can ask for help during the lab sessions. The lab sessions are weekly 4-hour on-campus sessions where you can work on your assignments and ask TAs for help with the lab. To meet space constraints on campus, not all teams have their weekly lab session on the same day. We kindly ask you to only visit the session for which you registered your group during step 1.
- Get your assignment signed off by one of the TAs when you are done. You and your teammate both need to be present on campus and discuss your work with a TA. You pass the assignment only if the TA marks both the code and the interview as sufficient.
Lab Rules#
The rules and regulations for the Lab component are stated in the Lab Manual. Please make sure to thoroughly read and understand these policies. In accordance to Regels en Richtlijnen (Rules and Guidelines), Art 19 & 20 we want to prevent all academic fraud. We do not allow any use of generative AI (e.g., ChatGPT, GitHub Copilot), and subsequent attempts to hand-in AI-generated code will be reported to the Examination Board.
Deadlines#
The following are the deadlines for submitting your lab assignments and getting them approved by a TA.
Tuesday Lab:
- Tuesday, 22nd of April, 12:45, Chat Client (mandatory assignment A1).
- Tuesday, 6th of May, 12:45, TCP Trace Analysis (mandatory assignment A2).
- Tuesday, 13th of May, 12:45, All bonus lab assignments
Friday lab:
- Friday, 25th of April, 12:45, Chat Client (mandatory assignment A1).
- Friday, 9th of May, 12:45, TCP Trace Analysis (mandatory assignment A2).
- Friday, 16th of May, 12:45, All bonus lab assignments
Lab Groups#
The labs assignments are to be done in groups of 2. This means that you must do the work together with another student. There are a few exceptions to this, as listed below:
- The bonus assignments can be done in groups or alone.
- Resit students who are retaking the course may do the assignments alone. Resit students may not group up with students who are taking the course for the first time.
In order to find teammates (1) attend a Lab session and and reach out to other students there (2) use the Discussion forum to find fellow students looking for a group. Once you have formed a team, you must sign up for one of the Lab sessions (Tuesday or Friday). To do so, both team members must sign up for the same session in the People tab. You do not need to be in a group with the same person for the entire course.
Hand-in guidelines#
Every lab assignment must be approved by a Teaching Assistant in order to pass. You can hand in your assignments only during the Lab sessions. Before you have your assignment approved your code must be both (a) submitted to CodeGrade through Canvas (b) pass all the CodeGrade tests. Additionally, in order to pass your code must be functionally and algorithmically correct, and needs to include a proper documentation. During the Lab sign-off with a TA you must be able to explain it to one of the TA’s and answer their questions concerning your code. Both team members need to be able to explain all parts of the code for hand-in.
Lab session etiquette#
Before asking a question during the Lab, we expect you to have read the Manual, including the Course Information and Appendices, and the associated book chapters. If you are unable to answer the question with these resources you are free to ask a TA, but please refrain from asking questions that you can answer yourself to allow other students to better use the available time with the TAs.