You know what they say: CS is the new econ. It feels like everyone at Columbia has taken, is taking, or plans to take at least one computer science class during their time here. If you fall into the third category but find yourself undecided on which course to take, look no further.
Professor Adam Cannon’s famed Introduction to Computer Science and Programming in Java (COMS W1004) is one of Columbia’s most well-known CS courses, but we all want to know what a course is really going to be like before we hit the register button. We attended a lecture and asked some Intro to CS and Java students, as well as Professor Cannon, to give us the lowdown on the course’s workload, vibe, and more, so now you don’t have to go into the dreaded registration process completely blind-eyed. You can thank us later.
Assignments and Exams: One midterm, one final, weekly homework assignments that alternate between programming projects and problem sets.
Workload and Difficulty:
We all know that computer science isn’t the easiest of subjects, but how hard is this intro class, really?
“I think it’s as I suspected. It doesn’t have a crazy amount of work,” student James Tietcheu, GS ’19 said.
But don’t be fooled; it may not be that easy for everyone. Student Sara Bernstein, CC ’21, found the class a bit more intensive. “I took a [computer science] class in high school, so I thought that having a background would make it a breeze … but the projects are really hard, and it just takes a lot of hours and a lot of work. So, it’s definitely harder, but a good hard,” she said.
Definitely don’t take this course if you’re looking for an easy A to boost your GPA—that’s not what Intro to CS and Java is all about. As with any class, it mostly comes down to how you manage your time. Bernstein can confirm: She said that students are given about a week to complete each assignment, which is “doable”. That said, keep in mind that this may not be the best class for students who aren’t willing to devote a lot of time to independent, outside-of-class work.
Though large lectures such as this one—which has nearly 300 students—often get a bad rep as unengaging, Cannon’s course could not be further from it. With his fairly legendary humor, direct interaction with students, and easygoing demeanor, Professor Cannon ensures that his lectures are anything but dull. Part of what makes his humor so reliable is his self-deprecation: When a student calls out a wrong answer, Cannon tends to soften the blow by fessing up to his own careless mistakes.
Bernstein claims that the course is “even fun for people who don’t want to be computer science majors.”
As for what the students were up to during the lecture? Unsurprisingly, there were probably about as many browsers open to columbia buy sell memes as to actual code. That being said, a good number of students were very engaged in the lecture and actively participated by taking notes and asking questions.
Despite the complexity of the course content, students said that Professor Cannon makes computer science make sense. He breaks down even the most elaborate problems and ideas with charts and illustrations of everything he discusses on the blackboard. Unlike your typical 300-person lecture, student interaction is a vital component of Cannon’s class: He asks for volunteers throughout the session.
Office Hours/Professor Availability:
You’ve heard it time and time again: Go to office hours. Though a seemingly trite piece of advice, it’s true, and Professor Cannon takes it seriously—as do his students. “I went to his office hours, I had an issue, and it took, like, 30 minutes of his time,” said Tietcheu. “He’s always willing to take 30 minutes or an hour of his time to just make sure that he satisfies all of his students.”
Cannon is also willing to answer any last minute questions students have before lecture begins. The class has a number of TAs as well, who are always willing to help out the students with any issues they have. Cannon’s one-on-ones are famously reassuring, so don’t be intimidated by that bit of activation energy that it takes to make an appointment.
The Key to Success:
When asked what the key to success in the course is, Professor Cannon was blunt: “It’s not anything tricky: It’s basically come to class, do the readings, and start the homework early.”
Though it’s advice that could be applied to any course, it shouldn’t be ignored. Cannon had more insight to give, saying that “the key is to have an open mind. ... [Students] have been trained to learn and think a different way, and this is a different way.” So, be prepared to go into Intro to CS and Java with the expectation that your way of thinking will be challenged. In the end, you probably won’t regret it. (And if you do, you can always Pass/D/Fail it.)