CSC165H1
UTSGMathematical Expression and Reasoning for Computer Science
Introduction to abstraction and rigour. Informal introduction to logical notation and reasoning. Understanding, using and developing precise expressions of mathematical ideas, including definitions and theorems. Structuring proofs to improve presentation and comprehension. General problem-solving techniques. Representation of floating-point numbers. Running time analysis of iterative programs. Formal definition of Big-Oh. Diagonalization, the Halting Problem, and some reductions. Unified approaches to programming and theoretical problems.
View full details on the UofT Academic CalendarCourse Info
Reviews (3)
CSC165 is a challenging course requiring about 15 hours of work per week, and you can get a good mark if you work hard. The course is quite theoretical and appeals mostly to students interested in theoretical computer science or those taking first-year math specialist courses. Math specialist courses like MAT137 prepare better foundations for proof writing—without that background, CSC165 will be considerably harder. It's useful in that it's a prerequisite for second-year algorithms, but it's primarily valuable for students with strong theoretical interests.