Computer Science · Columbia University
tbh I would recommend having a bit of coding experience prior to starting the class. The class is split into two halves: in the first half, all the sections are together to learn foundational python skills, and in the second half, you split into your respective sections. I definitely did learn how to code, but since you learn all the foundational skills in essentially 6 weeks, I feel like my skills are still a bit lacking. If you want to actually learn Python, I would maybe recommend an Intro Python course instead of this. For econ section: The second half of the course was much harder and seemed very targeted for those interested in finance. It mostly covers probability and databases; for our projects, we built monte-carlo simulations, did basic financial modeling, and combed through stock data. Practical and useful concepts, although I found it very advanced for a class that is supposed to be for beginners and non-majors. FOR BARNARD ECON MAJORS: this class does not fulfill econ reqs. do not make my mistake. take only if interested.
Prior to my beginning I heard good things about Cannon, and I am happy to say that they're true! His course is very difficult, especially to people without a background in programming but if you put in the time he will assist you in any way he can. Cannon even went above and beyond for me, helping me in a more personal manner.
Cannon is great and is happy to answer endless, repetitive questions. But actually, he is a very patient teacher and a really good at explaining and genuinely feels like he cares about preparing the next generation of computer scientists!!
Had absolutely no prior cs experience, but cannon made the class very doable/enjoyable. lecture pace is super slow and are not too necessary to attend imo(especially near the end), but he'll occasionally drop hints for exam context. definitely go to OH's / form groups to code with for assignments and do the practice exams in their entirity! Midterms were super similar to the practice exams, the final was a bit harder / had a different format. Blair and Cannon have near-identical class structures, but Cannon teaches in the spring and seems to be slightly harder.
Cannon is a cutie pie who loves to teach and explains pretty well - this said you MUST attend lecture not matter if he records or not!! trust it makes all the difference.
the goat, makes CS easy to understand both conceptually and syntax-wise. If you have to take a CS course at columbia i'd say taking one with him is a pretty safe bet.
Adam Cannon is a brilliant professor. He is funny, competent, and passionate about teaching. His jokes are extremely funny, and I wonder if he prepares them before class. He is the type of professor I hope to get each time I sign up for the class. He is very fair and understanding and does not display any biases at all. I feel like I learned a lot from him and would encourage anyone to take his class just once if they haven't before. He is extremely approachable during office hours and tries his best to explain things in a simple manner. He has made my tuition well worth it. He appreciates students putting in their best effort, and for that I am so very grateful. He even thanked students for sitting in the front at the end of the class, and I really do not think it's because of course evaluations. Even if I don't get an A, I can live with it in this case because I know he's a wonderful professor.
I took this class because I wanted to learn how to code, and it accomplished this purpose. Cannon is an engaging lecturer and explains complex topics in simple terms, but he also cares about his students. He goes as far as to memorize names and grade midterms himself. However, I do not feel like this course prepared me for the second half of the semester very well, as the professor for my post-midterm section had far higher expectations and covered difficult concepts. I believe some people even withdrew. Still, I am happy with my experience in his lecture and would recommend the class, just know that there is no easy "intro to CS" course at Columbia.
Taking Intro Java with Adam Cannon has been a great experience. He makes his lectures engaging, wants to connect with his students and genuinely cares about everyone in the class. You learn the basics of Java and get a good grasp of whether pursuing a CS Major/Minor might be of interest. That being said, for someone who has never programmed before the class can be challenging, especially the second half of it. However going to OH helps and there is generally speaking a good curve.
Adam Cannon is a great professor! He really cares about his students. I loved this class but if you are completely new to CS it may be somewhat difficult, because CS is just a hard subject! But it's worth it! I think the class prepared me well for Data Structures. If you don't plan to major in CS then Computing in Context might be a better option for you (same professor!)