Monday, March 15, 2010

IEP: Learning Python to Solve Ed Tech Problems

Problem: Text-Based Transcripts

The transcripts we currently use at my high school are text documents. The documents are visually cluttered, and difficult for anyone who is not an administrator to examine and interpret accurately. Since our school is too small to have a guidance counselor, the job of helping students read their transcripts falls to teachers. This is not a trivial job, either. If a student's transcript is not read properly, they can end up missing required credits and potentially not graduate on time. Poring over transcripts consumes a significant amount of time for students and staff, and takes up a considerable amount of time during conferences as well. The problem is exacerbated at our school by the fact that we have a highly transient student population, which means we look at transcripts for new students throughout the year, not just once or twice a year.

For example, look at the following (anonymized) transcript section and try to determine if the student has fulfilled their Social Studies requirements (1 credit US History, 1 credit Government, 0.5 credits Global Issues and 0.5 credits Alaska Studies):


Partial Solution: Student-Created Visual Transcripts

Our staff came up with a slight improvement over the text-based transcripts this year. Students are given their text transcript and an empty transcript grid. They go through each course on their text transcript, and place it into a box according to the subject area and how much credit they earned. When they are finished, they can see how close they are to graduating, and which courses they have to take in order to make appropriate progress towards graduating.

This is an improvement, but it still leaves a lot to be desired. If students make a mistake in transferring their courses to the visual document, they still run the risk of missing a required class. The end result is that teachers spend just as much time showing students how to transfer their transcripts to the grid, and verifying the accuracy of the student-generated transcript grids. A portion of the grid is shown below:

Proposed Solution: Transcript Illustrator, a Python program

Transcript Illustrator is a program that takes the grunt work and potential for errors out of the visual transcripts. The program reads in a text file of student transcripts, and produces a complete set of visual transcripts. Students, staff, and parents are free to focus on planning their course of study rather than trying to figure out whether they have interpreted their transcript correctly.


Steps: Learn Python, Create Program, and Evaluate

Learn Python
I began this step over winter break. I read through most of Learning Python by Mark Lutz, and read the GUI-focused parts of Programming Python as well. I have also found several effective online resources including the core python documentation, a site called effbot.org, and a dedicated python forum.

Create Program
I have been working on the program since early February, and I have made significant progress. The program currently reads in the transcript text file and stores the data. A simple interface displays the current student and allows simple navigation to any other student.

No piece of software is ever "finished". To be useful for staff and students, the program must be accurate and must be able to print. The steps I aim to finish during this project are to complete the processing of the transcript, verify it processes all transcripts accurately, and implement printing functionality.

Classroom Application and Evaluation
For the classroom application part of this project I would like to give students and staff two sets of documents, the traditional text transcript and the visual transcript. I will gather feedback to gain some understanding of how meaningful the visual transcripts are. A possible question for students is, "Which transcript gives you a clearer understanding of where you are at in your high school career?" A possible question for staff is, "How might this affect your conversations with students and parents?"

Beyond
If the program is as useful as I believe it will be, I would like to release it under the GNU General Public License (GPL). I want to wait until there is enough functionality and quality control implemented to make it useful for other schools before releasing it. My reflection on this project will elaborate further on this.

No comments:

Post a Comment