Skip to main content

Algorithms and Discrete Structures (CSC 6013)

January 21, 2026

This foundational course introduces algorithmic thinking and the mathematics of computer science. Topics include abstract data types, such as lists, stacks, queues, hash maps, trees and graphs, but also basics of asymptotic analysis, recursion and various algorithmic strategies, including brute force, decrease-and-conquer and divide-and-conquer. Programming exercises help create proficiency in Python. Emphasis is on understanding underlying mathematics, such as discrete probability, statistics, graph theory and set theory. Credits: 4