An intensive online school

for software engineers seeking mastery.

Explore courses
Learn the hard stuff

Instead of teaching you frameworks or technologies you could easily learn about yourself, we focus on deep topics in computer science and software engineering rarely taught outside of top universities.

Study around your work schedule

Courses are structured to fit around a typical engineer’s work schedule.

Learn effectively

Small tutorials are combined with programming exercises, textbook study and paper reading to maximize effectiveness, and all instructors are highly experienced teachers and engineers.

Bradfield School of Computer Science

A word from our President

Dear developer,

Average code is letting us down, and the stakes have never been higher: bits are replacing atoms, algorithms are replacing companies, and “infrastructure” is coming to mean cloud services, not roads and railways. Within the coming decades, algorithms could be driving our cars and defining our virtual worlds.

Yet while the impact of technology is increasing, we are suffering a crisis of quality. Over 50,000 new software developers enter the industry every year, but only a small fraction are on a path toward excellence. Few will produce lasting, high quality software.

At Bradfield we strive to close this gap by helping software developers become high impact engineers. By focusing on foundational computer science disciplines like computer architecture, networking, operating systems and databases, we prepare our graduates to produce high quality software in the short term and breakthrough technologies in the long term.

I hope you will join us.


Oz's signature

Oz Nova
President and lead instructor

Computer Science Intensive

Our primary offering is a 12 month live online program, intended for mid-career software engineers to take part time to accelerate their careers. Applications for our 2023 cohort are now open!

More details

Standalone Courses


For notifications about new courses and enrollment dates, subscribe to our mailing list.

Meet the instructors


Our microsite listing the best resources and focus areas for those wishing to teach themselves computer science.



Still have questions?

See full FAQ Contact us
Why should I study with Bradfield?

If you are a strong programmer but strive to do more challenging and rewarding work, then Bradfield is here to serve you. We feel that it’s relatively easy to teach yourself a new language or technology, so we focus on the challenging computer science concepts that will make you a significantly better engineer, but that are hard to learn without some instruction and a supportive environment. As far as we know, we are the only institution that does this outside of a university environment.

What does a typical class look like?

We conduct highly interactive tutorial style classes of 15-20 students, combining question-and-answer style teaching with hands on problem solving. Before the class, your instructor will ask you to watch a video lecture or read a textbook section or paper. Instead of repeating the lecture in class, we will probe your understanding and consolidate your knowledge.

Many of our courses will involve a major project (like writing an interpreter or database system) or a series of minor projects (like adding features to an operating system, writing a load balancer or re-deriving TCP) and your instructor will help you extend your understanding to these and other applications.

What is the overall time commitment?

We make extensive use of pre-class exercises and study resources, so recommend 1-2 hours of preparation per hour of scheduled class time. Generally our programs are designed to be the maximum realistic time commitment for a full time software engineer.

How does Bradfield compare to a university?

The top computer science departments in the US have done an excellent job of identifying the lasting ideas in computer science that every practitioner should learn. Unfortunately, the conventional university format—lectures and exams, spread over four years—does not suit everybody. Relative to a university, our own offering covers many of the same big ideas and foundational topics, but in a radically different format.

By using online courseware to provide the equivalent of lectures, the live portion can be dedicated to deepening understanding. By limiting courses to strong programmers, keeping classes small, and eliminating excessively theoretical content as well as exams and graded assignments, we are able to cover a comparable amount of content in an expedited manner.