Top Course Tags
A Few Big Assignments
Great Intro to the Subject
Many Small Assignments
Not too easy. Not too difficult.
It is a good, foundational introduction to the world of programming. It teaches a linear approach, albeit one based in Python rather than Java or C++ (putting off the difficulty of learning the extra syntax until later). All the essential points are hit on: loops and conditionals; boolean logic; the difference between integers and floating point numbers; data arrays like lists, tuples, and dictionaries; etc. If you do well and pick on the concepts easily, it will set you up well for follow-on courses.
The primary purpose of this course is to teach you the absolute fundamentals of programming, which it does well enough: loops and conditionals; boolean logic; the difference between integers and floating point numbers; data arrays like lists, tuples, and dictionaries; etc. It does this using the simplest, most linear styles of code organization, although my instructor did prod us into more non-linear forms in preparation for later courses. If you get the concepts of the course, it will serve well as a foundation; however, there is more to it. Because it uses Python, it offsets the difficulty of learning the syntax of a language like C++ or (this college's choice) Java, which are more common in the industry, until later when you're also learning the new, non-linear concepts of object-oriented programming. While I question this approach's efficiency, it does literally work. You will walk away with tangible, real results of your own from coding a computing, and knowledge set will help you in the future.
Hours per week:
Advice for students:
Stretch beyond what the course offers you. Oftentimes, like with many classes, the instructor may try to explain something to you and fail; unlike with many other classes, you can then start experimenting for yourself with code and see what works and what doesn't. That hands-on experience itself can be a huge asset to the long-term learning process, and things tend to stick much more when you learn them yourself. Plus, if you run into more academic problems, like what kind of approach you should use or what is the correct syntax for this or that, these programming languages have lots of online resources, both official and unofficial, that can provide alternate explanations. The best students always seem to be the ones that do this: expand and experiment and play with code outside of class and homework.