hello people ... i needed some help regardin google summer of code. This was my original idea , here's the abstract (More of a brain dump):
Sugar, is education ! Hence one of its most important objective would necessarily be to teach programming to children (Which was also told by one of the Sugar Lab's Developer in my IRC chat). “Pippy” is one such software in Sugar, which teaches programming in python. A close inspection of this particular software would reveal several missing features (Which when incorporated would make Pippy “Complete” ). Though this program does a very good job of teaching the programming basics (along with variety of examples), yet there is no way that a group of students would be able to interact and compete against one another. Hence the primary objective of this project is to incorporate an “Online Judge” feature in a “Group Chat” environment and take Pippy to the next level. An Online judge is basically a server which compiles the source code, runs its against a set of predefined test cases and then checks for correctness and accuracy of the output (or your source code indirectly). The correctness is checked against a set of predefined outputs, for the same problem statement. This feature will be added along a group chat environment, in which students and teachers can interact simultaneously while a programming session goes on. This would be implemented in a decentralized environment and the Online judge engine would reside in the teacher's system. A white board will also be added to this environment, so that students and teachers can draw diagrams (whose need often arises in any programming session). At first this might seem just like any other virtual classroom, but this project has got far more than what a regular virtual classroom can offer. First of all there is no virtual classroom which gives such an competitive edge to its users. As sugar is mainly intended for children less than 16 years of age. Teaching them programming, even with “cool” examples in Pippy can easily bore them. Small programming challenges with loads of interesting awards can be held regularly. This would not only increase their interaction with the peers but also get them hooked to programming ( For the sake of the prizes of course ! They are children after all !). Not only this, but everyday practice/teaching session can be held, in which teachers would ask them to complete a module in Pippy and then test their code through the Online judge. You might wonder why? (Because Pippy itself has a python interpreter). Well the answer and yet another reason why this project is more that what it seems is because, every submission from the students would be logged by the teacher's system and added to the teacher's database. Evaluation and performance reports can be easily generated likewise. This project is not intended to test the programming ability limit of the school kids, but to actually assist them in stepping in to the programming world. Every concept of programming can be tested. A perfect instance would be a test of “Looping structure in python”. A simple problem can be given to the students in which they are asked to print “Hello world” 100 times. A student familiar with loop concept would use a simple loop and print. Others would actually write a print statement in their code 100 times !! The online judge would easily detect it by looking into the source code size. Obviously repetitive print statements would exceed the source limit (Which can be checked precisely). Such possibilities are endless. ________________________________________________________________________________ But i guess i'll have to add the Online judge to the XS server module. Or how do i go about it ? help plz... I primarily thought of using : Python language to code (Pippy is in python :D), Mysql database, Glade interface designer etc. Sugar's “Chat” program engine will be used for private and group chat.
_______________________________________________ Server-devel mailing list [email protected] http://lists.laptop.org/listinfo/server-devel
