Hide menu

Labs: General information


This lab series is divided into four separate lab assignments. The first three lab assignments are about developing a minimal social-networking web application called Twidder. You are required to do the labs in order and step by step. Once completed, you will start a project as lab assignment 4. You can find the provided instructions for each lab in the Lab Assignments section.

Signing up for the labs

Sign up for the labs via WebReg. Normally, you will work in pairs in this course, but you may also choose to work alone. To find a suitable lab partner, choose a lab group where there is a slot available and sign up there. The group you sign up in determines which lab assistant will correct your labs. However, you may ask all assistants for help during the labs. Make sure that you are registered for this course before you begin the lab series. When you sign up for a lab group, you must be registered for the course.

Choosing the development environment

If you choose to solve the labs using an environment other than the ones used in the computer rooms you use in this course, you have to make sure that your assistant can view your solution properly, which you will have to arrange individually. This goes for people who choose to set up their own environments at home for doing the labs. Make sure that your assistant can inspect your solution if you do not use the recommended environments.

We recommend PyCharm-professional version in this course as it supports both Python/Flask and HTML/Javascript/CSS. You can run pyCharm in our systems at IDA by running the following command in the terminal:



We shall use our new tool named Camedin to assist you in the lab sessions. You need to click here once you are in the lab rooms. For more information watch our short tutorial available on Youtube. You receive an email containing a password required by the system by the begining of the course.


For information about the examination process and rules, please check our examination page.

Unassisted lab sessions

There shall be three unassisted lab sessions as following:
  • Tue 2018-01-23, 10:15 - 12:00
  • Mon 2018-02-19, 8:15 - 10:00
  • Wed 2018-02-28, 10:15 - 12:00

Lab Assignments

  • Lab 1. Client-side Development using HTML, Javascript and CSS. PDF, required files
  • Lab 2. Server-side Development using Python and SQL. PDF
  • Lab 3. Asynchronous Client-Server Communication. PDF
  • Lab 4. Project. PDF

Presentation and handing in code

Each individual/group shall present its implementation to its direct lab assistant, You can find out about your direct lab assistant on WebReg. Having said that, you are welcome to ask your questions from any of our available lab assistants. After presenting each lab, you need to hand in your presented solution to your lab assistant. Use "TDDD97 - 2018 - handing in lab X" as the subject. If you use Gitlab, Dropbox or any other service to share your code with us then you still need to send the mentioned email containing the link to the source code. If you use Gitlab/Github, please make sure you have added your assistant to the repository as "Reporter".

Note: Handing in code, even if you are passed, is a requirement.

During the presentation you need to show first your implementation works and second you have good knowledge about your implementation. You shall also be asked questions individually by your assistant if you're working in group. Your assistant shall also review the code on the spot to make sure your implementation is according to the course requirements.Your presentation may take 7-15 minutes depending on the lab assignment. You may get comments from your assistant which shall be addressed before handing in the code.

Note: We strongly recommned everyone to present each lab as soon as it is done. It would also be a good idea to plan your whole work from the beginning and define milestones/own deadlines for each lab.

What happens if ...

  • If everything looks good, you shall get "R" on Webreg until you handin your code. Once handed in, you will pass without any further code review.
  • If you get comments on the code during your presentation, then you will get "C" on Webreg until fixes are done and handed in.
  • If the application doesn't work as it should in the begining of the presentation, then your assistant shall continue with the next student until you manage to fix the problem and try again.
  • If one of the lab partners seems not to have enough knowledge about the code, then your assistant shall ask him/her to do the presentation again in the future after studying the code.

In case you don't manage to implement the requested fixes or to do them properly before the final deadline for handing in the code, they shall be handed in by the next upcoming re-exam period.

Useful resources

From W3Schools:

Page responsible: Sahand Sadjadee
Last updated: 2018-02-09