Computer Science 351 — Theoretical Foundations of Computer Science II

Theoretical Computer Science

CPSC 351: Theoretical Foundations of Computer Science II

Computer Science 351 is a second-year undergraduate course in the mathematical foundations of computer science, and an introduction to theoretical computer science, offered by the Department of Computer Science at the University of Calgary. It is a required course for students majoring in Computer Science.

In Fall 2023, sections with two delivery modes are available:

This is also a flipped course: Students will be expected to complete a reading assignment (or watch a video) before attending each lecture. The lecture time will be used to solve a problem that is related to the assigned reading and makes use of material introduced in it.

This course will have a D2L course site which will be used for course communication and reporting of grades. All material, supplied to students for course work, will be made available on the D2L site. The page that you are reading now (and other pages linked to it) includes a subset of this material that can also be accessed by people outside this course. They pages are certainly “under construction” at this point, and they describe the course as it will be offered in Fall 2023.

Course Outline

The CPSC 351 course outline is now available, and this sentence is a link to it.

Lectures and Tutorials

  1. Introduction and Mathematics Review
  2. Finite Automata and Regular Languages
  3. Turing Machines and Their Languages and Functions
  4. Computability
  5. Probability for Computer Science
  6. End of the Course

Additional Course Material


University of Calgary Extension of Logo
Department of Computer Science

cpsc 351 computer science faculty of science u of c

cpsc 351 introduction finite automata and regular languages turing machines and their languages and functions computability probability for computer science conclusion recommended references course administation assignments tests