Lecture, four hours; discussion, two hours; outside study, six hours. Enforced requisite: course 31. Object-oriented software development. Abstract data type definition and use. Overloading, inheritance, polymorphism. Object-oriented view of data structures: stacks, queues, lists. Algorithm analysis. Trees, graphs, and associated algorithms. Searching and sorting. Case studies and exercises from computer science applications. Letter grading.

Review Summary

Clarity
8.3 / 10
Organization
8.3 / 10
Time
15-20 hrs/week
Overall
8.3 / 10

Reviews

    Quarter Taken: Winter 2023 In-Person
    Grade: B

    The midterms are great preparation for the final, and i would recommend nachenberg's slides as a supplement for this class

    Quarter Taken: Winter 2023 In-Person
    Grade: A

    This class has an extremely heavy workload starting around week 4, and steadily increases until the end of the quarter. That said, it is not terrible if you start the projects early and ask the TAs for help early. The TAs are very helpful, but you won't get much benefit from them if you try to ask them for help the day before the projects are due (they're just swamped at that point). The teaching is excellent though, Smallberg is extremely knowledgeable and a great lecturer.

    Quarter Taken: Winter 2023 In-Person
    Grade: A-

    Poorly organized class. Projects were too long—even the TAs couldn't grade them in time. There is no use to the projects if no grade will come back.

    Quarter Taken: Winter 2023 In-Person
    Grade: A

    Overall manageable class. Start projects early, especially Project 3 and Project 4, and you will find them fun instead of stressful. Reach out to peers or TAs if you need help

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

    Class was very heavy workload wise and content was difficult as well. Good luck!

    Quarter Taken: Spring 2023 In-Person
    Grade: A

    nachenberg's slides were more helpful than smallbergs lectures, make sure to do practice questions

    Quarter Taken: Spring 2023 In-Person
    Grade: A

    His lectures were good, very detailed and studying the explanations were enough to do well in the class.

    Quarter Taken: Spring 2023 In-Person
    Grade: A

    Smallberg's lectures are very organized and clear. The projects were kind of difficult, but was alright with help. Our Project 3 seemed to be easier than Winter Quarter's (not CS major loaded quarter). Midterms were difficult, and personally for me, final was even harder. If you can score consistently high on the projects and do pretty well on the midterms, you'll be set.

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

    Smallberg is a good teacher, the lectures are pre-recorded and I honestly didn't watch the full length of many of them. You definitely learn by doing in this class so make sure you are putting genuine work into the projects and you'll be fine.

Course

Instructor
David A. Smallberg
Previously taught
24S 24W 23S 23W 22S 22W 21S 21W 20S 20W 19S 19W 18S 18W 17S 17W 16S 16W 15S 15W 14S 14W 13S 13W 12S 12W 11S 11W 10S 10W 09S 09W 08S 08W 07S 07W 06W 05W 04W 03W 02W

Grading Information

  • No group projects

  • Attendance not required

  • 2 midterms

  • 10th week final

  • 11% recommend the textbook