About this site

This website is a collection of tutorial notes introducing programming concepts and good practices to novices in programming. The programming language used is C++ and the introduced concepts are illustrated with concrete examples of C++ code.

This tutorial notes are also a complement material for the TND012 course and have been written during 2020. It's the first time that students in the TND012 course have access to this material which is still under development. Thus, not all concepts introduced in the TND012 course are yet addressed in this tutorial notes, though that's the plan of the author. It's important that the reader bears in mind that this is work in progress. The author has decided to first write about those programming concepts beginners usually struggle most with, according to her experience.

Though the programming language used is C++, the programming concepts presented in this tutorial notes (and in the TND012 course) are fundamental concepts which apply to today's programming languages in general and remain valid even after the continuous evolution process modern programming languages are subject to.

We stress that understanding fundamental programming concepts, and how they are used following the best practices in the field, is an important and necessary step. Without an understanding of fundamental programming concepts, you can only use code written by others but you won't be able to add significantly to that code yourself.

Programming has a very practical component and, consequently, you can only really learn it by practicing to write programs. You cannot learn to dance or drive a car by simply reading a book or watching someone doing it on YouTube. Same applies to programming. You must practice, write lots of code, and have a don't give up attitude. You need to make mistakes and learn to correct them. This website has plenty of examples which we strongly encourage you to try by yourselves, by modifying the given code or writing it all by yourself. To this end, you can use an online C++ compiler such as Coliru. We introduce briefly online compilers in the next section.

Finally, the author welcomes students constructive suggestions and feedback. After all, this tutorial notes are written for you.