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.