Next: Operating System Functions
Up: Lent Term 1999: Part
Previous: Lent Term 1999: Part
Lecturer: Dr M. Richards
(mr@cl.cam.ac.uk)
No. of lectures: 12
- Introduction.
- A brief history of programming languages. Comparing languages:
programming paradigms, language features, execution styles.
What makes a good good language.
- Brief survey of various languages.
- Algol, BCPL, C, C++.
- Text processing languages.
- Macro processors, SNOBOL, Awk, Perl.
- AI languages.
- Brief sketch of Emacs lisp and Prolog.
- Smalltalk.
- Smalltalk, Self and the Squeak System.
- Language design issues concerning C, C++ and Java.
- Pointers and arrays.
- What are pointers? Pointer arithmetic. Null pointers, Vectors and
arrays. Errors involving abstract data structures.
- Functions and procedures.
- Argument calling modes. Recursion. Dynamic free variables. Non local
jumps. Function pointers. Coroutine.
- Memory allocation.
- Scope. Heap and stack. Destructors. Memory deallocation errors. Memory
leaks. Garbage collection.
- Miscellaneous topics.
- Machine dependencies. Separate compilation and data hiding.
Setpoints. Operator overloading. Single/multiple inheritance.
Exceptions.
- Standards.
Recommended books:
Pratt, T.W. & Zelkowitz, M.V. (1996). Programming Languages,
Design and Implementation. Prentice-Hall (3rd ed.).
Appleby, D. & VandeKopple, J.J. (1997). Programming Languages,
Paradigm and Practice. McGraw-Hill (2nd ed.).
Stroustrup, B. (1994). The Design and Implementation of C++.
Addison-Wesley.
Mössenböck, H. (1993). Object-Oriented Programming in Oberon-2,
Springer-Verlag.
Antonakos, J.L. & Mansfield Jr., K.C. (1998). Reference Guide to C
and C++. Prentice-Hall.
Kernighan, B.W. & Ritchie, D.M. (1988). The C Programming
Language. Prentice-Hall (2nd ed.).
Aho, A.V., Kernighan, B.W. & Weinberger, P.J. (1988). The AWK
Programming Language. Addison-Wesley.
Chapman, N. (1988). PERL, The Programmer's Companion. Wiley.
Next: Operating System Functions
Up: Lent Term 1999: Part
Previous: Lent Term 1999: Part
Christine Northeast
1998-10-01