University of Calgary

CPSC 251 - Theoretical Foundations of Computer Science I - Winter 2023

Proof techniques. Recursion and iteration. Specification of algorithmic problems, proofs of correctness, and bounds on their computational complexity. Discrete structures such as graphs, trees, strings, functions, and their computer representation. Counting, permutations, discrete probability spaces, random events. Applications in Computer Science.
This course may not be repeated for credit.


  • (3-2T)


  • Computer Science 219 or 231.


  • Students may not register in, or have credit for, Computer Science 251 if they have previous credit for one of Mathematics 271 or 273 or are concurrently enrolled in Mathematics 271 or 273.


Powered by UNITIS. More features.