Hide menu

Labs: General information


Introduction

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, also for 732A56. Normally, you will work in pairs in this course, but you may also choose to work alone. The group you sign up in determines which lab assistant you present your solutions to. Even though it is recommended to ask questions only from your own assistant, if possible, 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.

Information Searching

Choosing the development environment

We use VSCode, a source-code editor, in this course. VSCode has already been installed on our computers in the lab rooms. You can find the documentation for VSCode by using the following link:

      https://code.visualstudio.com/docs

Use the command code in the terminal in order to start VSCode on our machines in the lab rooms.

Doing Labs

There are following alternatives which you can consider before getting started with the labs:
  • Doing the labs at place: You can use the rooms booked for each lab session. All teachers shall be available at place.(Strongly recommended) Please note that assistance and examination happen only in person.
  • Doing the labs at distance using ThinLinc. By using thinlinc you don't need to install any tool other than ThinLinc itself and probably Teams for a better experience. Having said that ThinLinc may not be stable at all times because of overload.
  • Doing the labs at distance on own computer. All tools used in this course shall be needed to be downloaded and installed, free of charge:
    • A number of web browsers like Chrome and Firefox
    • Python
    • VSCode

Examination

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

Lab Assignments

  • Lab 1. Client-side Development using HTML, Javascript and CSS. [PDF] [ZIP]
  • Lab 2. Server-side Development using Python and SQL. [PDF][TESTS.PY]
  • Lab 3. Asynchronous Client-Server Communication. [PDF]
  • Lab 4. Project. [PDF]

Tests.py shall be used during and also by the end of lab 2 to verify that your implementation is according to the provided specification. You start your presentation for lab 2 by running the test file. You need to run the server first and then the test file in a separate terminal. The requests library is initially needed to be installed by using pip3 install requests

Grade mapping for 732A56:
  • 5 -> A
  • 4 -> B
  • 3 -> C
  • U -> F

Absence List

Our lab assistants are not available, because of collision in the schedule, during the following lab sessions:

  • Abdullah: -
  • Belmin: jan 23rd 13:15-15:00, feb 15th, feb 19th, feb 29th, march 4th 10:15-12.00 -> mar 7th 15:15-17:00
  • Hoda: jan 23rd 15:15-17:00, feb 5th, feb 16th, feb 27th, mar 1st 15:15-17:00 -> mar 1st 17:15-19:00, mar 4th 10:15-12.00 -> mar 7th 15:15-17:00
  • Hussnain: feb 12th
  • Kwasi: -
  • Nandana: -
  • Yaman: jan 23rd 13:15-15:00, feb 15th, feb 19th(Sick)
Note: the above list can get updated during the course.

Assistance, Presentation and Handing in Code

Either you are in our lab rooms or doing the labs at distance, you need to use Camedin to place yourself in queue and get assistance. You need to click here once the lab session has started. For more information watch our short tutorial available on Youtube.

The following information needs to be filled in the form when you put yourself in the queue:

  • Your full name: One is enough if you are a group.
  • Locstion: The location you are sitting in.
  • Info: What it is about; question or presentation.
  • Password: TDDD97
  • Assistant: your assistant's name.

Each individual/group shall present its implementation to its direct lab assistant, You can find out about your direct lab assistant on WebReg. Even though it is recommended to ask questions from own assistant, if possible, 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. Gitlab shall be used for handing in your code but still you need to send an email containing the link to the Gitlab repo and also your LiU IDs. Use "TDDD97/LabXX - code submission" as the subject. Please make sure you have added your assistant to the repository as "Reporter".

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 follow our recommended soft deadlines.

Gitlab

All code submissions shall be done via Gitlab as following:

  1. Create a Git repository.
  2. Add your direct lab assitant as reporter to the repository.
  3. push your solution to the repository.
  4. Send an email to your lab assistant containing the link to the repository. The subject of the email: "TDDD97/LabXX - code submission". The email shall also contain the LiU-id of the students in the group and also any required comments if needed.

What happens...

  • If everything looks good, you shall get "R" on Webreg until you handin your code. Once handed in your assistant may do further review or pass directly.
  • If you get comments on the code during your presentation, then you will get "K" 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: 2024-03-01