This repository contains the material and content of the DevOps course at KTH Royal Institute of Technology
Registration: You must register to this course through the Swedish registration system https://antagning.se.
Next course start: March 2020 (Academic Period 4).
Past edition:
- HTML: https://www.kth.se/social/course/DD2482/calendar/
- ICS: https://www.kth.se/social/course/DD2482/subgroup/vt-2020-devops20/calendar/ical/?lang=en
If you can't see any schedule events on the HTML page
Change course rounds/groups in My settings or change the time period above so that it conforms to the course round.
- Preparatory reading: https://youtu.be/qcm0rG8EKXI
- Course introduction Martin Monperrus
- Your/our expectations
- Teaching philosophy, teaching values
- Team
- Agenda
- Grading
- Communication (watch this repo!)
- Infrastructure
- Relation to Research in Testing & DevOps
- Testimonial from last year's student: Julius Colliander Celik
- Goals: watch the repo, find a first teammate, register one first task as a pull request on this repo.
- Session: Grounded theory for DevOps
- Lecture: Rhys Arkins
- Preparatory reading: Introduction to Probot
- Student presentations
- Lecture testing: Benoit Baudry, KTH.
- Preparatory reading: Mutation analysis, Clean unit tests
- Lecture CI: Mats Skoglund, Scania.
- Student presentations
- Introduction to research and collaborative projects (Benoit Baudry)
- Lecture: Amir Gaber
- Preparatory material: Risk Management Framework for Information Systems and Organizations
- Page 38: Asset identification
- Page 41: Risk assessment – system
- Page 42: Requirement definition
- Page 44: Requirement allocation
- Preparatory Material: The CyberSecurity Body of Knowledge
- Preparatory material: Risk Management Framework for Information Systems and Organizations
- Student presentations
- Lecture: Monitoring Martin Monperrus
- Preparatory material: Notes on monitoring
- Lecture: Serverless computing Julien Bisconti
- Preparatory material: https://www.youtube.com/watch?v=b7Nc_FJiosk
- Student presentations
- Lecture: Automatic program repair Martin Monperrus
- Lecture: Infrastructure as code (slides) Daniel Caballero Rodriguez (Fastly)
- Fuzzing competition results
- Student presentations
- Location: U31, U31 Break-out
- Preparatory reading: Playing Apart – ett unikt experiment i ett samarbete mellan Telia och Göteborgs Symfoniker
- 9h15 Q&A
- 10h15 Final Guest Lecture Cristian Deri, Vidir Reynisson
- 11h15 Proposal festival for next year
- 12h15 Personalized feedback break-out sessions
Lab slots do not require mandatory presence. They are designed for students to meet TA and discuss questions on site. During the lab session, please use this Queue to register your call. Our TAs will contact you in minutes according to the location you specify.
To pass the course, the student has to collect 4 grades:
- the grades are in category: "presentation", "demo", "essay", "tutorial", "competition entry", "contribution to open-source", "covid19" (choose four out of them, at most one in the same category, it is not necessary to cover everything).
- the strict deadline for essays, tutorials, covid19 and contributions to open-source is April 30 2020, 23h59 Stockholm time; the deadline for competition and demos are respectively on pages "competition entry" and "demo"; the strict deadline for repeated tasks (all) is May 31 2020, 23h59 Stockholm time.
- the student proposes a category and a topic, which is discussed and accepted by the TA. The proposal is made as a pull-request on this repository. The four graded contributions must have little overlap.
- the same student cannot choose the same topic for two different tasks. The four tasks should cover different aspects of DevOps.
- each grading category, there is a grading form, which explains how to pass / pass with distinction.
- 4 Pass means a final E, 3 Pass / 1 Distinction means a final D, 2 Pass / 2 Distinction means a final C, 1 Pass / 3 Distinction means a final B, 4 Distinction means a final A
- for the competition, the distinction is given to the top-25% best performing teams
- the grades are announced as a pull-request or issue comment on this repository.
- Group work is encouraged (max 3 persons) but you cannot be with the same persons for more than 2 projects. You can do a work alone for one or at most two projects.
- A failed task requires to pass it again at the end of the course, based on the feedback from the failure. A repeated task cannot be passed with distinction. A task can only be repeated once.
- If the whole course is failed, no grades are kept if the student registers again to the course the year after.
Group Rules
- When you send a pull request for registration, please follow the name convention of using email addresses of two members to create the folder: email-email.
- We recommend 2 students. Three is also possible for ambitious essays, demos or contribution to open-source.
- All communication for the course DD2482 should be sent to [email protected].
- you create issues here if you think the question is good to be discussed publicly, the rules of netiquette fully apply.
In case the conditions do not allow for in-person participation, because of COVID-19, the course can be attended remotely.
Lectures:
- the lectures will be streamed, the URLs will be posted on KTH#316
- the recording and sharing of streamed lectures (full or fragments) is not allowed without explicit permission of the course professor and lecturer
- questions are asked on the streaming chat (one TA is following the chat), no audio remote interruptions are allowed.
- the slides are shared via a link in #316, for double screening. (Zoom is not used to share slides)
Lab sessions:
- During the planned lab time slot, please use this Queue for booking online meetings
- Specify your zoom meeting link (or other platforms like Skype / GoogleHanouts) when you register the queue
- Our TAs will reach you asap
The remote grading scheme changes as follows:
- "essay", "tutorial", "competition entry", "contribution to open-source": the rules remain the same
- "demo": the screencast is the unique item to be handed over and graded
- "presentation": presentations will be done during lecture sessions online by screen sharing
- KTH Social URL: https://www.kth.se/social/course/DD2482/
- Kopps URL: https://www.kth.se/student/kurser/kurs/DD2482?l=en
This course is designed with great inputs from Chris Parnin, Julien Bisconti, Simone Stefani, Jaana Nyfjord, Amir Gaber, Göran Paues, Lowe Schmidt, Laurent Ploix, Diarmuid Corcoran, Jonathan Grahl, Mattias Wildeman, Tomas Ekholm, Vincent Massol, David King and others. We are very grateful for their contributions!