Please check the status of this specification in Launchpad before editing it. If it is Approved, contact the Assignee or another knowledgeable person before making changes.


This spec discuss the creation of "Coon" an application to help teachers manage their students grade information. In a few words, a Gradebook in Edubuntu/Linux for teachers.


When looking threw the default Ubuntu repos' I noticed there is no application for teachers to keep track of students grades. I then searched and found Opengrade a fairly well built Perl based grade book software. But Opengrade lacked progression, organization, gtk, and my favorite language (Python). This gave me the idea to create a software for teachers that can organize the assignments, tests, exams, and other works that would be given to students.

Use cases

  • Ms. Ahlfors wants to record the results of a recent test and sum then to the total grades given this year segment. Ms. Ahlfors opens Coon to enter the data.
  • Mr. Ahmed has recorded all the students grades and wants read the data and destroy the lowest grade from each student. Mr. Ahmed loads coon to review the data and to destroy the lowest grade from each student.
  • Katri wants to contact one of the students parents because of the great grade he just received on his test. She opens Coon to read the student's information.


  • Create Classes of Students- Among many obvious features, Coon will help the teacher keep track of the students personal data as well as the grades of each assignment that was given them. Flexibility is key in this feature as all teachers have many ways to give grades to their students. One common grade feature that I feel will be expected is removing the lowest grade that was received by each student in the class.

  • Manage types of work kept track of- Teachers may have homework that is graded the same as others. Grouping (tagging) the works gives the teacher the ability to quickly manage the works. One example of this is grouping certain work as a “Test” and others as “Quiz”. It also makes a great way to view the information of the student later.

  • Multi-views- Teachers will have the ability to view all the test results, ability to view all students currently class grade, and many other views. Even the ability to view all the results of a particular homework. Almost all of these views will actually be queries from the database.

  • Students can come at any time- Many times a teacher has to begin grading a student when they come from somewhere else and need to start from scratch ignoring previous scores. Additionally this feature come in handy if the student was extremely sick and couldn't attend class for a month for example.

  • Reminded backups- Backups are going to be asked to be made so that the teacher has decreased chance of losing ALL of their data.

  • Grading a work has many options- when grading a work the teacher can use percentage, part-of-total, and others. Teachers can even add a weight to the work so that it will count for more than others. For example tests can have a greater weight than homework.

  • Grading is scalable- In America they have A,B,C,D,F, but in Finland they have 1,2,3,4,5 and in other countries other scales. Coon will allow the teacher to use his or her own costum scaling system to meet the needs of the school they are at.

  • MySQL Database- After thought, I think it would be best to implement a database that can be accessed easily by other systems. That way Coon can even post to a server and that server can post the data to others. It is also easier to implement, as compared to creating my own file saving system.


A PyGTK frontend will interact with the main parts of the program. These "Main Parts" are the peices the work with the database in various ways. Examples could be quaries of students with grade information.


Existing Solutions: Opengrade Well made, but not what we want for a unified desktop for grading. (ie... GTK Python and interopability with other Edubuntu parts.) http://www.lightandmatter.com/ogr/ogr.html


Code will be entirely Python Programming. Created using the Python Plugin for Eclipse.

Data preservation and migration

Data will be stored in the CVS of Bazaar. Code will also be backed-up (Backuped?) on a main server run by Jason Brower and will always have a personal copy of the software on his Programming Laptop.

Unresolved issues

Coon has neither been accepted or rejected as a Google Summer of Code Project.



  • Is Raccoon better, I named it after the smartest more admorable pet I ever had. Sorry, I didn't know it had this meaning. I even looked up information, to avoid this kind of thing happening.
    • Raccoon would be better, but why not, oh, I don't know, "Ubuntu Gradebook", or something that's actually related to education? Smile :-) -- mpt

    • Totally understandable... I just like to stick to things that are different and that the mind can relate to... like animals. They call it pidgin (gaim) not Ubuntu Chat. I wanted the name to work across more than one platform.
    • I have to agree that Coon will not work for the U.S. audience. Raccoon is a nice idea but teachers use a grade book to save time and for the ease and clarity. I think a creative name that reflects some of these aspects might also be something to consider: Tink (a version of Think that also reminds us of Tinker Bell -- the speedy, magical little fairy from Peter Pan). And a compromise: Tink: The OpenSource Gradebook? Whatever the name, I would like to help in anyway that I can.-- CR


  • I'm also interested in helping out with this project, even if it's just testing. I do agree with Matthew on some sort of descriptive name though - I think pidgin (not pigeon) works because it is a means of communication, but I don't see racoons as having any connection to education/gradebooks. If it's going to be written in gtk, maybe go along with the "g" theme? Google tells me that gBook is already taken, but something along those lines?
  • E: well ok... Gah-rade hehe best I have... Big Grin :)

BoF agenda and discussion


GoogleSoC2007/teachers-gradebook (last edited 2008-08-06 16:32:03 by localhost)