Progr. Paradigms
Programming language overview: imperative and functional languages; logic programming. Scripting languages and tools. Development environments. Multi-language interfacing. Case studies. Comprehensive programming practice using several languages. Must have taken Data Structures as a pre-req. IR This is an advanced programming module that assumes a working knowledge of object-oriented programming and data structures & algorithms, and a familiarity with functional programming. This module covers object-oriented programming in detail and explores how functional programming integrates with object-oriented programming in current practice. There is a focus on producing software that is: (1) demonstrably correct, by using unit testing and (2) maintainable, by observing sound programming principles during development. There is a strong emphasis on practical programming skills throughout this module, and being able to develop correct, maintainable code is a key part of the assessment for this module. The main programming language employed is Scala.
Sources
- Course catalogue ↗2026-2027