This is an archived page from the Fall 2020 version of the course.
For the latest version, see

Fall 2021 Course

The cs3102 course will be offered in Fall 2021, co-taught by Nathan Brunelle and David Evans.

Class meetings (expected to be in person, pending any University policy changes) will be Mondays and Wednesday, 3:30pm - 4:45pm in Maury Hall 209.

We’ll be putting more information here about the course as the start of the semester approaches. For now, you can see what the course was like last year from this website (including the syllabus from the Fall 2020 course: Fall 2020 Syllabus). You can also see the Fall 2019 course, which was the previous (pre-Covid) version of the course. The design of the Fall 2021 course is not set yet, but it will most likely be a combination of aspects of the previous (lockdown) semesters, and what we did for the last in-person version (Fall 2019).

Week 12 Highlights

Here are some highlights from student submissions for Week 12.

Children’s Book

In the Land of NAND [PDF]
Emily Franklin, Luke Sills, Emily Huo, Reza Mirzaiee (Cohort Felt)


Cantor's Theorem (to the tune of "You'll Be Back" from Hamilton)
Derek Bassett, Isabelle Deadman, Justin Ngo, Anh Nguyen, Henry Todd, Letao Wang (Cohort Benjamin)

The Day Computing Died - The Rao-Blackwell Theorems
Zach Baugher, Tyler Willis, Sarah Yao, Karen Zipor, Jennifer Li, Carryk Bhattal

Wilkes Cohort Final Project Rap
Stephen Boakye, Kyle Cheng, Collin Orendorff, Yu-Jiyun Taom, Iskander Umarkhodjaev

Theory of WAP-u-tation (listener discretion advised!)
Cris Scruggs


News Flash: P = NP!
Cameron Church, Diana Damenova, Daniel Lower-Basch, Jason Tufano, Michael Yates (Cohort Anh)

Office Hours
Noah Holloway

Mulan Solves P vs. NP
Charles Fang and Darwin Walter

Theory of Computation — Official Trailer
Gabriel Edwards, Prithvi Kinariwala, Jared Nguyen, Ian Reyes, Dawang Shen (Cohort Rosenblum)


The Legend of Bruno L.‘s Lasagna Language
Benjamin Grant, Callie Hartzog, I Jung, Joseph Kerrigan, Hallie Khuong, Grace Kisly (Cohort Jones)

Make your way Through Finite State Automata
Selena Johnson

Domino Logic Gates
Jack Liu, Anh-Thu Nguyen, Victor Pham


2-bit Ripple-Carry Adder and 4-bit CLA in Minecraft
Jackson Berigan, Edward Kim, Justin Liu, Phuc Nguyen, Parth Raut, Evan Topoleski (Cohort McCarthy)

Divisible by 8 FSM
Kevin Cooper, Maxim Gorodchanin, Amar Singh, David Zhang, Zhen Zhang (Cohort Buolamwini)

Week 12

Week 12 is now posted - see the Week 12 page for the details.

Please read the Week 12 guide early, since it is different from previous weeks and you need to decide on how you want to partition your cohort for this by the date of your Week 11 write-up deadline.

Week 11

Week 11 is now posted - see the Week 11 page for the details.

Week 10

Week 10 is now posted - see the Week 10 page for the details.

Week 9

Week 9 is now posted - see the Week 9 page for the details.

Week 8

Week 8 is now posted - see the Week 8 page for the details.

Week 7

Week 7 is now posted - see the Week 7 page for the details.

Cameras and Community

In general, we’re pleased with the responses on the peer evaluation surveys, and it is clear that most students have respect for and are valuing the interactions with their cohortmates. But, one thing we’ve heard from some of your peer evaluation surveys, and also felt ourselves, is the difficulty forming a connected community in this on-line environment.

Groups that knew each other and were used to working together pre-pandemic usually were able to move to on-line environments fairly well, and the personal connections already established in the easier in-person environment translate to the on-line environment. I’ve seen similar things in comparing groups that have nearly all of their interactions on-line but have one or two in-person meetings a year, to ones that never meet in person. Without the in-person meetings, the level of familiarity and comfort that comes from feeling like you know who someone is are very hard to attain.

This makes the challenge of forming a community with your cohort, which for most of you is with people you have never met in person, especially difficult (and perhaps exaccerbated by the additional stress you might feel about being graded during the assessed cohort meetings, although we really don’t want this to be stressful).

Which meeting would you rather be in?

One thing that is a big factor in how well group video meetings work is correlated with having cameras on. From the now thousands of group on-line meetings we’ve been, with groups ranging from 3 up to several hundred people, the biggest thing that seems to impact the quality of the meeting is whether or not most people have their cameras on. I’ve (Dave) seen similar things from observing my daughter’s classes and activities — some require everyone to have their camera on all the time, others do not allow anyone to turn their camera on. There are very good justifications for each of these policies, but the cameras-off meetings lead to stale, non-interactive environments, where no one forms any connections.

Having cameras on allows interactions that aren’t possible with audio only — mid-meeting high fives, playing rock-paper-scissors, raising hands, showing interest, showing confusion, showing pets, celebration dances, etc. Video also helps make people seem like humans, not just voices in the ethernet.

That said, we don’t want to require or pressure anyone to turn their camera on during the cohort meetings, and as we said at the beginning of the course, we don’t want anyone pressuring your cohortmates to turn cameras on. There are lots of “good” reasons why someone would decide to keep their camera off, such as:

  • Not having an adequate and private place to use to join the meeting and being worried about things that might be seen in your background.

  • Being anxious about how you look on camera, or fearing that people will judge your ideas differently if they can see you (we really hope this would not happen with people in our class, but that doesn’t make the fear of it less valid, especially when it does happen in lots of other environments).

  • Not having enough bandwidth to have good audio and video at the same time and prioritizing audio.

  • Not having a working camera.

But, there are also lots of “bad” reasons why people prefer to keep their cameras off during a meeting:

  • Not wanting to reveal if you are falling asleep, distracted, bored, or confused. (All of these are important visual clues for the other people in the meeting that, although not always pleasant to see, are very valuable to know.)

  • Wanting to be able to only partially engage in the meeting, and to be able to do other things without being noticed. We sympathize with this reason for many meetings we attend, but for the cohort meetings we really want everyone to be fully engaged and participating, even during times when others are speaking.

  • Wanting to be able to “hide” and lurk in a meeting, without contributing to it.

  • Not wanting to be the first one in the meeting with a camera on. This is a tough one, and understandable, but also the reason why small group meetings that start with about half of the people with cameras on, tend to devlolve into meetings with no cameras on. It feels awkward to be the only one in a meeting with camera on since it seems like everyone is looking at you and you have no one to look at. But, try and stick it out and hope that if you do, others will join. We would also suggest that there is a way to encourage others to turn on their cameras without pressuring any individual to do so: “If I turn on my camera, will anyone join me?”

It isn’t possible for us, or your cohortmates, to distinguish between the “good” and “bad” reasons you might not be willing to have your camera on. On the other hand, my guess is the vast majority of students who have their cameras off, it is for a “bad” reason not a “good” one.

We don’t want anyone to feel any individual pressure to turn their camera on since we know some people do have valid reasons not to. But, we hope that people who are turning their camera off for “bad” reasons, will consider that although it is an immediate sacrifice personally to turn on your camera, it is a community benefit that will, in the long run end up being a personal benefit also.

Week 6

Week 6 is now posted - see the Week 6 page for the details.