Lecture, four hours; discussion, two hours; outside study, six hours. Introduction to computer science via theory, applications, and programming. Basic data types, operators and control structures. Input/output. Procedural and data abstraction. Introduction to object-oriented software development. Functions, recursion. Arrays, strings, pointers. Abstract data types, object-oriented programming. Examples and exercises from computer science theory and applications. Letter grading.

Review Summary

Clarity
8.3 / 10
Organization
8.3 / 10
Time
5-10 hrs/week
Overall
8.3 / 10

Reviews

    Quarter Taken: Fall 2022 In-Person
    Grade: A-

    Professor is professor Everything is outlined and the classes are recorded asynccrohonously so lecture times became office hours.

    Quarter Taken: Fall 2022 In-Person
    Grade: A

    Dr. Smallberg is a terrific lecturer! Just follow the spec on your projects.

    Quarter Taken: Fall 2022 In-Person
    Grade: N/A

    This is a pretty easy class if you have prior comp sci experience. Smallberg can be annoying sometimes but overall he is a good professor. During fall 22, the lectures were recorded and we had to watch them online (so you didn't have to attend lectures).

    Quarter Taken: Fall 2022 In-Person
    Grade: B

    Homework involved ZyBook exercises (online, payment required), and was generally not super time-intensive. Projects were manageable but involved varying amounts of time. I took this class during the Fall 2022 TA strike, so I didn't receive grades for the second midterm or last few projects before taking the final, so I didn't study as much as I should have because I didn't know how badly I was doing lol. Also, Smallberg taught "flipped classroom"-style, with all content taught through pre-recorded videos and lecture time only being used for Q&A.

    Quarter Taken: Fall 2022 In-Person
    Grade: B

    Don't get me wrong, I liked all the material we were learning in the class! However, I really didn't do well with the flipped-class format where all lectures were recorded online and in-person lecture days were for Q&As.

    Quarter Taken: Fall 2022 In-Person
    Grade: A

    Class is effectively asynchronous with online lectures but you can go in during class time to ask Smallberg questions (no lecturing happening during the time).

    Easy if you already know coding but will definitely be a bit of learning if you don't, but the lectures are fairly good.

    Quarter Taken: Fall 2022 In-Person
    Grade: A

    Lectures were Q/A with lectures recorded. Teaches good fundamentals of C++ for future CS courses. Make sure you're able to trace code (especially with weird, obscure C++ behavior involved).

    Quarter Taken: Fall 2022 In-Person
    Grade: A

    A lot of people like him for his teaching, but I wasn't a fan of the flipped classroom style. You're expected to watch all recorded lectures in your free time, and class time is to ask questions. Final was also unreasonably hard. You have to buy a $90 online subscription to do some problems only worth 7% of your grade. Wouldn't recommend if you can't pay attention to recorded lectures.

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

    Should be opt-out—too much work. The tests are too pedantic to be testing on anything useful.

    Quarter Taken: Fall 2022 In-Person
    Grade: A

    Smallberg is clear in the lectures and answers questions easily and helpfully.

Course

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

Grading Information

  • No group projects

  • Attendance not required

  • 2 midterms

  • Finals week final

  • 47% recommend the textbook