Semester: summer 2023/24
  Mon 15:40, SU2 (Pavel Parízek)
  Wed 17:20, SU2 (Pavel Parízek)
  Thu 9:00, SU2 (Pavel Parízek)
  Fri 12:20, SU2 (Pavel Parízek)
Page in SIS: NSWI154
Grading: Credit


The purpose of this course is to

This can be useful

The selection of tools is focused on open-source projects and systems. These prevail in the academic world, and they are also heavily used in software development companies.

The course will cover especially these topics and categories of tools: version control, software building, testing and bug finding, monitoring program execution, performance measurements, generating documentation, and integrated development environments.


The course is designed for students of the second and third year of bachelor studies, who have some experience in the following:

Schedule (resources)

Topic (tool)
Organizational information
Version control
Distributed version control (Git)
Software building (Make)
Software building (Ant, Maven, MSBuild, Gradle, CMake)
Deployment infrastructure (Docker)
Functional testing (JUnit, MSTest)
Debugging (GDB, Valgrind) and bug-finding (SpotBugs, Clang)
Monitoring: Runtime behavior and software development process
Generating documentation and code
Performance analysis (GProf, JMeter)

Homework assignments

Homework assigments are available here.