Computer Science Department
School of Computer Science, Carnegie Mellon University


Technological and Pedagogical Innovations
for Teaching Introductory Discrete Mathematics
to Computer Science Students

Adam Blank

August 2014

M.S. Thesis


Keywords: Discrete mathematics, introductory course, compiler, tuntime analysis, assessment, peer review

Students studying computer science usually encounter an introductory discrete math course in their first or second year of undergraduate education. Before this course, the only computer science they have seen is often programming, and as a result they have a very narrow definition of our field. The realization that math–in particular, math that is very different than what they've seen in high school and calculus–is a large part of computer science can be very jarring and unwelcome. Moreover, these courses often simultaneously introduce the concept of a proof and formalism, numerous new symbols and terminology, have difficult content, and have slow grading.

We present several technological and pedagogical solutions to these prob- lems wrapped together in a course implementation, piloted at Carnegie Mellon University as 15-151. 15-151 deliberately addresses and embraces these concerns rather than trying to avoid them. In particular, it invites students to explore content applications by programming, write and discuss proofs together in groups, use a "computational environment" to explore syntax and semantics, and read and evaluate each other's proofs to understand their errors and speed up grading

135 pages

Thesis Committee:
Randy Bryant (Chair)
Klaus Sutner
Marsha Lovett

Return to: SCS Technical Report Collection
School of Computer Science

This page maintained by