Mathematics for Computing

If people do not believe that mathematics is simple, it is only because they do not realize how complicated life is.
— John von Neumann

One of the hardest topics for software engineers to teach themselves is the mathematical foundations of their work. They may use sets, logical operations and graphs every day, but without some background in set theory, logic, graph theory and so on, there is a limit to how effective they can be with their tools.

This course is designed as a first formal look for practicing software engineers at the discrete math topics typically covered at the early undergrad level. It also briefly visits a handful of topics outside of discrete math that may be of interest to software engineers.

Since early in the 20th century, most math education has become exceedingly rigorous, which may have been important to the development of the field, but unfortunately an impediment to the practical, intuitive understanding sought by non-mathematicians. Our course eschews the proof-centric methodology, instead focusing on problem solving and intuition building.


  1. Counting
  2. Probability
  3. Logic and proof
  4. Induction and recurrences
  5. Graph theory
  6. Linear algebra crash course
  7. Number theory for cryptography
  8. Revision and problem solving practice

Projects and exercises

The practical component of this course predominately involves solving small math and programming problems to consolidate your understanding of the content.

Schedule and price

This course will next run twice per week for 4 weeks in November 2017. The total price is $1,800.

Apply now Still have questions? Contact us.
I took Mathematics for Computing to fill in missing fundamentals, and was impressed to see how much it helped me with my later machine learning study. Before taking the course, I don’t think I would have even had the confidence to tackle the math-heavy aspects of a subject like machine learning.
Richard Artoul portrait
Richard Artoul, Software Engineer at Uber
Bradfield did what I had previously thought impossible: they made math interesting! And practical! In this class I developed a healthy skepticism of my own intuition (those darn pigeonholes). If nothing else, understanding Bayes Theorem may quite literally save my life someday.
Tiger Shen portrait
Tiger Shen, Software Engineer at Braintree
576 Natoma St
San Francisco, California
© 2016 Bradfield School of Computer Science