Semester: winter 2022/23
  Wed 14:00, SU1 (Pavel Parízek)
  Thu 15:40, SU2 (Pavel Parízek)
  Fri 10:40, SU1 (Pavel Parízek)
  Fri 12:20, 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 (resources)

Topic (tool)
Organizational information
Version control
Distributed version control (Git)
Software building (Make)
Software building (Ant, Maven, MSBuild)
Software building (Gradle, Autotools, CMake)
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.