Open Individual Assessment …
This module combines the theory of computing with practical computing activities, including programming and application of the software lifecycle. …
This unit introduces students to core problem-solving, analytical skills, and methodologies useful for developing flexible, robust, and maintainable software. …
The module aims to provide a working knowledge of the hardware and architecture of a modern computer system, particularly focusing on concurrency aspects and those that have an impact on writing multithreaded software. …
There are two main goals; introducing students to common algorithms and analyzing their runtime and correctness, and developing broad problem solving techniques related to the algorithms we discuss. …
Fundamental coursework on the standards and practices for collecting, organizing, managing, exploring, and using data. …
This course focuses on teaching the functional programming paradigm and related techniques, including but not limited to the use of a strong, sophisticated type system, which is a natural extension of and boon to functional programming and reasoning. …
Implementation and application of the essential data structures used in computer science. …
This class has two major thrusts which complement each other nicely: increasing the mathematical sophistication (proofs and logic) and introducing the mathematical foundation of computer science. …
HW5 …