The Bradfield Computer Science Intensive

Note: Applications are now closed for the June 2022 cohort. The next cohort will commence early 2023, with applications opening late 2022. To be notified when applications open, please sign up for our newsletter.

Bradfield CSI is an intensive, 12 month, live online program covering the core computer science concepts and engineering practices expected from senior software engineers at the industry's top companies. It is intended for early-to-mid career engineers wishing to expedite their path to higher impact, more fulfilling, and better remunerated roles.

It has never been easier to become a software engineer, even without a traditional computer science education. However, there is a widening gap between those who simply develop applications, and those who can understand, design, build, and maintain large-scale systems. Bradfield CSI is designed to help students methodically bridge this gap, without the expense or time commitment of a traditional master's program.

Program structure

  • Duration: 12 months
  • Time commitment: 10-15 hours/week
  • Cohort size: capped at 20
  • Price: $19,500, with payment plans available

The program consists of a 6-8 week preparation phase, 32 weeks of live instruction, and an 8 week capstone project and assessment phase. During the live instruction phase, students complete 8 modules, each 4 weeks long, with short breaks between modules. Throughout the program, students also participate in weekly seminars on teamwork, communication, and career development.

Each module consists of 2 live classes per week (5pm-6:30pm PT, Monday and Thursday evenings, and conducted via Zoom) as well as associated pre- and post-class work involving interactive courseware, short programming exercises, and reading assignments. The expected time commitment is approximately 10-20 hours per week.

Existing Bradfield students who wish to join the program are offered a tuition rebate of 1.2x any tuition paid to date for Bradfield courses (e.g. if you have taken two Bradfield courses with tuititon totalling $3,600, your tuition for Bradfield CSI would be $19,500 - 1.2 * $3,600 = $15,180).

Self-paced preparation phase

Prior to the start of the course, students are provided with self-paced material covering:

  • Algorithmic analysis and fundamental algorithms and data structures
  • Programming practice in Go and C
  • Practice utilizing common command line tools

The preparation phase is designed to ensure that every student enters with baseline understanding and skills that we'll assume thereafter.

The primary language for the program is Go, given its appropriateness and increasing popularity for systems programming. While advanced Go usage will be covered in the live instruction phase, students are expected to enter with a basic level of familiarity. C is also used occasionally in the course, to highlight low-level systems concepts as necessary.


Module Description Example exercises
1. Introduction to Computer Systems Machine representations of data and programs, the CPU execution model, exceptional control flow, low level programming, reverse engineering x86-64 and optimization, all from a programmer’s perspective. Implement a basic virtual machine, reverse engineer x86 assembly, refactor a Go program to improve CPU cache utilization, write a shell with job control.
2. Advanced Programming Go's runtime and standard library from both a systems programmer and a language implementer's perspective: concurrency and memory models, interfaces and dynamic dispatch, data types, garbage collection, foreign-function interfaces. Fix concurrency bugs, improve garbage collector throughput, integrate with C/C++ libraries using cgo.
3. Computer Networks Understanding network protocols (particularly at the application, transport and network layers) with a focus on programming networked applications, understanding network infrastructure, and working with third party systems (such as cloud providers and third party CDNs etc). Parse a packet capture file, write a DNS client, write an HTTP proxy, and configure a VPC on AWS.
4. Data Structures for Storage and Retrieval An in-depth look at how data structures such as B-trees, log-structured merge trees, and Bloom filters are used in production systems such as Postgres, LevelDB, and Redis. Write a Bloom filter, write a Skip list, design a file format for efficient storage and retrieval of key-value data.
5. Operating System Principles and Interfaces Learning how best to utilize the systems that sit between our applications and our computer systems, covering topics such as memory virtualization, task scheduling, file systems, and OS-level concurrency primitives. Create a simple file system with FUSE, create a simple container framework using cgroups, implement green threads on top of POSIX threads, measure a program's cache misses and page faults.
6. Relational Databases Understanding, effectively using, and optimizing relational database systems. Design and implement core components of a relational database such as query execution and joins, optimize queries in Postgres by reading planner output.
7. Distributed Systems Understanding principles and practical considerations for building high-scale data-intensive applications, and learning to reason about tradeoffs between fault tolerance, latency, throughput, consistency and operational overhead. Design and implement a simple distributed key-value store.
8. System Design and Operation System design practice combining the conceptual material and technologies covered in other classes, with case studies from real systems, and operational considerations such as deployment, observability and maintenance. Each exercise will be a new system design problem.

Capstone Project

Students will have 8 weeks to design, implement, and deploy a production-quality system of their choice. Students may work individually or in small groups. Projects may range anywhere from robust implementations of individual papers (such as the Raft consensus protocol) to high-scale applications built on existing infrastructure (such as a highly scalable image hosting service on AWS). Students are recommended to choose their own projects, but instructors will also provide suggestions.

Additional Support

Throughout the course, students recieve additional support in the form of:

  • Weekly seminars, with occasional industry guests
  • Office hours
  • Code reviews
  • Discussion and feedback over Slack


Students are admitted on the basis of their demonstrated abilities and likelihood of success in the program. In particular, we’re looking for students who are productive programmers, versatile and motivated learners, and effective team members. A computer science degree is not required. However, industry experience is strongly recommended.

The admissions process involves:

  • A take-home exercise consisting of several programming questions and practical problems
  • An interview discussing the student’s solutions to the take-home exercise, as well as their goals and background

Graduation criteria

Students graduate from the program upon completing:

  • The capstone project and its defense (answering questions from instructors and community experts)
  • A take-home exercise assessing key principles and knowledge across all modules


The primary instructors for the program are Oz Nova and Elliott Jin.

Oz co-founded Bradfield in 2015, and has since taught a wide range of foundational computer science topics to hundreds of self-taught engineers and bootcamp graduates, one small class at a time. Previously he was CTO and co-founder of Vida Health and Topguest.

Elliott has been an instructor and course developer at Bradfield since 2018. Previously he was a senior engineer at Dropbox, where he worked on distributed systems for storage and retrieval. In addition, he has experience as a mentor for the Google Summer of Code and a section leader for Stanford's introductory computer science course.

Note: Applications are now closed for the June 2022 cohort. The next cohort will commence early 2023, with applications opening late 2022. To be notified when applications open, please sign up for our newsletter.