View on GitHub

REPL

The Learning Hub for UoL's Online CS Students

Go back to the main page

Table of contents


Software Design and Development

This module aims to advance your software development skills so that you can write more robust and complicated programs. You will learn how to use a range of programming techniques that will allow you to deal with unwanted or unexpected events that might happen when your application is running. You will use defensive coding to check data before processing it, and exception handling to gracefully manage unforeseen or unwanted occurrences. You will learn how to discuss program structure concerning cohesion (how to meaningfully organise code into modules) and coupling (how to define the interactions between different parts of the program). You will learn about test-driven development, where you write tests for your code, and write the code itself, in parallel. You will also learn how to use software versioning tools to manage a software project as it develops.

Professor(s)

Topics covered

Assessment

One two hour unseen written examination and coursework (Type I)

Module specification

Past exams

See past exams here.

Syllabus

Primary programming language

C++, Javascript, Python

Resources

Design patterns

Module cohesion and coupling

Secure coding practices