CS Will Offer New Class on Discrete Math

The Computer Science Department plans to debut a new course—Computer Science 20: “Discrete Mathematics in Computer Science”— next spring that will better prepare students for the required proof-intensive course CS 121: “Introduction to Formal Systems and Computation.”

CS 20 will provide a strong foundation in topics such as “logic, proof techniques, proof by induction, and discrete probability,” according to the course proposal compiled by Computer Science Professor Harry R. Lewis ’68, who will teach the course next spring.

Lewis created CS 121 in 1978 and has taught the course roughly 25 times since then. He proudly displays a framed Number 121 Red Sox jersey in his office as a mark of his enthusiasm for the class.

But Lewis said he feels that a greater number of students are now entering the course without the rigorous proof background that is demanded.

“It’s always been a pretty steep hill for people who haven’t done formal mathematics before,” he said, adding that proof-writing is not extensively covered in the Math 1 and 21 series. “[CS 20] is designed to fill in that gap.”


The popularity of introductory computer science class CS 50 has played a role in attracting students without a formal math background into the CS concentration, according to Lewis.

In his course proposal, Lewis noted that most other universities with strong CS programs—including MIT, Stanford, and Yale—have already incorporated a discrete mathematics course into their curricula. CS 20 is primarily modeled off of Yale’s comparable class.

The course will be mainly intended for freshmen, and Lewis said he will forego teaching his usual General Education class—Empirical and Mathematical Reasoning 12: “Bits”—to teach the new class.

“It’s not going to be obvious to people whether they need to take [CS 20] or not,” he said, adding that he plans to develop a sample final exam that will help students identify whether the class is appropriate for them.

Lewis also emphasized that CS 20 will not increase the number of CS concentration requirements, since it could potentially replace a technical elective or another math class.

Its introduction will also consolidate formal logic taught in a number of other courses.

“One of the things we’re actually hoping to accomplish in putting this in an intro course is [to] free up some time in several other courses,” Lewis said.

Computer science concentrators said they were excited about the new course.

“I think it’s a great idea,” said Tiffany J. Au ’12, who took CS 121 without a background in proof-based mathematics. Although she said that she left CS 121 feeling very comfortable with proofs, she added that the CS concentrators tended to have a weaker math background when compared to applied math concentrators in the class.

“Having it would definitely give us a leg up, especially for the first few problem sets,” she said.

— Staff writer Radhika Jain can be reached at


Recommended Articles