Roboforbes

Timothy Paine

COM · Columbia University

Courses Timothy Paine teaches

What students said

COM S3136 · Spring 2025

Six labs with around two weeks for each lab. Midterm and Final. I think class is curved to B/B+. And this man is really good--he actually recognizes effort. If you struggle in the class but ask questions and consistently get help, you will get a good grade.

ENGI E1006 · Summer 2024

We had seven programming assignments, a midterm, and a final, which were each all take-home and had equal weighting at the time. Again, we were granted extensions when we asked for it (and even then, the homework wasn't too intensive). I will note that I speak from the perspective of having had a small amount of programming experience in Java prior to taking the course.

COM S3136 · Spring 2025

Essential Data Structures is a gem of a class! Tim Paine is a great lecturer and the labs were very relevant to the course content. I took ENGI1006 with him too, but I can assure that even if you had a hard time in 1006 with him, Data Structures is 110% worth it. Tim Paine is also always willing to help students and answer their questions. If you can catch his subtle jokes, the class is even better.

ENGI E1006 · Summer 2024

7 HW assignments, 2 midterms, 1 final Grades are DEFLATED: - 95-100 = A - 94-95 = A- - 93-94 = B+

COM S3136 · Spring 2025

Lab every few weeks, took me like a few hours or less a day to finish. Those were fun. One midterm and one final. Plenty of practice problems were provided. Easy if well prepared.

ENGI E1006 · Summer 2024

Recently, I had the nightmare of taking "Intro to Python" by Timothy Paine. I can't believe I wasted an entire semester's worth of time on such a disaster of a course, and it is beyond me how anyone could teach a course and call it “education”. Going into this course, I thought that it would be an easy A. Past reviews of this course had said the same thing, except for one little detail: that Paine was NOT the professor. Paine’s organizational skills and lectures are all over the place. One minute, you’re learning about basic syntax, and the next you’re asked to create an AI program to detect and predict future medical diagnostics. It’s like Paine threw together random topics and created his syllabus by asking ChatGPT “What should I teach in a Python course?”. Spoiler alert: it’s a complete disaster. About Paine himself: this person is the perfect example of boring and clueless. His teaching style is so dull and lifeless — it feels like he’s trying to put the entire class to sleep. There’s no passion, no engagement, nothing. It’s like he actully couldn’t care less about actually teaching the class. I find more excitement in cleaning my room than attending his lectures. No wonder less than 10 people in a 300 person lecture show up to class… At the beginning of the course, no grading details were posted on the syllabus. The same thing for the middle and at the end of the semester…

COM S3136 · Spring 2025

Before taking Essential Data Structures (C/C++), I expected a standard overview of common data structures and maybe some introductory programming in C. I hoped to strengthen my foundational knowledge, but I never anticipated how immersed we would become in broader concepts, computer systems for example. From the lectures, it was clear this course would be a deep dive—connecting fundamental building blocks to real-world contexts. Looking back, it exceeded my expectations in every way, teaching me not only core principles but also how to apply them in practice. Professor Timothy Paine’s teaching style is both engaging and thorough. He is clearly passionate about the material, and that enthusiasm comes through in every lecture, lab, and discussion. He actively encourages questions, breaking down complex topics into manageable parts so students from all backgrounds can follow along. I personally asked a lot of questions, and he consistently provided comprehensive answers from multiple perspectives. Moreover, he pays close attention to individual interests, expanding on topics for those who want to delve deeper. Outside the classroom, his ample office hours and review sessions—focusing on labs and broader real-world practices—further demonstrate his dedication to student success. The course content is carefully organized and strikes a perfect balance between theoretical knowledge a…

ENGI E1006 · Spring 2022

I took Intro to Computing for EAS Spring 2022, and I thought I had a good experience. It served as a nice precursor to programming (in Python, specifically) and I appreciated the opportunities we had to learn about different concepts about the language and its accompanying libraries. The policies for the course were also very lenient. I got two extensions on my assignments since I was busy with work from other classes. I would recommend this course as an elective if you’re not a SEAS major (since I understand it’s required for SEAS students). Admittedly, Professor Paine could have been more engaging in the lectures, as I often found myself not attending since the content was relatively simple for me to grasp, and I didn’t enjoy sitting in for the lectures much.

COM S3136 · Spring 2025

There are labs due every couple of weeks. The instructions and how you are graded are very clear. The time varies greatly. Some labs take only an hour or two while some will take a few hours or more. The grading is very fair, and he is clear on what you are grading on. There is also abundant help available for all the labs. Office hours, review sessions, and the class listserv.

COM S3136 · Spring 2025

This is an amazing class with a great professor. If you want to learn the essentials C/C++ for real-world application this is the best class you can take at Columbia. The first half of the class on on C and the second half is on C++. The class teaches you both languages with a strong emphasis on memory safety. The class doesn't cover data structures as extensively as other classes. We focus on arrays, linked lists, and the main types of trees. Paine is a great teacher. The class is centered on a virtual machine that you ssh into (the class teaches you how to use git and ssh). All notes are available on the course website or on the virtual machine and all the lectures on also virtual. Paine goes through the content thoroughly and takes lots of questions through out class. He also has many office hours and review sessions. He is also very engaging and often discusses the current state of real-world software development. The class is also very small which allows for lots of individual help.

Other COM professors

Plan your semester on Roboforbes — free