Published: 07/06/2019

Hey there, so this is my first blog post ( combined for the last 3 weeks) on what I am actually working on, and what this project is all about. The aim of the project is to create a course using the Runestone framework as a base so as to teach Python in Spanish in a lucid and interactive manner; the content of the course is based on the famous course created by Fernando Masanori.

Since the 5 weeks, I have been working on this project. I have added and converted the examples present in the lecture files into interactive examples using ActiveCode , CodeLens and Datafile components of the Runestone framework. I then moved on to embedding the video lectures in the lecture files topic-wise, so as to add a nice supplement to the course work. After that, I embedded Disqus comment boxes in all the lecture files, so that students can interact with each other and ask doubts as well. The reason for adding interactive examples is to help students understand what actually is happening when a single line of code gets executed and understand the command flow in the code. This will help them a lot when writing their own programs, as they will then have a clear picture in their minds as to what each piece of code is supposed to do and how to use it to solve an issue.

I then worked on the assignments. I created test cases for the questions, and using components such as ActiveCode, MCQs and fill in the blanks of the Runestone framework, created a set of assignments to supplement the theory part of the course. These interactive assignments are designed to check whether a student has understood the basic concepts or not; they contain both basic and advanced level of questions to test all aspects of learning.

I faced quite a few problems while doing all of this, and some of them are still not cleared up. External libraries such as urllib and some advanced libraries such as tkinter and pygame cannot be used in the ActiveCode components to create interactive examples, due to which I have had to replace that particular block of code with static examples. Other than this, examples which required text files, were again not working as the course is yet not connected to Runestone's database. The ActiveCode component accepts data only from Datafile component when embedded in a file. This has been set aside as a separate issue to be worked on in the second phase.

Right now, I am working on translating the lectures by using Sphinx Internationalization and Google Translate. I am also trying to get the course up and running on the Runestone server with the help of one of their collaborators. And I am working on solving the issues discussed in the previous paragraph as well.