EssayPal.ai - This AI writes in your style of writing!

CS 2500

Fundamentals of Computer Science 1

Filter Reviews

Overall0
Easiness0
Interest0
Usefulness0
Reviews 2
2

Class Ratings

5Amazing Class
3Avg. Difficulty
5Very Interesting
5Very Useful

Professor Rating

5Amazing Prof

Prof: Olin Shivers / Spring 2022

Apr 13, 2022

Comments on the course

Fundies is my happy place. Coming in with almost no coding experience (just a little C++ from Cornerstone of Eng, and a fair bit of poking around in Scratch and Excel over the years), this class bridged the gap for me between seeing coding as some esoteric thing that just didn't make sense and seeing it as something I can and do understand. Lots of people shit on Racket, but in my experience it's really not that bad. The functional programming means you have to think about the problems very differently from, in my case, C++ and Scratch. It feels like good mental exercise.

Course Content

"The structure of the code follows the structure of the data." The course essentially teaches you how to build code with structured data. You start off with very basic data types and learn how to build up structures of data (structs, lists, trees, etc.) from there. You learn how to write code using recursion and other concepts to process these structures and achieve some desired output.

Comments on the professor

Olin is great. He's always sharing interesting stories and giving advice. He's met many important figures in the CS world and has considerable experience. He makes class engaging and interactive by constantly asking the class for input and taking questions.

Advice

Pay a lot of attention and practice heavily during the first few weeks. It's absolutely essential to get an understanding of basic Racket syntax and structure ingrained in your head early on so you can focus on the concepts for the rest of the course.

Delivery: In personGrade: Not sure yetWorkload: ModerateTextbook Use: Optional
Exam HeavyAssignment Heavy
0

Class Ratings

2Bad Class
2Hard
1Very Boring
3Kinda Useful

Prof: Ben Lerner / Fall 2020

Aug 22, 2021

Comments on the course

Very tough class. The use of Racket as a language is justified by the professors for two reasons: It "helps" instill design fundamentals, and it prevents people from gaining an unfair advantage if they already know the language, since Racket is the opposite of not a commonly learned language. The problem is that Racket is needlessly difficult as a language to use in a general fundamentals course as it was designed for making other languages. This makes it so that many times, you may have the right idea of what to do to code a problem, but the actual coding part takes up 75% of your time and a million tries. This would not happen in a popular language such as Java because there's so much help out there on the internet you can Google. "BuT gOogLe iS CHeaTinG" no it's not as long as you hav...read more

Advice

Be prepared to dedicate your evenings and weekends to this class ESPECIALLY if you have a bad HW partner. Switching partners will likely not help either since the only other people switching partners also have bad partners and you will likely end up with another bad partner. If you expect to be able to go out and party on Fridays and Saturdays, think again because you will either not do well in this class or spend so much of your remaining time on it that you do poorly in other classes. For the second half of the semester, I simply chose to drop my focus on this class in order to lift up my other classes. I was taking 5 classes so definitely do not do that, 4 is the absolute max number of classes you should take in a semester with this.

Suggest a professor

Ben Lerner is not a good professor. He teaches the accelerated sections as well as the normal sections and therefore he tends to go very fast in lecture and treats his normal sections as if they were accel. He is also very snarky and rude to students who have questions that he doesn't view as "good" questions, perhaps they aren't deep enough or he already explained it while rambling through lectures at lightspeed, but either way many students are scared into not asking questions. He is also extremely egotistical and will insult you and hate you forever if you point out a mistake he does wrong or ask about doing anything in a way that you discovered that is different from his way. Lerner is definitely one of the bottom 3 professors I've ever had.

Grade: BWorkload: 15hrs/weekTextbook Use: Optional

Leave a Review

Overall Rating

Easiness

Interest

Usefulness

Professor Rating

Comment on the course*

Course content

Comment on the professor

Advice