Courses

Bradfield offers courses covering core topics in computer science

Short courses


MORE
learn more Computer Architecture and the Hardware/Software Interface
Computer Architecture and the Hardware/Software Interface

Understand how a microprocessor works from logic gates up, and the interaction between hardware, user code and the operating system kernel.

MORE
learn more Computer Networking
Computer Networking

Understand the protocols and technology enabling the Internet. Covers all layers of the OSI model, with a particular focus on understanding IP, TCP, UDP and common application layer protocols.

MORE
learn more Data Structures in Practice
Data Structures in Practice

Go beyond a "textbook" understanding of the topic to see how data structures and algorithms work in real-world systems.

MORE
learn more Problem Solving with Algorithms and Data Structures
Problem Solving with Algorithms and Data Structures

Learn about common algorithms, data structures, and techniques for algorithmic problem solving. This course is an accelerated view of what is commonly covered in an undergraduate algorithms course.

MORE
learn more Mathematics for Computing
Mathematics for Computing

Learn the math that’s useful in software engineering, including combinatorics and probability theory, set theory, graphs, number theory for cryptography and basic linear algebra.

MORE
learn more Databases
Databases

Learn about modern and historical innovations in data representation, and understand the architectures of both traditional relational DBMSs and modern distributed data stores.

MORE
learn more Languages, Compilers and Interpreters
Languages, Compilers and Interpreters

Learn about languages generally, rather than one at a time. Covers compiler and interpreter architectures, and the key similarities between various languages and their implementations.

MORE
learn more Operating Systems
Operating Systems

Learn about the fundamental problems solved by modern operating systems, and the decisions faced by operating system designers.

MORE
learn more Distributed Systems
Distributed Systems

Understand common patterns in distributed systems design, and the tradeoffs we are forced to make between consistency and availability in the context of distributed data and computation.