Course Review: An Introduction to Interactive Programming in Python (Parts 1 and 2) - Rice University
Date Completed: October 19, 2015 (Part 1), December 30, 2015 (Part 2)
Grade Achieved: 91.8% (Part 2), 74.5% (Part 1)
Platform: Coursera (link to course)
Workload: ~5-8 hrs/week
Length: 9 weeks (total for both Part 1 and Part 2)
Professors: Joe Warren, Scott Rixner, John Greiner
Would I recommend it?: Yes
Prior experience: I had gone through Codecademy’s Python path a few months earlier, and dabbled a bit in some other simple things in the meantime, but I was still was very much new to Python and programming in general. I think this little bit of extra background allowed me to coast through Part 1 without much effort at all.
You can tell that the profs in this course are very passionate about it and they’ve put in a TON of work to make this MOOC work really well. This course uses a web-based programming site called CodeSkulptor which was created by the professors. This makes it super easy to just begin coding without having to set up your own environment which is great, and it has very easy to use documentation so you can always figure out what you need to do for an assignment. I wonder if it would have been more beneficial for me to slog through a more difficult set-up process in order to have something I could use in a “real-life” setting. I’m also a bit worried that a lot of the libraries and functions we called to within CodeSkulptor aren’t the same as what you would use running Python normally, but I think the general knowledge/skillset will transfer over easily.
The material in this course is released week by week and you have to adhere to a strict schedule for turning in and peer-reviewing assignments - if you just want to go through the material as quickly as possible (perhaps if you already have some experience with programming), you can dig up an archived version of the course, but I found the weekly schedule to be really effective/pleasant for this course.
Each week in this course, you code an interactive game project - obviously getting progressively more difficult as it goes along. They provide the graphics, etc, so you can just focus on the coding and the concepts that are important to think about when creating a program. This format worked really well, and definitely keeps you feeling accomplished and motivated each week. While I didn’t originally have a huge interest in programming games specifically, I now feel that I have a much more solid understanding of how Python (and coding in general) works which I think will serve me well in the future. I feel quite confident with for/while loops, if statements, classes, lists, and other concepts that had evaded me before this course. Bonus: I’m just beginning a Machine Learning course and I’m already finding that my Python knowledge from this course is helping me understand how to use Octave for that course.
I’m also thinking about creating a simple game in the future, now that I see how easy it is! (For example, a simple game like Flappy Bird was probably super easy to code but is really fun to play - I’m not trying to create the next viral game but it could be a fun project for a weekend!)
In conclusion, this is one of the best MOOCs I have taken so far. I would recommend it for anyone who wants to get an intro to programming.
You can see some of my projects for this course here.
Notes: It took me longer than 9 weeks to complete this set, as I took about a month off between parts 1 and part 2. My grade in part 1 is also quite low as I turned in some assignments late and/or skipped the peer review sections - actually, this is also the case in part 2, I think almost all of the points I lost were from forgetting to do a peer review. I know it’s important to do peer reviews in order to keep MOOCs sustainable, but on the other hand I do not feel that the number grades always reflect the level of learning due to these kinds of markdowns.