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
Great professor! Great class with the inverted class format.
For the tests, be sure you know how to do the assignments since I received a FRQ based on the project we had
It's always great to have an asynchronous class with recorded lecture, of which the length is much shorter than a regular lecture. Such a way help me saved a lot of time.
Pretty easy if you've have any cs background
Class was a bit difficult for someone with no coding experience but bearable
Smallberg's lectures were thorough and useful, if a bit dull. The exams (2 midterms and final) are difficult but not exceedingly so. Most exams consist of analyzing code for mistakes or to understand how to works. The code in exams seem to be purposely written confusingly, so make sure you are careful when reading through it, and just do a ton of practice problems tracing through code.
Projects are the meat of the class. I thought Project 3 and 5 were the toughest, and I personally spent up to 20 hrs in a week working on those projects. However, all the proejcts are definitely doable, you just need to make sure that you start early.
I personally found the textbook pretty useful. Usually I listened to lecture first, then go through the textbook to review and go through their exercises/problems to understand the concepts before working on a project.
Smallberg uses a flipped classroom format for this class, where lectures are pre-recorded and lecture times are essentially office hours. Overall, if you watch all the lectures and do the textbook things thoroughly, and go to Smallberg's office hours and ask questions, you can do well in the class, even with little to no programming experience. There is a learning curve for sure, but once you get the hang of debugging and how to use all the C++ software, the projects are very doable.
All lectures were recorded and posted online and the actual class time was treated as office hours. Projects were all very doable (except project 3 was the most difficult and time consuming). Exams were also fair
As someone with no CS background taking it in Fall, the class was rigorous but extremely effective. Smallberg really prepares you well for CS32 such that the jump in difficulty is not too big.
<3 David. Good beginner class. Project 3 was not fun. Thank you.
Course
Grading Information
-
No group projects
-
Attendance not required
-
2 midterms
-
Finals week final
-
47% recommend the textbook