Continuous Integration and Continuous Delivery

Course: Software Engineering

Structural unit: Faculty of information Technology

Title
Continuous Integration and Continuous Delivery
Code
ДСВ.1.01
Module type
Вибіркова дисципліна для ОП
Educational cycle
First
Year of study when the component is delivered
2023/2024
Semester/trimester when the component is delivered
4 Semester
Number of ECTS credits allocated
5
Learning outcomes
PR-6. The ability to choose and use a software development methodology appropriate to the task. PR-26. Know the processes of building the software system architecture and architectural styles; be able to apply system architecture design tools, prototype and evaluate architectural solutions. PR-28. To know software architecture and design principles, to possess technologies and methodologies of software development and implementation and network technologies, to have practical skills in the administration of computer networks in the process of developing, deploying and supporting software, to understand and apply network exchange software, exchange with sensors, remote and distributed processing of information in the interests of the Internet of Things.
Form of study
Full-time form
Prerequisites and co-requisites
Know the basic concepts and features of procedural and object-oriented programming, the basics of creating and processing data structures.
Course content
The CI/CD (Continuous Integration/Continuous Deployment) course focuses on teaching the technologies and practical skills for software development. The course covers the principles of CI/CD, their implementation, and use for automating software development and release processes. Participants will gain knowledge and practical skills in working with git and github, including creating repositories, branches, and pull requests, as well as using github actions for automated testing and deployment of projects. In addition, participants will be introduced to the django framework and web application development based on it, including database configuration, working with templates, and using heroku for deploying web applications on the internet. Upon completion of the course, participants will have experience in software development using modern technologies and will be able to apply their knowledge to improve the development processes of their own projects.
Recommended or required reading and other learning resources/tools
1. Dave Farley. Continuous Delivery Pipelines: How To Build Better Software Faster, 2021 - 160 p. 2. Moritz Lenz. Python Continuous Integration and Delivery. A Concise Guide with Examples, 2019 - 194 p. 3. Jennifer Davis. Effective DevOps: Building a Culture of Collaboration, Affinity, and Tooling at Scale, 2016 - 410 p.
Planned learning activities and teaching methods
Lectures, practical activities, individual work
Assessment methods and criteria
Control of students' knowledge is carried out according to the modular rating system. The results of students' educational activities are evaluated on a 100-point scale. Work in the semester is divided into two content modules. The final control (exam) is conducted in the form of a written work - 40 points. Mandatory for the exam is the student's performance and defense of laboratory work provided for in the work program of the academic discipline, as well as the passing of a modular test.
Language of instruction
Ukrainian

Lecturers

This discipline is taught by the following teachers

Departments

The following departments are involved in teaching the above discipline