This course has two distinct halves. The first is a quick introduction to programming in C++; although it is short the intention is that, at the end, you will be able to write C++ programs. The second half is different, it is about programming languages, not how to program in them. It considers the different features languages might have and their relative advantages.
These two components are together for pragmatic and historical reasons, firstly it is useful to see a language that is more widely used than Eiffel, and secondly a study of languages deepens your understanding of computing. Nonetheless they are not completely unconnected, the experience of using C++ does provide material for comparisons with Eiffel in the second part of the course.
Why does this course matter? The C++ is useful, although it is a truly awful and dangerous language it is very widely used for nearly all system programming and lots of applications (and it's quite fun).
The second half of the course, the study of the features of programming languages and their differences is of less immediate, practical use, but is probably more useful in the longer term. Languages are important: everything that happens in a computer results from the execution of a program, all programs have been written in a programming language. Programming languages are at the heart of all computing. The nature of the language can radically affect the success of program development. Perhaps by examining language features you will see that all languages have deficiencies, and that there will never be a perfect programming language. Don't ask which is the best language, there isn't one!
The stated objectives for this course are that on successful completion of the course the student will:
It is possible to be a bit more specific and make the outcomes more concrete:
The in-course assessment worth 30% of the overall course assessment will be issued in the fourth week. It will a programming exercise in C++. The rest of the assessment is an examination at the end of the course.
Unlike some courses for the distance learning scheme this course is based on existing material, it has not been completely developed in the framework of units. Each unit still has: contents, preview, objectives, but instead of the main material occurring ``inline'' there are guided references into the other documents.
As a further consequence of being built from already existing documents there is sometimes more material in the documents than is needed by the course. There are sections that are not needed by any unit, when this happens the course guide will warn that there is extra material that you do not need to study. The material has been left in because it was there and it provides optional further study if you are interested in pursuing it.
Lastly the topics of study do not always map neatly into units so sometimes a unit will be composed of two smaller topics.
The first part of the course is practical, it is essential to write programs. However it doesn't matter which C++ compiler you use, you can use any that you can get access to.
The compilers often have very different development environments and different libraries but for the past few years they all support the full standard language so any one will do.
© University of Hertfordshire Higher Education Corporation (1998)