Lecture, four hours; laboratory, two hours; outside study, six hours. Enforced requisites: courses 33, 35L. Basic concepts in design and use of programming languages, including abstraction, modularity, control mechanisms, types, declarations, syntax, and semantics. Study of several different language paradigms, including functional, object-oriented, and logic programming. Letter grading.

Review Summary

Clarity
10.0 / 10
Organization
10.0 / 10
Time
0-5 hrs/week
Overall
10.0 / 10

Reviews

    Quarter Taken: Fall 2023 In-Person
    Grade: B+

    Nachenberg's lectures are incredibly engaging!

    Quarter Taken: Fall 2023 In-Person
    Grade: A

    Everybody loves Carey, and for very, very good reason.
    - He's an amazing lecturer who genuinely cares about his students. He offers prizes to incentivize participation, and he has really iconic and funny slides that go over the material super well.
    - You learn a lot in this class, including the intricacies of Python, Prolog, and Haskell, as well as the way programming languages work, like variable passing, lambda functions, garbage collection, and more. Although Eggert's version probably has a greater depth (since Eggert goes over Ocaml), Carey makes the material super understandable and interesting.
    - His tests are extremely fair. Not too easy, but not too difficult either. You get adequate time to answer all questions, which are all FRQs. Some ask you to explain things, while others ask you to write code.
    - The projects are super fun. You get to build an interpreter for a made-up language throughout the quarter. You get about two weeks for each project. Each project builds off the other, but don't worry if your implementation is bad, as they provide starters for each segment of the project. Projects are also autograded, so you can resubmit as many times as you want.
    - Homeworks are graded on completion. In addition, they have optional questions, so you don't have to do every single question. They're good exam prep.
    - You don't get egged in CS 131.

Course

Instructor
Carey Nachenberg
Previously taught
23F 23S 22F

Grading Information

  • No group projects

  • Attendance not required

  • 1 midterm

  • Finals week final

  • 27% recommend the textbook

Previous Grades

Grade distributions not available.