Cs173 [best] -

is a foundational course typically required for computer science majors at many universities (most notably at the University of Illinois Urbana-Champaign). The course bridges the gap between calculus-level mathematics and the logical reasoning needed for advanced CS topics like algorithms, data structures, compilers, and theory of computation.