Skip to content
Computer Science · Grade 12

Active learning ideas

Deployment and Maintenance

Active learning works for deployment and maintenance because students need to experience the iterative, hands-on nature of real-world systems. By building pipelines, simulating failures, and responding to incidents, they internalize concepts that lectures alone cannot convey.

Ontario Curriculum ExpectationsCS.SE.13CS.PM.7
35–50 minPairs → Whole Class4 activities

Activity 01

Case Study Analysis45 min · Pairs

Pairs: CI/CD Pipeline Build

Students pair up to create a GitHub repository with sample code. They configure a GitHub Actions workflow for automated linting, testing, and deployment to a staging site on each commit. Pairs review logs, fix errors, and present their pipeline to the class.

Explain the challenges of deploying software to different environments.

Facilitation TipDuring the CI/CD Pipeline Build, circulate to ensure pairs are connecting each stage of the pipeline to real-world outcomes, not just technical steps.

What to look forProvide students with a scenario: 'A critical bug is found in a live e-commerce application just before a major sale. Describe one deployment strategy you would use to fix it quickly and explain why it's suitable.'

AnalyzeEvaluateCreateDecision-MakingSelf-Management
Generate Complete Lesson

Activity 02

Case Study Analysis35 min · Small Groups

Small Groups: Deployment Challenge Simulation

Groups receive cards depicting environments (dev, staging, prod) and issues (downtime, config errors). They select and justify a strategy like blue-green deployment, simulate the process with timers, then debrief on outcomes and adaptations needed.

How does continuous integration and continuous deployment (CI/CD) streamline the release process?

Facilitation TipFor the Deployment Challenge Simulation, provide a limited set of tools so groups must prioritize solutions under time pressure, mirroring real constraints.

What to look forAsk students to list three potential challenges when deploying software to mobile devices compared to web servers. Then, ask them to explain how CI/CD could help mitigate one of those challenges.

AnalyzeEvaluateCreateDecision-MakingSelf-Management
Generate Complete Lesson

Activity 03

Case Study Analysis50 min · Individual

Individual: Monitoring Dashboard Setup

Each student deploys a simple web app using Docker, then sets up Prometheus or a similar tool to monitor metrics like CPU usage and response times. They generate synthetic traffic and alert on thresholds, documenting findings in a short report.

Assess the importance of post-deployment monitoring and maintenance for software longevity.

Facilitation TipWhile setting up the Monitoring Dashboard, require students to justify their metric choices in writing to reinforce critical thinking over default settings.

What to look forFacilitate a class discussion using this prompt: 'Imagine you are responsible for maintaining a popular social media app. What key metrics would you monitor post-deployment, and what actions would you take if those metrics indicated a problem?'

AnalyzeEvaluateCreateDecision-MakingSelf-Management
Generate Complete Lesson

Activity 04

Case Study Analysis40 min · Whole Class

Whole Class: Maintenance Incident Response

Present a simulated outage scenario via shared screen. Class votes on triage steps, assigns roles for logging review and hotfix application, then reconvenes to analyze root cause and prevention strategies.

Explain the challenges of deploying software to different environments.

What to look forProvide students with a scenario: 'A critical bug is found in a live e-commerce application just before a major sale. Describe one deployment strategy you would use to fix it quickly and explain why it's suitable.'

AnalyzeEvaluateCreateDecision-MakingSelf-Management
Generate Complete Lesson

A few notes on teaching this unit

Teach deployment and maintenance by treating the classroom as a miniature DevOps environment where students experience the consequences of their decisions. Avoid focusing solely on theory—use failure as a teaching tool by having students debug live pipeline issues. Research shows that hands-on failure analysis deepens understanding of system reliability and the value of automated testing.

Successful learning looks like students confidently explaining how CI/CD automates updates, selecting appropriate deployment strategies for scenarios, and monitoring systems to preempt maintenance issues. They should also demonstrate the ability to troubleshoot deployment challenges in collaborative settings.


Watch Out for These Misconceptions

  • During the CI/CD Pipeline Build, students may think deployment is a one-time event after development ends.

    Use the pipeline build to show students how each code change triggers a full cycle of testing and deployment, reinforcing the iterative nature of CI/CD through their own work.

  • During the CI/CD Pipeline Build, students may believe CI/CD guarantees bug-free releases.

    Introduce intentional pipeline failures during the activity, then guide students to debug and analyze why automated tests didn’t catch the issue, highlighting the need for layered testing strategies.

  • During the Monitoring Dashboard Setup, students may assume maintenance only matters after major failures occur.

    Have students set up alerts for subtle anomalies in their dashboards, then discuss how early detection prevents escalation, shifting their focus to proactive maintenance.


Methods used in this brief