Operating Systems (Undergraduate)
What is an Operating System for and how does it work? How can a computer run, or appear to run, many programs at once? This module introduces Operating Systems, with a combination of study of the principles and practical skills in scripting and monitoring an Operating System kernel. Concepts of processes and concurrency are introduced in the context of Operating Systems and then pursued further as a tool for an application programmer wishing to exploit the full potential of a multicore processor. The module prepares students for further studies in distributed systems and high performance computing at the next level.
Probability and Matrices (Undergraduate)
This module covers: Probability theory Counting permutations and combinations Conditional probabilities Bayesian probability Random variables and probability models Vector and matrix algebra Linear equations Vector spaces Linear combinations, linear independence