Introduction to Computer Science I
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
Lectures were organized and easy to follow along, but can be a bit dull at times
Excellent professor. Start early on the projects but otherwise an easy class.
Smallberg is fantastic!
Overall, CS 31 is a great introductory course that anyone with even a little programming background can start with. Smallberg’s lectures are filled with important information and he does a great job going over all the crucial details for understanding C++. Make sure to pay attention in this class, because it will help for developing general CS understanding in future courses.
Flipped classroom made it flexible to keep up with the class at your own pace, projects were mostly balanced
Professor Smallberg is an excellent lecturer and did a fantastic job running this course online. This quarter, he used a sort of "flipped classroom" approach. Before each lecture session, we listened to a lecture video I believe he recorded last spring on a particular CS 31 topic. During the actual lecture, Professor Smallberg took questions from students regarding the lecture video, helping to clarify any misconceptions and providing additional insights on the lecture material. I really prefer this method, as it's much easier to come up with questions this way. Grading scheme this quarter: 66 % projects (7 in total) 7% zyBook homework assignments 2% short "responsibility assignments" 5 % midterm 1 8 % midterm 2 12 % final The projects were a bit time consuming (especially Projects 3 and 5), but were not too difficult. Smallberg's project specs are extremely clear and left me with no lingering questions. I actually spent a lot more time testing my programs and coming up with test cases than the actual coding. Make sure to spend quality time testing your program, especially with the random edge cases (ex: negative or zero array size). This quarter's project averages were extremely high (many of them had a median score of above 95). The exams this quarter were all open-compiler and consisted mainly of writing code. The midterms were very easy, and the final was a bit harder but not overly difficult. Professor Smallberg takes some time to grade exams (I still haven't received my midterm 2 and final scores yet). Hopefully they will come out soon. Note that the grade I entered for this review is the grade I predict I will get, as final grades haven't come out yet. Overall, Smallberg's teaching is super clear and thorough and he makes this class very well organized. Definitely would recommend.
Smallberg is cool. After this class, I knew the basics of programming. So, the class was successful. Token pls.
Smallberg has been teaching CS 31 for over a decade and is an absolute legend. The class is extremely well organized. Smallberg goes into great detail to make sure everyone understands everything he teaches. If you have previous CS experience, you might find this slow but I've also heard it's very helpful. Homeworks and tests are very fair if you've been paying attention in lecture. Make sure your cheat sheet has code examples on it, because you have to write C++ on paper. Overall, would definitely recommend if you're interested in computer science!
Very good intro class to CS. Teaches you the basics and certainly one of the easier CS classes to get you familiar with the foundational knowledge you will need for latter classes
Start your projects early and go to UPE or TA tutoring for help.
Showing 1 to 10 of 58 reviews
Course
Grading Information
-
No group projects
-
Attendance not required
-
2 midterms
-
Finals week final
-
47% recommend the textbook