lu.se

Datavetenskap

Lunds Tekniska Högskola

Denna sida på svenska This page in English

Labs

Lab sessions take two hours, and you’re expected to work in pairs. You are strongly advised to show up well-prepared for the lab.

Enroll for labs

During the labs you must work in pairs.

You must enroll for a lab group in our system SAM:

  1. 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.
  2. Click on the group/time slot you want to attend.
  3. 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.

Labs

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

  1. 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
  2. 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.

NameRelates to what?Deadline Forsete assignment in mail subjectInput sourceHow Forsete runs the programs (all on one line)Addition to lab documentation
1. Stable marriageIntroductionMarch 29 at 15.00.00stablemarriage

System.in

java stablemarriage < input
2. Word laddersGraphsApril 20 at 15.00.00wordladders

wordfile and wordpair file in Java args[0] and args[1]

java wordladders words pairsYou are  allowed to create the graph in quadratic time.
3. Spanning USAGreedy algorithmsApril 27 at 17.00.00spanningJava args[0] java spanning inputfile 
4. Closest pairDivide and conquerMay 7 at 12.00.00closestpairJava args[0]java closestpair inputfile
5. Me: Gorilla or sea cucumber?Dynamic programmingMay 17 at 17.00.00gorillajava gorilla inputfile
6. Railroad planningNetwork flowMay 25 at 15.00.00railroad
7. Red ScareEntire coursenone since optional lab