P. Armyanov

Sofia University (BULGARIA)
This article shows how C++ language is used in the “Computer Graphics” class in Sofia University and how the course evolves with the evolution of the C++ programming language. Some of the new features and library extensions, introduced with the x11 standard, are described in this context. The specific requirements of a computer graphics programming course for programming language and development environment are also listed. The article explains why some of the new C++ features are useful and shows how to use them in the class. Also here is explained why it is better to leave some of the language constructions aside for other advanced classes or even for real professional practice after student is graduated. In this context special attention is payed to the new Object Oriented language keywords and lambda expressions, both introduced with x11 standard.

To make better comparison of the approach that uses the new language specifics and the old one, a simple vector graphic program, taken from the course, is implemented both ways – using the old and the new C++ syntax and corresponding classes from the standard C++ library. This is done in order to illustrate the evolution of the language and the course itself.

At the end of the article are placed some recommendations and good practices collected from the experience of the author with “Introduction of Programming” and “Computer Graphics” courses taught in Sofia University. They could be helpful not only for the university teachers, but also for the students learning C++ or computer graphics programming.