Designing Reusable Code   «Prev  Next»
Lesson 2 Reusable Code C++ Prerequisites
Objective Find out the prerequisites for this course.
Make sure you have the hardware and software required for this course.
Designing Reusable Code in C++ is intended for students who
  1. are comfortable working with C++ classes,
  2. understand how to write constructor and destructor methods,
  1. know how to implement dynamic data structures such as bounds-checking arrays and singly linked lists.

To learn C++ with this course, you willl need a compiler that conforms reasonably well to the C++ 11 standard and a text editor suitable for working with program code. There are several compilers available currently that are reasonably C++ 11 compliant, some of which are free. The GCC compiler that is produced by the GNU Project has comprehensive support for C++ 11 and it is open source and free to download. Installing GCC and putting it together with a suitable editor can be a little tricky if you are new to this kind of thing. An easy way to install GCC along with a suitable editor is to download Code::Blocks from http://www.codeblocks.org. Code::Blocks is a free IDE for Linux, Apple Mac OS X, and Microsoft Windows.
It supports program development using several compilers including compilers for GCC, Clang, and open Watcom. This implies you get support for C, C++, and Fortran.
Another possibility is to use Microsoft Visual C++ that runs under Microsoft Windows. It is not fully compliant with C++ 11, but it is getting there. The free version is available as Microsoft Visual Studio 2013 Express and at the time of writing this will compile most of the examples, and should compile them all eventually. You can download it from http://www.microsoft.com/en-us/download/details.aspx?id=43733.
While the Microsoft Visual C++ compiler is more limited than GCC, in terms of the extent to which C++ 11 is supported, you get a professional editor and support for other languages such as C# and Basic.
There are other compilers that support C++ 11, which you can find with a quick online search. I have organized the material in this course to be read sequentially, so you should start at the beginning and keep going until you reach the end. However, no one ever learned programming by just reading a course. You will only learn how to program in C++ by writing code, so make sure you key in all the examples. Therefore, do not just copy them from the download files and compile and execute the code. This might seem tedious at times, but it is surprising how much just typing in C++ statements will help your understanding, especially when you may feel you are struggling with some of the ideas. If an example does not work, resist the temptation to go straight back to the course to see why. Try to figure out from your code what is wrong. This is good practice for what you willl have to do when you are developing C++ applications for real.
Platform support
You can use either Windows, Mac OS X, or Linux machines to take this course.
The course is intended to be platform-independent. Please be sure you are aware of platform-dependent issues that may affect your compiler.