Official office hours for CS 141 will be held Sundays, 4:00–8:00, in Millington 213. If you’d like to drop in at any other time, I’ll probably be there. You’re welcome to make an appointment to be sure—just shoot me an email.
Course Resources
The number and quality of really great, free online resources available to a computer science student is just obscene. Take advantage of them! Our textbook and lab manual are OK, I guess, but there’s a lot of other good stuff out there, too.
Yes, seriously. If you’re getting a funny error message, just googling it will usually point you in the right direction. When I’m totally flummoxed this is very often the first thing I’ll do.
If I taught this class, this would be the textbook. It’s an absolutely excellent introduction to the field of computer science. And you even get to learn Python along the way.
Salman Khan is a friendly polymath who’s produced thousands of videos covering basically every topic imaginable, including programming in Python. Very nice lectures on strings, conditionals, loops, and other introductory material.
Zed Shaw’s online book Learn Python the Hard Way contains a bunch of very good code examples for accomplishing specific tasks. It’s actually kinda tedious to work through the whole thing, but it’s a handy reference.
This book is technically targeted at folks who have already done a little programming in another language but are new to Python. That being said, there’s a lot of good, in-depth material in here, especially in chapters 2–6.
Lately the fine folks at MIT have been making a lot of their course material publicly available through the very handy OpenCourseWare project, including these lectures from their introductory CS class.
The official docs are just packed with information. Maybe a little too packed. It’s very dense, and until you’re a little bit more experienced this might not be the first place you should check. If you ever need to know exactly how a particular function or module works, though, this is pretty much the ultimate authority.
OK, this one’s deceptive, ’cause there’s no way you’re going to learn intro-level Python by reading Reddit. However, it’s still worth checking out occasionally, since a lot of smart people post a bunch of good articles there, and they’ll expose you to way more interesting things than we could possibly cover in this course.
Cultural Resources
For good or ill, programming is one of those professions that tends to utterly consume a person’s life. If you think that just sounds terrific, check out some of these sites:
Kind of the safe-for-work Know Your Meme of the programming world, with entries dating back well into the ’80s. As an example of how deep the rabbit-hole goes, check out the entry for foo.