Course Description
This DevOps course offers a comprehensive view into the world of Development and Operations, focusing on the principles, tools, and practices that are essential in modern software development. Students will explore cloud computing, containerization, continuous integration, continuous delivery, agile methodologies, and more. Hands-on assignments and team projects will allow students to gain practical experience in implementing DevOps concepts.
Learning Goals
By the end of this course, students will be able to:
- Understand the principles and practices of DevOps.
- Utilize cloud computing technologies and containers like Docker, Kubernetes, and OpenShift.
- Implement agile development methods and Scrum practices.
- Develop AI applications using Python and Flask.
- Apply Linux commands and Shell Scripting.
- Use Git and GitHub for version control.
- Implement Continuous Integration and Continuous Delivery (CI/CD) pipelines.
- Understand application security and monitoring.
- Successfully complete a DevOps capstone project.
Lecture Notes
All lecture notes will be provided online. You can find the lecture notes of the course by clicking on the provided link.
Grading
- Participation: 10%
- Midterm: 30%
- Term Project: 60%
Course Outline
Week 1: Introduction to DevOps
- Overview of DevOps
- Importance of DevOps in Modern Software Development
- Collaboration Between Development and Operations
Week 2: Introduction to Cloud Computing
- Basics of Cloud Computing
- Types of Cloud Services
- Implementing Cloud Solutions
Week 3: Introduction to Agile Development and Scrum
- Agile Methodologies
- Introduction to Scrum
- Sprint Planning and Execution
Week 4: Hands-on Introduction to Linux Commands and Shell Scripting
- Basic Linux Commands
- Shell Scripting
- Automation with Scripts
Week 5: Getting Started with Git and GitHub
- Git Basics
- GitHub Workflows
- Collaborative Development with Git
Week 6: Developing AI Applications with Python and Flask
- Basics of AI Development
- Implementing AI with Python
- Building Web Applications with Flask
Week 7: Introduction to Containers w/ Docker, Kubernetes & OpenShift
- Containerization Concepts
- Working with Docker
- Kubernetes and OpenShift Overview
Week 8: Application Development using Microservices and Serverless
- Understanding Microservices
- Serverless Architecture
- Developing with Microservices and Serverless
Week 9: Introduction to Test Driven Development (TDD)
- Test Driven Development Concepts
- Writing and Running Tests
- Refactoring and Continuous Testing
Week 10: Continuous Integration and Continuous Delivery (CI/CD)
- CI/CD Pipelines
- Automation and Testing in CI/CD
- Deploying with CI/CD
Week 11: Application Security and Monitoring
- Security Best Practices
- Monitoring Applications
- Incident Response
Week 12: DevOps Capstone Project - Part 1
- Project Planning and Design
- Team Collaboration
- Initial Implementation
Week 13: DevOps Capstone Project - Part 2
- Continued Development
- Integration and Testing
- Preparing for Delivery
Week 14: Review & Additional Topics
- Comprehensive Review of All Topics
- Additional Tools and Practices in DevOps
- Discussion on Career Opportunities
Week 15: Final Project Presentation & Course Conclusion
- Final Project Presentation
- Feedback and Evaluation
- Course Conclusion and Future Learning Paths
Additional Resources
Additional resources, tutorials, and readings may be provided throughout the course to supplement learning. Students are encouraged to explore these materials to deepen their understanding of DevOps concepts.
Please note that this syllabus is subject to change, and any modifications will be communicated to students in a timely manner.