Views from Stavros Hilaris and colleagues on technology trends, companies, products and services, software tools and coding and the multitude of aspects which comprise "Technology"
(Warning: I may post an occasional photo as well ~ )

Pages

Search This Blog

Sunday, November 25, 2012

Python and Coursera

What do these things have in common? I’ll start with Python which is an
interpreted, interactive, object-oriented programming language. Python is great for both shell and web
scripting and is making it's way into every facet of computing from Google to
video games. A very popular application
development platform called Django, is based on the Python programming language.

Coursera.org is an incredible company
which offers free on-line university courses to millions of students
around the world. Is this the future of education?

Coursera.org is part of a new movement
referred to as MOOC’s (Massively Open Online Courses). They have the potential of reaching and teaching
hundreds of thousands of students per course.
Others in this space include edX and Udacity. The courses are not offered for university
credit but in most cases, by successfully passing the course you’re given a
certificate from the university.

Back to Python… So when I first heard about coursera and
started perusing their course offerings, I was blown away at the variety and
quantity of courses from major universities around the US (and Canada). I wanted to take everything ! Courses range from Science, Psychology,
Computing, Technology, History, Health, Music, etc, etc. from top universities. I settled on a course called “Learn to
Program: The Fundamentals”, from the University of Toronto, which teaches Python. The lectures are well produced streaming
video (which can also be downloaded), with weekly homework assignments, programming
assignments, quizzes and a final exam to complete the course. It runs on a weekly basis (this course was 7
weeks) so the student is forced to keep up.
An interesting aspect is a discussion board where students from around
the world can pose questions, comments, etc.
The end of course statistics showed 38,000 students took the first quiz
and over 8000 passed the final exam and course.

In this case they used an automatic
grader to help with the programming assignments. They covered the essentials of Python
including elementary data types (numeric types, strings, lists, dictionaries
and files), control flow, functions, objects, methods, fields and mutability. The three programming assignments included a
time zone converter (UTC and local time), a DNA sequencing program and a board
word game.

So of course a second Python course was
offered shortly after the first began called an “Introduction to Interactive
Programming in Python”, by Rice University.
This course is focusing on event-driven programming for games, etc. and
in fact the weekly programming assignments include building a Pong game, Memory
game, Blackjack game, Spaceship game and more. This course does not have an autograder and
relies on peer review to grade the programming assignments (each student has to
grade 5 other students submission to have theirs graded)…

And of course a third “Python” course
started shortly after that which focuses on the applications used by hedge
funds and is called “Computational Investing, Part 1” by a professor at Georgia
Tech. I most definitely do not recommend
taking 3 courses simultaneously. It’s
too much for weekend work. I had to fall
behind in the second course to start the third and now that the first is over I
can catch up with the second. One or two
courses is a sane way to go. So the
third course is again very different and it utilizes Python and Python modules
for quantitative analysis software applications. I found I needed to dust off
the old Unix command skills because configuring the environment to work with
all the Python modules took some effort.
The software will be used to analyze historical performance of
portfolios and equities and build a market simulator.

So I’m not quite sure how MOOC’s will affect higher
education, but it is obvious that it will in some way. In the meantime, it is a fascinating
phenomenon with appealing content. See
this article for more information :