Co-ordinator: Dr N.A. Dodgson Lecturers: Dr A.R. Beresford, Mrs K. Taylor, Dr M.P. Fiore
No. of lectures: 16
Aims
The aims of this course are to provide a solid introduction to three
languages (C, C++, Prolog) and to provide an overview of the
principles and constraints that affect the way programming languages
are designed.
Lectures
C and C++. [5 lectures, Beresford]
Prolog. [5 lectures, Taylor]
Comparisons between programming languages. [6 lectures, Fiore]
Objectives
At the end of the course students should
be familiar with several language paradigms and how they can
be effective in different areas of application
have a reasonable understanding of the compromises that have
to be made in a standard specification of a language in relation
to machine independence and efficiency
appreciate the similarities and differences between
various approaches taken by object oriented languages
be sufficiently familiar with C, C++, and Prolog to be able
to read and understand programs written in these languages
Recommended reading
* Mitchell, J.C. (2003). Concepts in programming languages. Cambridge University Press.
Stroustrup, B. (1994). The design and evolution of C++. Addison-Wesley.
Antonakos, J.L. & Mansfield Jr., K.C. (1998). Reference guide to C and C++. Prentice-Hall.
Eckel, B. (2000). Thinking in C++, Volume 1: Introduction to Standard C++. Prentice-Hall (2nd ed.). Also available at
http://www.mindview.net/Books/TICPP/ThinkingInCPP2e.html
Kernighan, B.W. & Ritchie, D.M. (1988). The C programming language. Prentice-Hall (2nd ed.).
Lippman, S.B. (1996). Inside the C++ object model. Addison-Wesley.
* Bratko, I. (2001). PROLOG programming for artificial intelligence. Addison-Wesley (3rd ed).