Skip to content

who-knows-inc/EK_DAT_DevOps_2026_Spring

Repository files navigation

DevOps Semester Plan

Semester Plan

Taught on: Thursday

# Date Topics Before Class After Class Learning Goals

1

Jan. 29th

Can use basic git commands to clone, add, commit, push, and pull.

Can ssh into a server and use basic Linux commands.

Can do network / process / server troubleshooting.

Can identify problems with an inherited codebase.

2

Feb. 5th

Knows which type of files not to push into version control and why. Will ensure that this is followed-through in the group repositories.

Can and will create proper commit messages.

Knows proper casing and naming conventions.

Understands the OpenAPI specification, why it exists and knows different ways to work it.

Can generate an OpenAPI specification from the group’s application.

Can create a .env file and import/use the environment variables in the group’s chosen programming language.

3

Feb. 12th

Understands the terminology surrounding Github Actions such as workflows, runners, jobs, steps, and actions.

Can create a basic Github Action workflow that is triggered by a push and pull request.

Understands basic cloud concepts.

Can create a virtual machine in Azure and SSH into it. Can open ports and set the IP address to static.

Understands the difference between public and private ssh keys.

Can suggest various deployment strategies and knows the pros and cons of each.

Understands the difference between pull-based and push-based deployment.

4

Feb. 19th

Understands the importance of software quality and tools to measure it.

Understands why technical debt occurs and why it’s important to avoid.

Can argue for the importance of linting.

Knows the difference between linting in a Git Hook vs. a CI/CD pipeline. Can argue for the pros and cons of each.

Is familiar with different branching strategies.

5

Feb. 26

Understands different levels of build tools from OS to language-specific ones.

Understands the difference between packaging and virtualization / containerization.

Understands how Docker differs from its predecessors and modern alternatives.

Can understand simple Dockerfiles for different languages.

6

March 5th

Can argue for the benefit of Docker compose over only using Dockerfiles.

Understands various basic docker-compose.yml files.

Understands the need to setup a volume in order to achieve live reload in Docker and knowing that this requires a separate development build.

Understands Continuous Delivery as we define it in this course and has a general idea of how it works.

Can explain what agile is, why it was created.

Understands the history of DevOps and different ways to understand it.

7

March 12th

Guest Lecture by Jan from Eficode

Knows the historical angle of DevOps and how it has evolved.

Understands the problems that DevOps aims to solve in modern organizations.

Understands the concept of psychological safety and why it matters.

Understands how crucial it is for business competitiveness to bring down pipeline execution time. Can implement simultanously running pipelines to cut time whenever it is possible.

Has read all the course literature and can talk about the content.

8

March 19th

Has a clear view of different definitions of DevOps and is able to conjure their personal definition.

Understands the concepts of the principles of Flow, Feedback, and Continuous Learning and Experimentation.

Can argue for the importance of carrying out a postmortem and knows how to approach conducting one.

Can recall various ways to achieve continuous deployment.

9

March 26th

Can explain the DevSecOps mentality of shifting left and different ways to ensure security in various steps of the DevOps 8.

Can bring up different types of security testing. Can explain SAST vs. DAST.

Knows how to security scan a Docker image. Knows how to set the least privileges for the user.

Understands the IP tables problem of Docker and can suggest a solution.

Understands the mentality of continuous testing. Can mention different types of testing and where they fit in the DevOps 8.

Can explain shift-left vs. shift-right testing. Can bring up examples of tests in each category and the benefit that they provide.

10

April 9th

Understand choosing a database setup based on the application’s needs. Knows when not to use an ORM.

Can argue why MySQL is a problematic choice for a database and can list additional features that other databases offer.

Can give examples to illustrate the difference between migrations and seeding and recall how we did it in Knex.js.

Knows about the difference between web scraping and web crawling. Has an overall idea of different ways to implement it with different tools / libraries / frameworks.

Follows good web scraping / web crawling practices such as legality and politeness.

11

April 16th

Knows how search indexing differs from linear search. Can bring up different things to consider when constructing a ranking algorithm.

Understands the difference between logging and monitoring. Can argue for the importance of both and give exact use cases for why one would do it.

Can argue the importance of logging and monitoring in a DevOps setup and give examples in relation to the DevOps 8.

Can implement logging in a programming language.

Is familiar with a monitoring setup. Knows the difference between push and pull-based monitoring.

Can argue why a monitoring setup should not run on the same server as the application.

12

April 23rd

Understands the problems that Infrastructure as Code solves.

Knows about how we define Infrastructure as Code and knows how they differ from Configuration Management.

Can run basic commands in Terraform to provision infrastructure.

13

April. 30th

Introduction

Deploying Infrastructure / Configuration Managment

Deployment Strategies

Orchestration

Kubernetes

Kubernetes - Hands-on

Resilience

Maintenance

Course Conclusion

Knows different deployment strategies and how they work.

Understands the concept of orchestration and can argue for the importance of it.

Knows the very basic concepts of Kubernetes.

Understands the importance of resilience in systems and the idea of applying chaos engineering to improve it.

14

May 7th

Wrap up the project. Write the report.

No lecture.

No lecture.

15

May 14th

National holiday on the day but you still have the other hours of the week subtracted for course work. Finish the report.

No lecture.

No lecture.

16

May 21st

Prepare the exam presentation.

No lecture.

No lecture.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors