Skip to content

SoftEng-HEIGVD/Teaching-HEIGVD-RES-2021

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Teaching-HEIGVD-RES-2021 (PT)

This is the main repo for the course RES, taught at HEIG-VD in 2021.

This is where you will find lecture notes, slides and some of the examples presented in the class. We will also keep links to the different repos used throughout the semester (for assignments).

Upcoming deadlines

  • Sunday, June 20th (23 PM): submit the UDP Orchestra lab
    • You work in pairs

Schedule

Week Course Lab
1 Introduction, process & tools Chill Protocol (no grade)
2 Java IO - part 1 Java IO
3 Java IO - part 2 Java IO (grade, weight 1)
4 TCP programming Protocol design exercise (no grade)
5 TCP programming Protocol implementation exercise (no grade)
6 Test 1 SMTP lab
Eastern break
7 SMTP SMTP lab
8 Web casts: HTTP Protocol + intro to Docker SMTP lab
9 (29/04) Web casts: HTTP Protocol + intro to Docker SMTP lab (grade, weight 1)
10 (06/05) Live: HTTP infrastructure HTTP infra lab
11 (13/05) Ascencion HTTP infra lab
12 (20/05) Test 2 HTTP infra lab
13 (27/05) HTTP infra lab (grade) HTTP infra lab (grade, weight 3)
14 (03/06) Live: UDP programming UDP Lab (orchestra)
15 (10/06) UDP Lab (orchestra) UDP Lab (orchestra)
16 (17/06) Semester review & exam prep UDP Lab (orchestra) (grade, weight 1)

Repo for the labs

Title Repo (new repos need to be created for 2021) Webcasts Graded
Chill Protocol https://github.com/SoftEng-HEIGVD/Teaching-HEIGVD-RES-2021-Chill RES 2021 Playlist (12 webcasts, ~2 hours). We need to update this, in order to use GitHub Actions instead of TravisCI. Also see this article on Medium. no
Labo Java IO https://github.com/SoftEng-HEIGVD/https-github.com-SoftEng-HEIGVD-Teaching-HEIGVD-RES-2021-Labo-Java-IO 3 webcasts have been added to the RES 2021 playlist yes
Protocol design exercise https://github.com/SoftEng-HEIGVD/Teaching-HEIGVD-RES-2021-Exercise-Protocol-Design 1 webcast has been added to the RES 2021 playlist. no
SMTP https://github.com/SoftEng-HEIGVD/Teaching-HEIGVD-RES-2021-Labo-SMTP 4 webcasts have been added to the RES 2021 playlist. yes
Web Infrastructure https://github.com/SoftEng-HEIGVD/Teaching-HEIGVD-RES-2021-Labo-HTTPInfra 12 webcasts have been added to the RES 2021 playlist yes
Orchestra https://github.com/SoftEng-HEIGVD/Teaching-HEIGVD-RES-2020-Labo-Orchestra Procedure de validation: https://youtu.be/yjDTJYgSE8M yes

Resources

Week 1

  • Course introduction: objectives, semester planning, intro to first lab
  • The "Chill Protocol" lab
    • Get familiar with the GitHub workflow
    • Get familiar with toolset and practices that will be used during the semester (maven, lombok, JUnit)
    • See a first example of a "communication" protocol
  • Slides

Week 2

  • Java IO, part 1
  • The Java IO Lab (file operations)
  • Slides

Week 3

  • Java IO, part 2
  • The Java IO Lab (file operations)
  • Slides

Week 4

Week 5

  • TCP programming, part 2
  • Slides and extra slides.
  • Recommended activities for the lab:
    • Work in pairs
    • One student implements the client
    • One student implement the server
    • Try to make the client and the server work together, troubleshoot and review each other code
  • This is the URL for an old lab (Roulette Protocol) that I talked about during the lecture. Once again, you do not have to do this lab, but it is interesting for you to read the code to understand the structure of a multi-threaded TCP server implementing a custom application-level protocol.

Week 6

  • Written test

Easter Break

Week 7

  • The Simple Mail Transfer Protocol (SMTP)
  • Theory and demos on Thursday, lab on Friday
  • Slides

Week 8

Week 9

Week 10

Week 11

  • No lecture this week, because of the Ascencion break
  • However, you are encouraged to continue working on the HTTP Infrastructure lab. It is time consuming, but it is not hard. It is well guided (the webcasts guide you through the process). But, as always, be careful: everyone in the group actually does the work and understand the procedures. Otherwise, you will have a hard time at the exam.

Week 12

  • Test 2
  • This test will focus on the SMTP and HTTP protocols, as well as on Docker.
  • We will keep the content of the "HTTP infrastructure" lecture for the exam.
  • There will very probably be a practical part, like for the first test. So make sure that you have a running Docker installation on your machine, that you have the toolset presented in the videos (e.g. curl, postman) ready to be used.

Week 13

  • Work on Web Infra lab

Week 14

Week 15

  • Work on orchestra lab

Week 16

  • Recap, Q&A before exam

About

Main repository for RES 2021 @ HEIG-VD

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published