Mathematical Foundations of Computing


Stanford School of Engineering


Mathematics provides many powerful insights for current and future fundamental principles of computer science. Learn how to model problems mathematically, reason about them abstractly and then apply techniques to explore their properties. This broad introduction to mathematical applications will prepare you to move forward and solve today’s most important problems within the computer science field.


Programming Abstractions (Stanford Course CS106B) or equivalent

Topics include

  • Formal language theory such as finite automata, Turing machines and NP-completeness
  • Induction, sets, functions and relations
  • Proof techniques and applications
  • Propositional predicate logic

Course Availability

The course schedule is displayed for planning purposes – courses can be modified, changed, or cancelled. Course availability will be considered finalized on the first day of open enrollment. For quarterly enrollment dates, please refer to our graduate education section.

Pre-register Now

Dates:March 29 - June 4, 2021
Units: 3.00-5.00
Instructors: Cynthia Lee
Delivery Option:
For Credit $4,056.00-$6,760.00
Notes: Pre-registration Dates: February 1, 2021 at 9:00am to March 12, 2021 at 5:00pm

Computer Science Department Requirement
Students taking graduate courses in Computer Science must enroll for the maximum number of units and maintain a B or better in each course in order to continue taking courses under the Non Degree Option.

Pre-registration for this course will secure your enrollment request and ensure timely processing of your application for potential course approval. Please note: course enrollment will be confirmed after March 19, 2021; after completing your pre-registration, no further action is required on your part.


This course may not currently be available to learners in some states and territories.