This course is designed to introduce the student to some of the key concepts in computing science and simultaneously provide introductory hands-on experience using a modern programming language. …
Major Assignment …
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. …