Enroll for labs
During the labs you must work in pairs.
You must enroll for a lab group in our system SAM:
- If you have a preferred partner, both must enroll at the same time. If you do not have a partner the system will automatically select one for you.
- Click on the group/time slot you want to attend.
- On the next page, fill in the user id for you and your partner in the upper form (Enroll students for the session). If you do not have a partner, leave the second field (user2) empty. If you do not know your user id, fill in your personal number in the lower form (Have you forgotten your user id). You will then receive a mail with your user id.
Lab descriptions online: https://github.com/thorehusfeldt/algdes-labs . (Navigate to the PDF in the doc/ subdirectory of each lab.)
The labs are programming exercises that relate to the material covered in lectures, typically in the week before. Very few of you will be able to complete these exercises during a 2 hour lab session, so it is expected that you show up to the labs well-prepared, presumably with a good part of the code already written. If you attended the whole lab session in the beginning of a week, but weren't able to finish on time, you can use the start of the next lab session to get it checked.
Data files for the labs are found in the left navigation bar, under “Testfiler”.
Documenting the lab
Finishing the lab entails
- Getting all the code to run and pass the test provided by the data files. The lab description should be clear about what is expected
- New for 2015: Filling out a very brief report. Each lab comes with a report skeleton that should make it clear how the finished report is supposed to look. The report skeleton is in the same github repo where the data files reside.
When you’re done, attract the attention of one of your friendly lab assistants. The assistant will look at your report – no need to print it out if you have an electronic version on screen. Then the assistant might ask a few pointed questions about your code, so please have your source code ready, your editor fired up, and make sure you are acquainted with your own code.
All members in a group are responsible for all code – you can split the work, but both partners must know what’s going on.
|Name||Relates to what?||Deadline||Forsete assignment in mail subject||Input source||How Forsete runs the programs (all on one line)||Addition to lab documentation|
|1. Stable marriage||Introduction||March 29 at 15.00.00||stablemarriage|
|java stablemarriage < input|
|2. Word ladders||Graphs||April 20 at 15.00.00||wordladders|
wordfile and wordpair file in Java args and args
|java wordladders words pairs||You are allowed to create the graph in quadratic time.|
|3. Spanning USA||Greedy algorithms||April 27 at 17.00.00||spanning||Java args||java spanning inputfile|
|4. Closest pair||Divide and conquer||May 7 at 12.00.00||closestpair||Java args||java closestpair inputfile|
|5. Me: Gorilla or sea cucumber?||Dynamic programming||May 17 at 17.00.00||gorilla||java gorilla inputfile|
|6. Railroad planning||Network flow||May 25 at 15.00.00||railroad|
|7. Red Scare||Entire course||none since optional lab|