Hide menu

TDDC32 Design and implementation of a software module in Java

Laboratory work

Lab 1

Lab 2

Lab 3 (optional)

General information about labs

On this page you can find general information about labs. The work consists of 3 bigger labs. The first deals with Advanced Data Types such as AVL, Splay and B trees, together with Hashtables, the second deals with advanced Java programming (threads, GUI). In the third (optional) lab you get to do some exercises on UML diagrams.

You can find information on the labs by clicking the links above.

Lab groups and Registration

Laboratory work is usually performed in groups of two persons. However in special cases you might want to work alone. Contact your lab assistant in such cases. The registration to the labs should be done via webreg (later you will also be able to see your results there). It is preferable to work and register in groups of 2 people (anyway, if you choose to work on your own the lab assistant will give preference to those that work in groups when you need help). It does not matter whether you sign up in A, or B. The deadline for lab registration is 23:00, Jan. 18th, 2013.

Login problems

In case you have general trouble logging in to university systems, please ask for help in the student service desk (see information on the right for office hours and contact details). You can find it in the house "Zenit". If you ONLY have problems in the computer science department IDA (i.e., you cannot login into lab computers of the computer science department or webreg but you can e.g. login to read your student emails) then you should contact TUS (helpdesk@ida.liu.se) instead and check whether you have an activated account for the department. Note that you must have registered to at least one course of the computer science department (IDA) to get an active account. After registering to a course it might take a few days until your department account is activated, so please keep on trying to log in in case you registered late.


On the IDA Sun system, software is grouped in modules, which have to be added to your environment. The following modules are needed for the course:

They are added with the following commands, one changes the current session, and the second for future sessions:
module add modulename
module initadd modulename


The IDE (Integrated Development Environment) used in the course is Eclipse. After you added the modules, the IDE can be started by typing eclipse in a terminal.

There is comprehensive documentation embedded in the IDE. Additional documentation can be found via Eclipse's homepage.

To be able to use documentation directly from Eclipse you may have to specify a browser in Eclipse. This you do by choosing in the menu window -> preferences. Then you choose general -> web browser, and give mozilla as web browser with path /usr/local/bin/mozilla.

Coding conventions

Similarly to TDDC30, the programs that you write should follow Oracle's coding conventions for Java. All the classes and public methods should be commented using javadoc-style comments. Don't forget to properly indent the code before your presentation/delivery.

How to archive code

Before you mail the code, you should compress it. You could do it like this: Put all the code to be sent in a directory. Move to the parent directory and write:
tar cvf filename.tar directory (no slash after directory name)
gzip filename.tar
This results in a file called filename.tar.gz that you attach to your email.

Lab examination

For the lab examination you have to make a "live" (during the designated lab time) demonstration of your lab, to be able to explain your code and decisions, and respond to qualifying questions (if there are any). It's also important that both lab-partners are present and active. When the lab assistant is satisfied with the demonstration you should email the code to him/her. He/She will then look into the code more thoroughly and hopefully pass it. Your lab assistant is the one you registered for in webreg. To pass you also have to hand in a properly filled in and signed lab report wrapper to your assistant. (Either hand the wrapper directly to your assistant or put it in your assistants inbox in the cabinet between SU11 and the printer room.)

Policy and rules for lab assignments at IDA

Here are IDA's rules and policies concerning lab assignments.


Deadline for lab 1 is 13th of February 2013. Deadline for lab 2 is 22nd of February 2013. This is the deadline for all labs. A deadline means that you should have showed the labs to the lab assistant (in one of the booked lab occasions or at some extra booked time, please keep in mind that there might be a long queue in the last lab occasions as the deadline comes closer). Moreover you should also have handed in a lab report wrapper and sent the zipped code to the lab assistant by this time.

Update: For those that missed the lab deadlines in February or have completion work to be done, the deadline is 24th of May 2013. The final deadline for any completion work occuring as a result of demonstrations in week 21 is 5th of June 2013.

Page responsible: Tommy Färnqvist
Last updated: 2013-05-14