Absolute Beginners C++

Overview of Course

1. Aims

Learning the knowledge and skills to be a competent computer programmer takes a lot of time and practice. Many students are put off acquiring this valuable skill by the apparent complexity of so much 'tutorial' material. The situation is not helped by the professional practitioners of Computer Science who put more emphasis on systems architecture, systems design and mathematical proof than on the 'art' of programming.  However many people who need access to computing have no interest in how computers work or how operating systems are designed.

This course aims to take a motivated student from no knowledge of programming to a level where he or she would be able to write simple programs and be able to use language reference material to expand his or her knowledge. Although the course only introduces the rudiments of programming it aims to remove some of its 'mystique'. The course is designed to be very practical and students are expected to write complete programs to specification from the first day. Working in this way, students learn very quickly how to operate the computer tools such as editors and compilers needed for writing programs.

2. Organisation

The course is organised around 'lessons' which each introduce one small element of the C++ language. Each lesson has a set of example programs - each complete in themselves - which demonstrate the topic. The structure of these example programs is explained in class. Each lesson also has a small number of exercises that the student is expected to complete. Students should have their solutions to these exercises checked by the tutor. Learning comes from studying the examples and trying to generalise to the exercises; consolidation comes from seeing those generalisations actually work, confidence comes from knowing your solutions are acceptable to an expert.

3. Programming Environment

The course can be pursued with any recent C++ compiler and a programmer's editor. In the speech science laboratory we will be using a freely available set of tools: the GNU project port of the gcc C++ compiler to WIN32 (known as x86-win32-gcc) and the text editor SCITE (Scintilla Text Editor). Anyone can download these tools from the Internet and run them on a Windows-95, Windows-98, or Windows-NT system.

For the C++ compiler, you need to download these files:

Unpack both of these files to c:\gcc-2.95.2\ then add this line to the end of your autoexec.bat file:
     set PATH=C:\GCC-2.95.2\BIN;%PATH%

For the editor you just need these three small files (save them in c:\gcc-2.95.2\bin):

Finally, add a shortuct to scite.exe on your desktop.

In the Department of Phonetics and Linguistics, one of the technicians can install these on your computer for you.

A separate sheet gives you the basic commands for editing and compiling programs with these tools.

4. Reference Material

There is very little available material which is truly tutorial and suited to beginners. The best selling text on C++, called the 'C++ Primer' by Lippman is actually written for 'C' language programmers wanting to convert to C++. Perhaps the best way to proceed is to work through this course without a reference text, then attempt to study further with the C++ Primer.

If you would like to buy a C++ book, you should try and get a recent one published in 1999 which uses the lastest ANSI standard for C++. The book should say that it covers 'Standard C++' or the 'Standard Template Library'.

There are a number of places on the web where you can download information and tutorials about programming in C++ free of charge. These are some that I recommend:

Thinking in C++. Complete book available on the Web.
"Teach yourself C++" from Amazon bookstore.
C++ Virtual Library. Index to C++ resources in the web.
Introduction to Object Oriented Programming with C++. A Web tutorial.
Standard Template Library Documentation. Not introductory.

(c) 1999 Mark Huckvale University College London