Skip to content Search
Search our website:

Primer for Software Design and Programming (PG) and Software Programming III (UG)

Short name: SDP-SP3-Primer
SITS code:
Credits: 0 credits
Level: 6
Module leader: Keith Mannock
Lecturer(s): Keith Mannock


The content is intended to "bridge" the gap in material coverage between other routes and the prescribed PoP-I and PoP-II pathway; it is a recommended module for any student undertaking the "SDP" module.

Learning Outcomes

  • A solid understanding of how to use the Scala programming language to develop procedural and object-oriented programs.


  • Variables, types, initialization, comments
  • Flow control: branches, loops
  • Source code version control
  • Simple and complex data types: primitive types, strings, (multi-dimensional) arrays
  • Introduction to classes and objects: initialization, methods, and contructors
  • Data structures: lists, stacks, trees, maps (and iterators)
  • Software testing and testing-driven development
  • Generics
  • More on object orientation: inheritance, polymorphism, overloading
  • Recursion
  • Exception Handling
  • Input/Output
  • Network programming
  • Concurrent programming


Prior working knowledge of a programming language, e.g., Python, Java, etc.


July through September; self study online module with a test in late September (if relevant)


There is no coursework (as the module is not assessed) but a series of exercises are provided and students are strongly advised to attempt them.


The module is assessed by an end of module test which students' have to pass to gain entry to the "Software Deisgn and Programming/Software and Programming III" module (unless they have already acquired the entry requirements for the module(s)).
This module does not contribute to the student transcript.

Recommended reading

Notes, exercises and other materials are provided but should you wish to have a textbook then one of the following should suffice: