Course Layout
Zoom-link for the lectures: https://kth-se.zoom.us/my/stene
The course covers basic concepts for distributed applications, for example
- Distributed applications that communicate over sockets.
- Web applications and application servers.
- Distributed applications that communicate over RMI.
- Framework, design and handling of threads for above-mentioned applications.
1. Scheduled Activities
There are two kinds of activities, lectures and labs.
2.1 Lectures
There are four lectures which won't be recorded. However, there will be instruction clips added after each lecture.
2.2 Labs
During the labs you can ask questions and present your assigments. No new material is presented. You are allowed to work by yourself, recommended to work in pairs and not allowed to be three or more. We will use a queeing system that can be found at https://queue.csc.kth.se/ (join queue "ID1212"). You create a zoom-meeting and post the meeting-id in the "location"-field and wait for your turn, that is, the TA will connect to *your* meeting. If you work with a partner, he/she joins the meeting too. If you cannot find a partner you can advertise under Discussions.
2. Recommended Books, Online Tutorials and Documentation
The course is not based on reading from any particular source, but recommended material is shown below.
Books
- Java Network Programming, 4th Edition Links to an external site., Developing Networked Applications, by Elliotte Rusty Harold, O'Reilly & Ass., Inc., 2013
Java Tutorials and Documentation
- The Java Tutorials Links to an external site.. Practical guides for programmers who want to use the Java programming language to create applications.
- Java SE Technical Documentation Links to an external site.
Spring Tutorials and Documentation
- Spring Guides Links to an external site. Short hands-on instructions for many different development task with Spring
- Spring Boot Reference Guide Links to an external site.
- Spring Framework Reference Guides Links to an external site.
Android Tutorials and Documentation
- Android API Tutorials Links to an external site.
- Training material for the Android SDK Links to an external site.
3. Programming Environments
3.1. Java Platforms
- Java Platform, Standard Edition (Java SE) Links to an external site.
- Android Studio (and SDK) Links to an external site.
3.2. Integrated Development Environments (IDE) for Java
An IDE (Integrated Development Environment) provides integrated visual design, editing, compilation, and debugging capabilities.
- NetBeans Links to an external site.NetBeans will be used in most of the videos.
- IntelliJ IDEA Links to an external site.
- Eclipse Links to an external site.
4. Questions
- Questions regarding development (bugs in your code, how to code a certain functionality, etc) shall be asked primarily to teaching assistants during labs.
- Questions regarding course layout and examination shall be posted here in Canvas, under Discussions.
5. Examination
The examination consists of
- Approved labs (INL1; 4.5 hp)
- Approved project (PRO1; 3 hp)
5.1. Labs, INL1, 4.5hp
You pass the INL1 sub course when all labs are approved. The labs are examined through an oral presention where you explain your solution to a teaching assistant. If you fail then you can present your lab at a later occasion. If you pass but didn't solve the extra assignment then you can also present these later. Please do not present more than one (1) lab at each lab occasion.
5.2. Project, PRO1; 3 hp
You pass the PRO1 sub course when your project is approved, the project shall be submitted in Canvas, on the corresponding Assignment page. For more information on how to report the project, see Instructions For Project.
5.4 Grading
Both the INL1 (labs) and PRO1 (project) sub course are graded with the grades P/F but the entire course is graded with the grades A-F based on the total sum of extra points collected on labs and project. The grade limits are as follows.
- E: passed all mandatory assignments on INL1 and PRO1
- D: all the requirements from grade E with all extra assignments on INL1
- C: all the requirements from grade D and one point on PRO1
- B: all the requirements from grade D and two points on PRO1
- A: all the requirements from grade D and three points on PRO1
Note that you do not get a final grade unless you have passed both INL1 and PRO1.
6. Disability
Support via Funka
If you have a disability, you may receive support from Funka.
https://www.kth.se/en/student/studentliv/funktionsnedsattning
Inform the teacher
We recommend you inform the teacher regarding any need you may have. Funka does not automatically inform the teacher.
7. Teachers
Course responsible teacher:
Sten Andersson, Examiner, stene@kth.se
Teaching assistants:
Gibson Chikafa (chikafa@kth.se)
Rafi Malkhasian (rafim@kth.se)
Mazen Mardini (mazenm@kth.se)
Mikołaj Młyńczak (mlynczak@kth.se)
Jacob Sörme (sorme@kth.se)
Mohammed Helal Uddin (mhud@kth.se)
