The book introduces the reader to computer programming, i.e. algorithms and data
structures.
It covers many new programming concepts that have emerged in recent years
including object-oriented programming and design patterns.
The book emphasizes the practical aspects of software construction without
neglecting their solid theoretical foundation.