How do we ensure that critical software and hardware systems work the way we intend them to? How do we develop computer systems that support decision making by people or by robots? How do we extract and update information from today's diverse and heterogeneous information sources? This focus exposes students to the mathematical foundations, tools, and techniques based on formal languages and logic to address these and many other related problems at the frontier of computer science.
Required Courses:
- CSC324H1, CSC330H1, CSC463H1, CSC438H1/CSC448H1
- 1 FCE from the following: CSC343H1, CSC384H1, CSC410H1, CSC465H1, CSC486H1
Suggested Related Courses:
Courses on static program analysis and on the grammar and logic of natural languages are relevant. Also related are courses on information theory and graph theory.