Semester: winter 2020/21
  Tue 9:00, SU2 / online (Pavel Parízek)
  Wed 12:20, SU1 / online (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 (Tue) Group 2 (Wed)
Organizational information 29.9.2020 30.9.2020
Version control (Subversion) 29.9.2020 30.9.2020
Distributed version control (Git) 6.10.2020 7.10.2020
Software building (Make) 13.10.2020 14.10.2020
Software building (Ant, Maven, MSBuild) 20.10.2020 21.10.2020
--- 27.10.2020 28.10.2020
Software building (Gradle, Autotools, CMake) 3.11.2020 4.11.2020
Functional testing (JUnit, MSTest) 10.11.2020 11.11.2020
Debugging (GDB, Valgrind) and bug-finding (FindBugs, Clang) 24.11.2020 25.11.2020
Monitoring: Runtime behavior and software development process 1.12.2020 2.12.2020
Generating documentation and code 8.12.2020 9.12.2020
Performance analysis (GProf, JMeter) 15.12.2020 16.12.2020

Homework assignments

Homework assigments are available here.