middCourses
with Philip Caplan15 days ago

Though this course has a lot of projects and assignments, and it is heavily Python-skill-based, I really recommend you try it if you really want a new experience. There are many, many, many retakes & extraordinarily clear rubrics (but really depend on professor, e.g. our class has its own mini-website to categorize materials). This means you can get a really good grade if that is important for you. In addition, the professor is very, very, very nice. Caplan is a very shy teacher. In class, you might feel awkward when he tries to make a joke but can't make everyone laugh. However, he is very knowledgeable and professional. There is rarely anything he doesn't know and could often extend the content beyond our level (for anyone who is interested, it is a great way to link different level difficulties together). Even if there is anything he doesn't know, he is very, very, very honest and would try with his intuitive during class while explaining his steps (9 out of 10 he is correct in guessing too). Furthermore, if you ever take this course, you MUST go to the Office Hour. In the class, he might be very fast in writing code and might sometimes move on very quickly. If you ever find it struggle to ask him questions directly in class (which is common because the class is often very quiet), office hours is extremely helpful. He has a whiteboard where he would take you step-by-step until you understand everything. He has a great ability to give examples and can write code very neatly. He has the ability to create connections through knowledge we already learnt and the new things we might know (for instance, aerodynamics & Chapter "Complexity analysis, Big-O, Numeric representation"), which I find helpful. The only thing is that he might be very busy during finals, so better to start reaching out to him as early as possible in the semester (he also has a surprisingly good memory of students and has prepared surprises like gifts).

Though this course has a lot of projects and assignments, and it is heavily Python-skill-based, I really recommend you try it if you really want a new experience. There are many, many, many retakes & extraordinarily clear rubrics (but really depend on professor, e.g. our class has its own mini-website to categorize materials). This m …Read more

Project-HeavyEasy GradingProject Exams
6hrs / week Very difficulty Extremely high value Would take again
with Michael Linderman2 months ago

(I took this course with Philip Caplan) Despite taking AP Computer Science Principles in high school, I came into this class feeling like I did not have a very good understanding of coding or computer science. This class really helped me gain a better understanding and become able to understand what (python) code means, write concisely and effectively, and debug and troubleshoot. It also shows lots of interesting implementations that let you reach a common result, and talks about efficiency, both in writing and running code. Professor Caplan gives engaging lectures that help get the material across, and is always helpful if you have problems in getting your code to work. He likes including tricky practice problems in the lectures to prove certain points. Weekly work consists of a practice problem set assigned every Monday (due at the end of the semester) that takes 15 minutes to and hour, a large assignment due Thursday night which takes 1-3 hours, and a short quiz and lab (1 hourr) on Friday. You typically have the opportunity to retake assignments should you get a low grade and he gives good feedback to help you gain a better understanding. Overall, I would strongly recommend this course.

(I took this course with Philip Caplan) Despite taking AP Computer Science Principles in high school, I came into this class feeling like I did not have a very good understanding of coding or computer science. This class really helped me gain a better understanding and become able to understand what (python) code means, write concise …Read more

Easy Grading
4hrs / week Average difficulty Above average value Would take again
with Michael Linderman12 months ago

Whether you have some or no coding experience, this is a great course to introduce anyone with any interest the Python programming language. Professor Linderman always comes in with enthusiasm and rolls with it the entire time. He will give his goofy one-liners every once in a while which shows that CS guys aren't completely dead inside. Outside of class, it is expected that you read a small section before class and complete the weekly projects that you have two weeks to resubmit for full credit. During class, Linderman lectures about the material, has interactive examples and discussions, and, on lab days, you take a quiz for 15 minutes and then work on two programming questions based on the material learned that week with a small group. Overall, after only taking AP CSP in high school, this was a good review of the material I had previously learned.

Whether you have some or no coding experience, this is a great course to introduce anyone with any interest the Python programming language. Professor Linderman always comes in with enthusiasm and rolls with it the entire time. He will give his goofy one-liners every once in a while which shows that CS guys aren't completely dead ins …Read more

Project-HeavyFast-PacedFair Grading
5hrs / week Average difficulty Extremely high value Would take again
with Philip Caplanlast month

Although the instructor was nice and the grading is very fair as you can redo any assignments, it does become more than it is worth if you do not intend to follow up in the class. I would say only take it if you are serious about comp sci, otherwise do not.

Fast-PacedLots of HomeworkEasy Grading
4hrs / week Very difficulty Average value Would not take again
with Michael Linderman11 months ago

Professor Linderman is an amazing professor. The course itself is an expectedly structured cs class. Homework can be hard at times but it is easy to find help from professor Linderman. This course is very accurately described as "what you put in is what you get."

Fast-PacedFair GradingLots of Homework
3hrs / week Low difficulty Extremely high value Would take again
with Michael Lindermanlast year

This course is ideal for students with some programming experience looking to strengthen their skills. The grading is fair, and the professor is approachable, offering many office hours and genuine support. Weekly programming projects ensure consistent practice, with varying difficulty levels. While lectures can feel fast-paced, staying engaged and seeking clarification helps greatly. Regular office hour visits can boost your understanding and grades.

This course is ideal for students with some programming experience looking to strengthen their skills. The grading is fair, and the professor is approachable, offering many office hours and genuine support. Weekly programming projects ensure consistent practice, with varying difficulty levels. While lectures can feel fast-paced, stay …Read more

Fast-PacedLots of HomeworkFair Grading
0hrs / week Low difficulty Extremely high value Would not take again
with Michael Lindermanlast year

Professor Linderman is such an enthusiast for teaching CS 146 as he comes to class with good energy and makes helpful word choices to make learning engaging and interesting. Despite having some prior knowledge, I was still able to learn many new things that are helpful for my major and career interests.

Project-HeavyFair GradingDifficult Exams
6hrs / week Average difficulty High value Would take again
with Michael Lindermanlast year

This course is suitable for students with some programming experiences before, but it will still teach from the beginning of programming. For homework and exams, it's all graded based on an EMRN rubric, but you will have re-do chances for them. Every week, there will be a small quiz and a programming assignment that you need to spend some time on it. Overall, you will really learned a lot in this class, and Professor Linderman is helpful during office hours if you have any questions.

This course is suitable for students with some programming experiences before, but it will still teach from the beginning of programming. For homework and exams, it's all graded based on an EMRN rubric, but you will have re-do chances for them. Every week, there will be a small quiz and a programming assignment that you need to spend …Read more

Fast-PacedFair Grading
7hrs / week Average difficulty Extremely high value Would take again
with Michael Lindermanlast year

This one is a good course for students with some programming background, but not very solid. The grading is reasonable, and the professor is highly accessible, with plenty of office hours and a genuine enthusiasm for helping students. Regularly attending office hours and asking questions about assignments can definitely give you a good grade. Assignments are weekly programming projects, which keep you engaged and practicing consistently. The difficulty level varies—some are more straightforward, while others are challenging. The professor’s lecture can occasionally feel fast, so staying engaged and following up on anything unclear is important.

This one is a good course for students with some programming background, but not very solid. The grading is reasonable, and the professor is highly accessible, with plenty of office hours and a genuine enthusiasm for helping students. Regularly attending office hours and asking questions about assignments can definitely give you a g …Read more

4hrs / week Average difficulty High value Would take again