As this semester the labs will take place online, it is IMPORTANT that you are familiar with the exercise before the lab starts. Before the lab starts please:
- read through the whole exercise (see below)
- do the pre-lab
- recap on what you did for the lecture
- post any questions on Moodle
- (form your new group and post the names of all group members on Moodle - see below)
During the lab
During the lab you will be working on exercises in groups (see below) while communicating with each other and with me online. This is the plan for now, but it might change.
You should join the BBB “Lab Hangout”, you find it on the Moodle page at “Labs - General Topics”. We’ll talk about the last assignment as well as the pre-lab for the current lab. I’ll also be answering questions and recap-ing specific topics on request.
There will be 13 labs.
- Exercise 01 - Application Design
- Exercise 02 - Implementing CRC Cards
- Exercise 03 - Histogram
- Exercise 04 - Chatterbox
- Exercise 05 - Execution times
- Exercise 06 - Reverse Polish Notation
- Exercise 07 - Recursive Triangles
- Exercise 08 - Eight Queens
- Exercise 09 - Probabilistic Algorithms
- Exercise 10 - Getting from A to B
- Exercise 11 - Finite State Automata and Sorting
- Exercise 12 - Scrabble Cheater Basic Edition
- Exercise 13 - Scrabble Cheater Deluxe
You will work in groups of two or three. You will switch groups after three or four labs. That means you should form new groups before the following labs:
You can chose your team mates. Please post the names of all group members on Moodle. I will not form groups for you, this is your own responsability. If you have not signed up a team by posting on Moodle, you won’t be able to hand anything in. I won’t accept groups that are made up of only one person. That is not a group.
Lab Reports are due at 10pm the night before your next lab.
Lab reports won’t be graded - they just get marked with “ok” or “not ok”.
A report is “not ok” if any of the following is True:
- the report is missing
- you are not transparent on who did what
- the report has too little significant content on the lab
- the report is not submitted correctly (see below)
- the code is not submitted correctly (see below)
You can use the late slot (see below) to hand in rejected Lab Reports again.
You will not be allowed to take the exam if you plagiarized.
A report should contain:
- a summary of what the lab was about
- details on what you learned in this lab OR details on what the lab was about
- if you were asked to write code: an explanation of how you tested your code
- if questions were asked: the answers to the questions
- a link to the private git repository with your code
Transparency You need to be transparent on who did what. Collaborating with people outside your group is ok, but be transparent about it! Using sources from the Internet/books is ok, but cite them appropriately!
Git Repository You’ll need to give me access rights to your git repository and put the link in your report.
What if I our group didn’t get the code to work? It’s ok not to have completely succeeded on the assignment, as long as you have tried sufficiently.
How long should the report be? Elegance lays in the ability to get to the point in as few sentences as necessary.
Language You can write in English or German.
How to submit correctly
Please submit only:
- A pdf with your report
- Included the pdf: a link to your private git repository
Only one team member should upload the report. If team members upload different reports (or different repos), I’ll chose one at random to review.
You can hand in 4 reports after their deadline, until September 1st.
How to hand in late reports There are 4 “late slots” for handing in reports after the deadline, but they have to be handed in before September 1st.
But …! If you fall ill for more than a week or are unable to continuously work on the lab reports for some other reason, come talk to me or at least email me as early as possible and we will find an individual solution.