- "Refactoring: Improving the Design of Existing Code ", Martin Fowler et al., Addison-Wesley
- "Test-Driven Development: By Example", Kent Beck, Addison-Wesley
- "Version Control by Example", Eric Sink, freely available from: http://ericsink.com/vcbe/vcbe_a4_lo.pdf
Learning Objectives
The students will learn the basics of common industrial practices of software development:
- use of versioning systems, considering in particular GIT
- use of Unit Testing, addressing in particular frameworks for C++ unit testing
- refactoring techniques, addressing in particular automatico refactoring tools available in modern IDEs
Prerequisites
Basic knowledge of C/C++ programming
Teaching Methods
Lab lectures and self-study
Type of Assessment
Development of a C++ program showing the use of unit testing, refactoring and versioning techniques