DevOps: Course Description

DevOps is an umbrella term covering the latest thinking in software development and computer center operations. It encompasses Lean and Agile development practices, software as infrastructure for automating IT configuration and deployment, automated testing, continuous integration, continuous delivery, version control systems, value-stream mapping, Kanban boards, and other technological practices. But first and foremost, DevOps means breaking down the barriers between business units, development teams, quality assurance, security, and operations, barriers that all too often wind up blocking the creation of value-generating software.

This course will teach DevOps principles and practices through hands-on participation in developing a real-world software project. The class will divide up the work on the project the way an actual software team would, and apply DevOps principles and technologies to make the work proceed efficiently and enjoyably. Technologies explored will include git, GitHub, Python, shell scripting, HTML5, CSS, Javascript, Slack, Trello, Docker, Django, and automated testing and build tools.

Pre-requisites: junior or senior or graduate standing in computer science.

Possible Teams for Fall 2018

  • User Interface
  • Coding
  • Testing
  • Source code control
  • Configuration management
  • Monitoring
  • Deployment
  • Security
  • Compliance
  • Finance
  • DevOps culture
  • Workflow management