Show/hide main menu


5CCS2PEP Practical Experiences of Programming

Credit value: 15
Dr Andrew Coles and Dr Christian Urban (office hours)

Semester: 1
Teaching pattern: weekly 3-hour lecture, weekly 2-hour practical, with an additional weekly 1-hour practical for the last 6 weeks of term.


Learning aims
This module 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. The module also covers professional issues in Computer Science.

Learning outcomes
On successfully completing this module the students should be able to::
  • demonstrate understanding of a broad range of concepts of programming in both imperative and non-imperative paradigms,
  • demonstrate and apply their acquired knowledge of programming in these paradigms,
  • evaluate critically their work,
  • use programming tools effectively,
  • demonstrate understanding and appreciation of professional issues in computer science
Topics will be selected from:
  • 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
  • Professional and ethical issues in Computer Science.
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.

Suggested Reading and Resources (Link to MyReadingLists)


24 August 2017


Sitemap Site help Terms and conditions  Privacy policy  Accessibility  Modern slavery statement  Contact us

© 2018 King's College London | Strand | London WC2R 2LS | England | United Kingdom | Tel +44 (0)20 7836 5454