I recently completed a course offered by the O’Reilly School of Technology (OST), specifically, Python 2: Getting More Out of Python. Overall, it was a decent experience and, if the right course was available at the right time, I would consider it again.
The primary reason I decided to try one of their courses because as my time as a professor continues the amount of online activity that is part of each course increases. I’m still of the opinion that online courses, especially asynchronous ones, will never fully replace the classroom experience. I’m pretty sure I will find myself fully online with some classes at some point. Given that, it only makes sense that I explore the option and experience it from a student perspective.
I can’t recall exactly how I happened upon the OST’s website. I do know that I mulled the idea of taking a class for a while. On one visit they were offering the course at a significant discount so I decided to take advantage of the price reduction. The fact that I have been tinkering with Python some recently made the opportunity even more timely.
OST is partnered with University of Illinois Office of Continuing Education. The arrangement seems to be that OST is able provide a trusted front end with the stable and experienced platform offered by the U of I. The O’Reilly site offers the more complete story. The benefit to the academic underpinnings of the U of I is that a student receives continuing education credit. Certificates are also possible if you complete a specific sequence of courses. A letter of completion is available (you have to formally request it) indicating you completed some number of continuing education units (CEU). For Python 2 is was 4 CEUs.
Registering for a course requires you also obtain a lab account. This is a fee in addition to the course cost. Your account remains active as long as you continue to pay for it. After you have completed a course and your lab fee has run its course you can opt to keep it open (i.e., keep paying), freeze your lab account to be used at a later time (this retains all of your files), or cancel it completely.
The lab environment gives you access to a desktop in their cloud via a remote desktop connection. For Python, an instance of a tailored Eclipse distribution runs immediately. All of your work is performed in the Eclipse shell. When you log into your space, your desktop is otherwise empty. There are a handful of things you can do that will cause a few icons to appear on the desktop but there isn’t much you can do with them. The Eclipse shell is what gives you access to your lessons, labs, and quizzes. Aside from the fact that I prefer to learn technologies in a dual monitor environment, it’s not a bad set up. Where I could I did the homework on my local machine and copy/pasted into the OST setup. I found that more efficient. There were some assignments and exercises involving MySQL that I couldn’t do. I could have set up MySQL locally or ported the examples to use SQLite. Also, some of the lesson exercises required files accessible from the environment which I didn’t feel like trying to duplicate.
It’s worth mentioning that I am proficient with Eclipse and felt comfortable with their specialized version. The lessons contain all the steps you need to perform your various tasks. They usually were explicit the first time they were mentioned and assumed at later points. It would have been useful to have provided a link between the references and the explicit instructions. There were a few things specific to their set up I had to do and had to hunt down the more complete instruction set.
The flow of the course consisted of reading a lesson and following the examples that were developed. Each lesson included two quizzes and one lab. The quizzes were three or four questions each and very straight-forward. The labs were standard homework problems. They were basic but, in some cases, involved. I tend to be very diligent and embrace literate programming which resulted in more time invested than was necessarily required.
The grading scheme was a little campy. I can’t comment on the entire system but all I received were green smiley faces and the comment “Excellent!” I thought about throwing an assignment just to see what would happen but I couldn’t bring myself to do it. In the end, though, the letter I received from U of I reported the grade as ‘A’.
I had minimal interaction with the instructor but when I contacted her she was reasonably quick to reply, roughly a day for email. Similarly, the grading was done in a timely fashion. She and one of the support personnel did help me troubleshoot a problem I was having with my home configuration of Eclipse and Python.
It would be hard to comment completely on the content. I haven’t had other courses so I would be extrapolating a little too far. The syllabus is available for each course so you can preview the topics. The Python 2 course had a reasonable content. I thought a couple assignments were mostly busy work but most were decent. To be fair, though, I have a lot of experience with a number of languages so take that opinion with a grain of salt.