Labs
The purpose of the laboratory exercises is to get "hands-on" experience with programming and design. All labs should be prepared at home or in one of KTH's lab rooms before the actual examination occasion. That is, the lab time slot that you book (see below) is for examination of the lab, not to do the actual lab. The only exception to this is the "surprise assignment", which you must complete during the lab.
Note: See the bottom of the Course PM for information about Validity of Incomplete Labs; that is, how long incomplete labs are valid.
Note that the LD-LAB (Logic Design Lab) is only part of IS1500 and not IS1200. The lab is, however, available as a review for IS1200 students: it can be a good preparation for LAB 4 about processor design. See LD-LAB and Lab Assignments and Files below.
All results of the labs can be found in the menu item Grades, located in the left menu. If a lab is marked as "3" (for labs 1, 2, 3, and 4) or "1" (for the LD-LAB) in the Score column, you have passed that lab. The grades for lab 1, 2, 3, and 4 are reported immediately at the lab session, and the LD-LAB grade is reported in Canvas within a couple of days after the submission deadline.
Booking Labs
All booking of labs are done in Canvas and involves two steps, i) join a lab group, ii) reserve lab slots as a group in the Canvas "people" page. You must always book a seat for your group.
A time slot for a lab must be booked the week before the lab occasion is scheduled. More specifically, by Friday at 17:00 of the week before the lab is scheduled.
Booking for make-up labs
The booking system works as follow.
You can book multiple time slots (if available), but you must follow the following scheme:
- on Monday, you can book a single time slot as a group. Search for "Makeup-lab-1 booking" on the People -> Groups page.
- on Tuesday, you can book a second time slot as a group. Search for "Makeup-lab-2 booking" on the People -> Groups page.
- on Wednesday, you can book a third time slot as a group. Search for "Makeup-lab-3 booking" on the People -> Groups page.
- on Thursday and Friday, you can book a fourth time slot as a group. Search for "Makeup-lab-4 booking" on the People -> Groups page.
You can present any lab at any make-up lab session, but at most one lab per session. The numbering 1, 2, 3, and 4 of the bookings is just for our convenience. For example, you can present Lab 3 during "Makeup-lab-1 booking".
If two students from the same group book more than the allowed number of time slots, we automatically remove the sooner occasions.
The scheme is enforced to allow all students to present the same number of labs at the makeup session.
Joining a Lab Group
A lab group consists of two students (we strongly recommend doing the labs in pairs, but single student groups are allowed if properly motivated). Groups can never be larger than two students.
To join a lab group, please go to the tab "Personer" ("People") in the left menu. If you do not have this menu, either i) you are not logged into Canvas with your KTH ID, or ii) your are not registered on this course. On the page "Personer", please select the tab Groups and then join an existing group with category lab groups of your choice. Also note down the number of this lab group. Both members of a lab group should of course agree on working together.
Note, you have to be part of lab group in order to reserve lab seats, even if you plan on doing the labs by yourself.
Reserving a Lab Slot
Time-slots for all labs will appear on the "People" page on Canvas. Choose the Lab for which you want to book a seat and choose a timeslot. Search for "Lab X" where X is the number of the Lab you want to book a time slot. Only one student per group should register.
To see your reservation
To show your bookings, please enable your lab group in the list of calendars in the Canvas calendar.
Regarding Lab Booking in General
- Note that each group is only guaranteed one 2h session per lab.
- If you have not booked a seat in a session, you are not allowed to be examined at that session. You can, however, still come to the lab and hope to receive a vacant spot.
- You book a seat for each lab separately: one booking for LAB 1, another one for LAB 2, and so on.
- Book early, so that you get a seat at the session you prefer.
Procedure at the Lab Session
The examination will be performed live in the KTH computer rooms or (with a few exceptions) virtual. See the schedule for information what computers rooms are used for which occasion and whether a lab is virtual or not. You need to have booked a 2h time slot in Canvas to be able to be examined (see Booking Labs above).
General Information
- Sessions always start at the exact time specified, e.g., 8:00 precisely.
- If you are 15 minutes late, or more, you lose your seat.
- We use the queue system "Stay A While", and the queue for our course is found at http://queue.csc.kth.se/Queue/Dtek. We will use this system to manage the queue both for physical and online lab sessions. The queue system is only available during the lab sessions, and is used as follows:
- If you are booked at the session, you can use the queue both to request examination and for getting help. Please enqueue yourself for either examination or help-request within the first 15 minutes (this is also used to ensure that you are present at the lab).
- If you are not booked at the session, you can use the queue for getting help. However, booked students always have priority.
- If you are not booked at the session, you can, during the first 15 minutes (approximately) of the lab, put yourself in the queue with the comment "WAITING FOR SEAT X", where X is the session you are queuing for (e.g., X = 10-12). Approximately 15 min after the start of the lab (e.g., 8:15 if the session starts at 8:00), one of the teachers will check if there are free seats available. If so, you may (depending on how many other students also want a seat) get a seat, which allows you to be examined at that lab session. It is not possible to join a lab session later than this, even if a group of students leaves. Note that if you are both waiting for a seat and want (lower prioritized) help, you have to indicate both in the queue comment (e.g. "WAITING FOR SEAT X, also need help"). Assistants will not help you if you only have "WAITING FOR SEAT X" as a comment.
- You can be examined on the current and any previous labs at a session. For instance, you can be examined on LAB 1, LAB 2, or LAB 3 on a LAB 3 session. It might (no guarantees) also be possible to be examined at an upcoming lab (e.g., LAB 4 at a LAB 3 session) depending on the available teaching assistants. The general rule is that you may only be examined on one lab per session. In exceptional cases, the teaching assistants might (at their discretion) allow you to complete more than one lab.
- A single student may be grouped together with another single student by the teacher. In this case, the two students must review each others' preparations. Only one set of programs can be demonstrated at the session. Both students must always be able to answer all questions on all program code, no matter who wrote it.
- At the start of the lab, you must be ready to present the first two parts of the lab immediately, since those should have been completed prior to the lab session.
- Always check that you received your grade on Canvas during the examination session.
Zoom Instructions (Only for when the lab is held virtually)
Before the lab
Please check that Zoom works for you. Information is available at https://intra.kth.se/it/kth-videoconferencing/zoom, but briefly:
- Go to https://kth-se.zoom.us/ Links to an external site.
- Click "Host", then log in through "Sign in with SSO", using the domain "kth-se", then login with your KTH account.
- Either download the client or click "start from your browser". We recommend downloading the client, since we have had some issues with stability running in the browser, and the browser version seems to only support Google Chrome.
- Make sure that you have the following (if you have difficulties fulfilling any of the below requirements, please contact us):
- A working microphone.
- A working camera to show the ChipKIT. We suggest using a smart phone for the microphone and camera. Most laptop computers also have a web camera and microphone built-in, so that you can simultaneously record your face using the web camera, and the ChipKIT using the smart phone. It is possible to connect both your laptop/desktop computer and smart phone to the same Zoom session (see here Links to an external site. for Zoom clients, including mobile clients for Android and iOS).
- A desktop/laptop computer on which you can share your screen through Zoom (we will be using that to look at your code). Desktop computers with Zoom installed are available in the scheduled lab rooms (they do not have microphones and web cameras, however). For labs held online, you are of course free to use your own computer and sit wherever you want. - When you are in the room/meeting you can find the room/meeting URL under the meeting info button (The (i) in the top-left corner). The format of the URL should be https://kth-se.zoom.us/j/<room-id>. Please use it to test that someone else joining your room can talk to you and see the shared screen.
When it is time for the lab
When it is time for the lab the procedure will be as follows:
NOTE: For all queue entries in http://queue.csc.kth.se/Queue/Dtek, paste your zoom URL (e.g. https://kth-se.zoom.us/j/<room-id>) in the Location field so that the teachers and TAs can reach you.
- When the lab starts, open a zoom room using the procedure above (and have your lab partner join), then add yourself to the queue (http://queue.csc.kth.se/Queue/Dtek) with the message "group X, get surprise", where X is your lab group number. An assistant will join the room and give you a surprise assignment.
- Note that you must be ready to present the first two parts of the lab immediately, since those should have been completed prior to the lab session. IMPORTANT: Please add yourself to the queue as soon as you have something to present. This is to avoid having idle teaching assistants during the session, which can often cause congestion towards the end, resulting in that not all students will be able to complete all parts of the lab. When you are ready to present any of the three parts of the lab, add yourself to the queue and make sure your room-id is present in the message. An assistant will join when they are available. Note that during examination, the assistant needs to see the output of compilation and similar things, so you should share your entire screen in Zoom as opposed to a particular window.
- If you want help, the procedure is the same: add yourself to the queue, indicate that you want help.
LD-LAB (IS1500 students only)
You do not need to book this lab. You simply submit your lab report in Canvas (see Assignments).
Lab Assignments and Files (all students)
LAB # |
Lab Title |
Type of Examination |
Lab Assignments | Files |
LAB1 |
Assembly Programming |
KTH Lab Room |
files-lab1.zip Download files-lab1.zip, time4mips.zip Download time4mips.zip |
|
LAB2 |
C Programming |
KTH Lab Room |
files-lab2.zip Download files-lab2.zip, uno32tests.zip Download uno32tests.zip |
|
LAB3 | I/O Programming |
KTH Lab Room |
||
LD-LAB | Logic Design |
Individual Lab Report |
Submission (for IS1500 only) |
|
LAB4 | Processor Design |
KTH Lab Room |
For the schedule of the lab activities for HT23 please check Important Dates
Available seat for Lab 4 (you can ask for help during any lab session where there are avilable seats).
Time | Location | #booked seats | #total seats | #available seats |
19 feb 08:00 - 10:00 | on-campus | 6 | 9 | 3 |
19 feb 10:00 - 12:00 | on-campus | 5 | 9 | 4 |
19 feb 13:00 - 15:00 | on-campus | 8 | 9 | 1 |
19 feb 15:00 - 17:00 | on-campus | 1 | 9 | 8 |
20 feb 08:00 - 10:00 | on-campus | 3 | 9 | 6 |
20 feb 10:00 - 12:00 | on-campus | 5 | 9 | 4 |
20 feb 13:00 - 15:00 | on-campus | 9 | 9 | 0 |
20 feb 15:00 - 17:00 | on-campus | 6 | 6 | 0 |
21 feb 08:00 - 10:00 | online | 9 | 9 | 0 |
21 feb 10:00 - 12:00 | online | 9 | 9 | 0 |
21 feb 13:00 - 15:00 | on-campus | 9 | 9 | 0 |
21 feb 15:00 - 17:00 | on-campus | 9 | 9 | 0 |
22 feb 08:00 - 10:00 | on-campus | 9 | 9 | 0 |
22 feb 10:00 - 12:00 | on-campus | 9 | 9 | 0 |
22 feb 13:00 - 15:00 | on-campus | 9 | 9 | 0 |
22 feb 15:00 - 17:00 | on-campus | 9 | 9 | 0 |
23 feb 08:00 - 10:00 | on-campus | 9 | 9 | 0 |
23 feb 10:00 - 12:00 | on-campus | 9 | 9 | 0 |