Lessons From Teaching Python Online
Written by Sue Gee   
Tuesday, 02 October 2012

What does it take to design a successful online programming course? Some insights are provided by the team behind CS Circles, which offers a Python course for beginners.

The current explosion in the availability of online Computer Science content is gratifying to anyone who feels that programming is as important a skill as reading and writing. The success in teaching programming depends,however, not only on content but also on providing a framework that motivates and monitors progress. In a recent archiv paper David Pritchard and Troy Vasiga discuss the philosophy and design of Computer Science Circles, a free, web-based, introductory programming course.

 

 

The course teaches Python to complete beginners and consists of around 30 lessons that are highly interactive and ensure the learner starts to code from the outset with explanation and exercises combined in responsive framework.

Explaining their approach, Pritchard and Vasiga state:

We eschew the traditional separation into lesson/lecture content" and problem sets." Our position is that such a framework puts the student at risk of losing interest during the lesson, and also splits their attention between review, reading exercises, and writing solutions when they fi nally start working hands-on. We think it is pedagogically superior for the exercises to be embedded in the lessons themselves: this reduces monotony and keeps the student on a focused progression. Removing page reloads and handling the student/auto-grader communication with asynchronous JavaScript (a.k.a. ajax) helps keep this experience smooth.

The course begins with a Hello world exercise which serves to introduce students to the interface as well as to Python. It then ramps up through variables, function calls, comments, quotes, and the fundamentals needed in order to write or understand an elementary program, reaching recursion, object vs. value identity, and efficiency by the end. Along the way there are lessons that cover practical matters like errors, design, and debugging and several lessons have exercises based on material already presented to consolidate learning.

 

 

The auto-grader is a key component in this Python course which students can do at their own pace with or without the help of a "guru" - a teacher or knowledgeable friend who can monitor progress and be asked questions via the Help button, which can also be used to send the CS Circles team questions directly. The autograder stores a history of exercise submissions that can be accessed both by students and their gurus.

As the course progresses other tools are introduced. One is a simple console where code can be tried out would the grader. The other debugging tool is the open-source Python visualizer (the same one as used by the Online Python Tutor) which stores and replays the steps of a program's execution along with a visual representation of all the
variables/call stack. For later lessons an editor, provided by the CodeMirror project that highlights syntax, enumerates the lines of code, matches parentheses as the user types, and performs smart indentation is introduced.

The site was launched less than a year ago and so far has had over 4,000 registered users who have completed 90,000 exercises. It is estimated that the website handles 1000 visits and 7500 code submissions each day with around 50% of the traffic from users who are not logged in. The advantage of being logged in is that the site records your progress but there is no certificate for completing the entire course.

 

pythonlogo

 

CS Circles may not be a MOOC in the same league as the classes from Coursera, Udacity and EdX but its accessibility and interactivity make it an attractive option for students who want a fast and flexible way to learn Python.

 

Banner


Free Guide For Android Developers
18/11/2014

Google has produced an 80-page booklet to help and encourage developers to publish apps on Google Play. You can download it as pdf or from Google Play, or even request a printed copy sent by mail.



IntelliJ IDEA 14 Released
06/11/2014

JetBrains has released the yearly update of IntelliJ IDEA, its Java IDE for web, desktop and mobile development.


More News

Last Updated ( Tuesday, 02 October 2012 )
 
 

   
RSS feed of news items only
I Programmer News
Copyright © 2014 i-programmer.info. All Rights Reserved.
Joomla! is Free Software released under the GNU/GPL License.