Practical Experiences of Programming
Undergraduate course, King's College London, Department of Informatics, 2019
This course aims to provide the students with extensive practical experience of programming; to draw on, integrate, and build upon the theoretical and practical teaching of other modules in the programme.
C++ is used as the basis for this module; with additional use of other languages (e.g. Haskell, Scala, Prolog) to clarify and illustrate other points as appropriate.
Syllabus:
- Imperative/object-oriented programming concepts
- Virtualisation, dynamic dispatch and design patterns
- Abstraction and generic programming;
- Templates and template meta-programming
- Memory management and smart pointers
- Non-imperative programming concepts
- Recursive definitions of algorithms
- Lambda functions and higher-order functions
- Logic programming