Course Detail
Course Detail
Course Description
| Course | Code | Semester | T+P (Hour) | Credit | ECTS |
|---|---|---|---|---|---|
| DEVOPS | COE3115964 | Fall Semester | 3+0 | 3 | 6 |
| Course Program |
| Prerequisites Courses | |
| Recommended Elective Courses |
| Language of Course | English |
| Course Level | First Cycle (Bachelor's Degree) |
| Course Type | Elective |
| Course Coordinator | Assist.Prof. Ahmet KAPLAN |
| Name of Lecturer(s) | Assist.Prof. Ahmet KAPLAN |
| Assistant(s) | |
| Aim | The aim of this course is to equip students with the fundamental knowledge and practical skills necessary for proficient Linux system management. Through a combination of theoretical concepts and hands-on practice, students will learn to effectively use basic Linux commands, monitor system performance, manage logs, and utilize container technologies such as Docker and Kubernetes. This course also emphasizes the importance of security best practices and automation in system management, preparing students to tackle real-world challenges and adapt to rapidly evolving technologies in the field. |
| Course Content | This course contains; Overview of Linux operating systems Understanding the Linux file system Introduction to Linux shell and shell commands,User and group management, Package management, System updates and upgrades,Monitoring Linux Systems Using top, ps, and iostat to monitor systems Introduction to monitoring softwares,Log Management, Understanding syslog Using Logrotate, ELK and Grafana dashboard,Process Management Understanding processes and process management Monitoring system performance with top, ps, and other tools File System Management Creating, mounting and unmounting file systems Understanding file system permissions and security,Docker Containerization, Overview of Docker Installing and configuring Docker, Creating and running Docker containers,Docker Containerization (Continued), Understanding Docker images, Using Dockerfiles to create images, Deploying multi-container application,Midterm,Kubernetes Introduction Overview of Kubernetes Understanding nodes and pods Deploying applications with Kubernetes,Kubernetes (Continued) Understanding services and load balancing Configuring storage and volumes Overview of Kubernetes security,Advanced Kubernetes Understanding replicasets and statefulsets Configuring ingress Using Kubernetes with Continuous Integration and Continuous Deployment (CI/CD),Linux Scripting Automating system administration tasks Linux Performance Optimization Understanding CPU and memory utilization Optimizing performance with tuning,Project presentations, Application of course concepts to real-world scenarios,Final Exam. |
| Course Learning Outcomes | Teaching Methods | Assessment Methods |
| Demonstrate proficiency in using basic Linux commands | 37 | B, E, F |
| Effectively monitor system performance and resource usage | ||
| Create, manage, and deploy Docker containers for various applications. | ||
| Understand the principles of containerization. Explain the core concepts of Kubernetes architecture and components. | ||
| Apply learned concepts in real-world scenarios through hands-on projects and labs. | ||
| Troubleshoot and solve common issues in Linux system management, containerization, and orchestration. |
| Teaching Methods: | 37: Computer-Internet Supported Instruction |
| Assessment Methods: | B: Short Answer Exam, E: Homework, F: Project Task |
Course Outline
| Order | Subjects | Preliminary Work |
|---|---|---|
| 1 | Overview of Linux operating systems Understanding the Linux file system Introduction to Linux shell and shell commands | https://linuxjourney.com/ |
| 2 | User and group management, Package management, System updates and upgrades | https://linuxjourney.com/ |
| 3 | Monitoring Linux Systems Using top, ps, and iostat to monitor systems Introduction to monitoring softwares | |
| 4 | Log Management, Understanding syslog Using Logrotate, ELK and Grafana dashboard | https://www.linuxfoundation.org/blog/blog/classic-sysadmin-viewing-linux-logs-from-the-command-line |
| 5 | Process Management Understanding processes and process management Monitoring system performance with top, ps, and other tools File System Management Creating, mounting and unmounting file systems Understanding file system permissions and security | https://www.digitalocean.com/community/tutorials/process-management-in-linux https://www.developer.com/open-source/linux-file-management/ |
| 6 | Docker Containerization, Overview of Docker Installing and configuring Docker, Creating and running Docker containers | https://docker-curriculum.com/ |
| 7 | Docker Containerization (Continued), Understanding Docker images, Using Dockerfiles to create images, Deploying multi-container application | https://docker-curriculum.com/#multi-container-environments |
| 8 | Midterm | |
| 9 | Kubernetes Introduction Overview of Kubernetes Understanding nodes and pods Deploying applications with Kubernetes | https://kubernetes.io/ |
| 10 | Kubernetes (Continued) Understanding services and load balancing Configuring storage and volumes Overview of Kubernetes security | https://kubernetes.io/docs/concepts/security/ |
| 11 | Advanced Kubernetes Understanding replicasets and statefulsets Configuring ingress Using Kubernetes with Continuous Integration and Continuous Deployment (CI/CD) | https://cloud.redhat.com/blog/top-open-source-ci/cd-tools-for-kubernetes-to-know |
| 12 | Linux Scripting Automating system administration tasks Linux Performance Optimization Understanding CPU and memory utilization Optimizing performance with tuning | https://cromwell-intl.com/open-source/performance-tuning/ |
| 13 | Project presentations, Application of course concepts to real-world scenarios | |
| 14 | Final Exam |
| Resources |
| https://www.linuxfoundation.org https://docker-curriculum.com/ https://kubernetes.io/ |
Course Contribution to Program Qualifications
| Course Contribution to Program Qualifications | |||||||
| No | Program Qualification | Contribution Level | |||||
| 1 | 2 | 3 | 4 | 5 | |||
| 1 | 1. An ability to apply knowledge of mathematics, science, and engineering | X | |||||
| 2 | 2. An ability to identify, formulate, and solve engineering problems | X | |||||
| 3 | 3. An ability to design a system, component, or process to meet desired needs within realistic constraints such as economic, environmental, social, political, ethical, health and safety, manufacturability, and sustainability | X | |||||
| 4 | 4. An ability to use the techniques, skills, and modern engineering tools necessary for engineering practice | X | |||||
| 5 | 5. An ability to design and conduct experiments, as well as to analyze and interpret data | X | |||||
| 6 | 6. An ability to function on multidisciplinary teams | X | |||||
| 7 | 7. An ability to communicate effectively | X | |||||
| 8 | 8. A recognition of the need for, and an ability to engage in life-long learning | X | |||||
| 9 | 9. An understanding of professional and ethical responsibility | X | |||||
| 10 | 10. A knowledge of contemporary issues | X | |||||
| 11 | 11. The broad education necessary to understand the impact of engineering solutions in a global, economic, environmental, and societal context | X | |||||
Assessment Methods
| Contribution Level | Absolute Evaluation | |
| Rate of Midterm Exam to Success | 30 | |
| Rate of Final Exam to Success | 70 | |
| Total | 100 | |
| ECTS / Workload Table | ||||||
| Activities | Number of | Duration(Hour) | Total Workload(Hour) | |||
| Course Hours | 14 | 3 | 42 | |||
| Guided Problem Solving | 14 | 3 | 42 | |||
| Resolution of Homework Problems and Submission as a Report | 6 | 3 | 18 | |||
| Term Project | 10 | 2 | 20 | |||
| Presentation of Project / Seminar | 2 | 5 | 10 | |||
| Quiz | 4 | 3 | 12 | |||
| Midterm Exam | 1 | 10 | 10 | |||
| General Exam | 1 | 10 | 10 | |||
| Performance Task, Maintenance Plan | 2 | 5 | 10 | |||
| Total Workload(Hour) | 174 | |||||
| Dersin AKTS Kredisi = Toplam İş Yükü (Saat)/30*=(174/30) | 6 | |||||
| ECTS of the course: 30 hours of work is counted as 1 ECTS credit. | ||||||
Detail Informations of the Course
Course Description
| Course | Code | Semester | T+P (Hour) | Credit | ECTS |
|---|---|---|---|---|---|
| DEVOPS | COE3115964 | Fall Semester | 3+0 | 3 | 6 |
| Course Program |
| Prerequisites Courses | |
| Recommended Elective Courses |
| Language of Course | English |
| Course Level | First Cycle (Bachelor's Degree) |
| Course Type | Elective |
| Course Coordinator | Assist.Prof. Ahmet KAPLAN |
| Name of Lecturer(s) | Assist.Prof. Ahmet KAPLAN |
| Assistant(s) | |
| Aim | The aim of this course is to equip students with the fundamental knowledge and practical skills necessary for proficient Linux system management. Through a combination of theoretical concepts and hands-on practice, students will learn to effectively use basic Linux commands, monitor system performance, manage logs, and utilize container technologies such as Docker and Kubernetes. This course also emphasizes the importance of security best practices and automation in system management, preparing students to tackle real-world challenges and adapt to rapidly evolving technologies in the field. |
| Course Content | This course contains; Overview of Linux operating systems Understanding the Linux file system Introduction to Linux shell and shell commands,User and group management, Package management, System updates and upgrades,Monitoring Linux Systems Using top, ps, and iostat to monitor systems Introduction to monitoring softwares,Log Management, Understanding syslog Using Logrotate, ELK and Grafana dashboard,Process Management Understanding processes and process management Monitoring system performance with top, ps, and other tools File System Management Creating, mounting and unmounting file systems Understanding file system permissions and security,Docker Containerization, Overview of Docker Installing and configuring Docker, Creating and running Docker containers,Docker Containerization (Continued), Understanding Docker images, Using Dockerfiles to create images, Deploying multi-container application,Midterm,Kubernetes Introduction Overview of Kubernetes Understanding nodes and pods Deploying applications with Kubernetes,Kubernetes (Continued) Understanding services and load balancing Configuring storage and volumes Overview of Kubernetes security,Advanced Kubernetes Understanding replicasets and statefulsets Configuring ingress Using Kubernetes with Continuous Integration and Continuous Deployment (CI/CD),Linux Scripting Automating system administration tasks Linux Performance Optimization Understanding CPU and memory utilization Optimizing performance with tuning,Project presentations, Application of course concepts to real-world scenarios,Final Exam. |
| Course Learning Outcomes | Teaching Methods | Assessment Methods |
| Demonstrate proficiency in using basic Linux commands | 37 | B, E, F |
| Effectively monitor system performance and resource usage | ||
| Create, manage, and deploy Docker containers for various applications. | ||
| Understand the principles of containerization. Explain the core concepts of Kubernetes architecture and components. | ||
| Apply learned concepts in real-world scenarios through hands-on projects and labs. | ||
| Troubleshoot and solve common issues in Linux system management, containerization, and orchestration. |
| Teaching Methods: | 37: Computer-Internet Supported Instruction |
| Assessment Methods: | B: Short Answer Exam, E: Homework, F: Project Task |
Course Outline
| Order | Subjects | Preliminary Work |
|---|---|---|
| 1 | Overview of Linux operating systems Understanding the Linux file system Introduction to Linux shell and shell commands | https://linuxjourney.com/ |
| 2 | User and group management, Package management, System updates and upgrades | https://linuxjourney.com/ |
| 3 | Monitoring Linux Systems Using top, ps, and iostat to monitor systems Introduction to monitoring softwares | |
| 4 | Log Management, Understanding syslog Using Logrotate, ELK and Grafana dashboard | https://www.linuxfoundation.org/blog/blog/classic-sysadmin-viewing-linux-logs-from-the-command-line |
| 5 | Process Management Understanding processes and process management Monitoring system performance with top, ps, and other tools File System Management Creating, mounting and unmounting file systems Understanding file system permissions and security | https://www.digitalocean.com/community/tutorials/process-management-in-linux https://www.developer.com/open-source/linux-file-management/ |
| 6 | Docker Containerization, Overview of Docker Installing and configuring Docker, Creating and running Docker containers | https://docker-curriculum.com/ |
| 7 | Docker Containerization (Continued), Understanding Docker images, Using Dockerfiles to create images, Deploying multi-container application | https://docker-curriculum.com/#multi-container-environments |
| 8 | Midterm | |
| 9 | Kubernetes Introduction Overview of Kubernetes Understanding nodes and pods Deploying applications with Kubernetes | https://kubernetes.io/ |
| 10 | Kubernetes (Continued) Understanding services and load balancing Configuring storage and volumes Overview of Kubernetes security | https://kubernetes.io/docs/concepts/security/ |
| 11 | Advanced Kubernetes Understanding replicasets and statefulsets Configuring ingress Using Kubernetes with Continuous Integration and Continuous Deployment (CI/CD) | https://cloud.redhat.com/blog/top-open-source-ci/cd-tools-for-kubernetes-to-know |
| 12 | Linux Scripting Automating system administration tasks Linux Performance Optimization Understanding CPU and memory utilization Optimizing performance with tuning | https://cromwell-intl.com/open-source/performance-tuning/ |
| 13 | Project presentations, Application of course concepts to real-world scenarios | |
| 14 | Final Exam |
| Resources |
| https://www.linuxfoundation.org https://docker-curriculum.com/ https://kubernetes.io/ |
Course Contribution to Program Qualifications
| Course Contribution to Program Qualifications | |||||||
| No | Program Qualification | Contribution Level | |||||
| 1 | 2 | 3 | 4 | 5 | |||
| 1 | 1. An ability to apply knowledge of mathematics, science, and engineering | X | |||||
| 2 | 2. An ability to identify, formulate, and solve engineering problems | X | |||||
| 3 | 3. An ability to design a system, component, or process to meet desired needs within realistic constraints such as economic, environmental, social, political, ethical, health and safety, manufacturability, and sustainability | X | |||||
| 4 | 4. An ability to use the techniques, skills, and modern engineering tools necessary for engineering practice | X | |||||
| 5 | 5. An ability to design and conduct experiments, as well as to analyze and interpret data | X | |||||
| 6 | 6. An ability to function on multidisciplinary teams | X | |||||
| 7 | 7. An ability to communicate effectively | X | |||||
| 8 | 8. A recognition of the need for, and an ability to engage in life-long learning | X | |||||
| 9 | 9. An understanding of professional and ethical responsibility | X | |||||
| 10 | 10. A knowledge of contemporary issues | X | |||||
| 11 | 11. The broad education necessary to understand the impact of engineering solutions in a global, economic, environmental, and societal context | X | |||||
Assessment Methods
| Contribution Level | Absolute Evaluation | |
| Rate of Midterm Exam to Success | 30 | |
| Rate of Final Exam to Success | 70 | |
| Total | 100 | |