CSC465H1: Formal Methods in Software Design

Hours

24L/12T

Using mathematics to write error-free programs. Proving each refinement; identifying errors as they are made. Program development to meet specifications; modifications that preserve correctness. Useful for all programming; essential for programs that lives depend on. Basic logic, formal specifications, refinement. Conditional, sequential, parallel, interaction, probabilistic programming, and functional programming.

Prerequisite
CSC236H1/CSC240H1/MAT309H1/CSC236H5/CSCB36H3
Exclusion
NOTE: Students not enrolled in the Computer Science Major or Specialist program at the FAS, UTM, or UTSC, or the Data Science Specialist at FAS, are limited to a maximum of three 300-/400-level CSC/ECE half-courses.
Distribution Requirements
Science
Breadth Requirements
The Physical and Mathematical Universes (5)