Semester: winter 2021/22
  Mon 14:00, SU2 (Pavel Parízek)
  Wed 10:40, SU1 (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 (materials)

Topic (tool) Group 1 (Mon) Group 2 (Wed)
Organizational information 4.10.2021 29.9.2021
Version control 4.10.2021 29.9.2021
Distributed version control (Git) 11.10.2021 6.10.2021
Software building (Make) 18.10.2021 13.10.2021
Software building (Ant, Maven, MSBuild) 25.10.2021 20.10.2021
Software building (Gradle, Autotools, CMake) 1.11.2021 27.10.2021
Functional testing (JUnit, MSTest) 8.11.2021 3.11.2021
Debugging (GDB, Valgrind) and bug-finding (FindBugs, Clang) 15.11.2021 10.11.2021
Monitoring: Runtime behavior and software development process 22.11.2021 24.11.2021
Generating documentation and code 29.11.2021 1.12.2021

Homework assignments

Homework assigments are available here.