KDEEdu

From Sugar Labs

Jump to: navigation, search

Please apply also in melange, google's web app; if you do not apply there before April 3, we will not be able to accept your application. Also, use the "discussion" link above to see our questions/suggestions for you. (If you want to get email when we change that, you can use "prefs" and "watch" above).

Contents

About you

Yazen Ghannam

yghannam7388@gmail.com

yghannam7388

yghannam7388

English

Orlando, Florida, USA. GMT -4

I can work in the mornings or evenings, from 7am to 2pm or from 5pm to 11pm.

I am a new member of the Ubuntu Bugsquad. https://launchpad.net/~yghannam7388

About your project

KDE Education Project for Sugar

There are a number of educational applications available on the K Desktop Environment. Sugar, having education in mind, would like to use these applications. The only problem is that these applications are written for KDE using the Qt toolkit, while Sugar uses the GTK+ toolkit. Therefore for Sugar to have access to these applications they must be made compatible with the GTK+ toolkit.

Trolltech, the developer of the Qt Toolkit, has included QGtkStyle in Qt 4.5. The QGtkStyle class provides a widget style rendered by GTK+ (http://doc.trolltech.com/4.5/qgtkstyle.html). QGtkStyle will allow programs written in Qt to integrate better into desktop environments that use GTK+. Using QGtkStyle as an alternative to recoding an entire program from Qt to GTK+ will dramatically speed up the process of bringing KDEEdu applications to Sugar.

The only drawback to using QGtkStyle is that the Qt libraries will still be needed to run KDEEdu applications on Sugar. This may pose a problem for hardware with less resources such as the OLPC XO-1. After porting a KDEEdu application to Sugar and finding it stable, I will try to reduce the number of Qt libraries by removing ones that are not needed by the application.

One experience that was lacking in my early education was the use of computers to solve math problems. You could always use a word processor to type a report or the internet to find a map for geography but you always needed to solve math problems out my hand. Therefore, I would like to "sugarize" a mathematics application from KDEEdu, probably KAlgebra since it is general purpose and has graphing capabilites. I believe this will help all students, but especially those who may find it hard to visualize math concepts.

May 23 Start Work; Add QGtkSyle to KDEEdu application.

May 30 Begin to "Sugarize" the application. This entails making the application compatible with Sugar and its features.

June 6 Continue "Sugarizing"/debugging

June 13 Continue "Sugarizing"/debugging

June 20 Finish "Sugarizing"/debugging

June 27 Package Application and dependencies/test on various platforms

July 6-13 Midterm Evaluation

July 13 Begin reducing Qt library/debugging

July 20 Finish reducing Qt library/debugging

July 27 Package Application and dependencies/test on various platforms

August 3 Organize and proofread documentation

August 10 End Work


This summer I will change my major from Electrical Engineering to Computer Engineering. The change is happening due to my increased interest in programming and open source software. My interest in software started when I took an introductory course on C programming. In this course I successfully developed programs to act as automatic teller machines, inventory databases, etc. I came to realize how useful programming knowledge is in our time. Later in my school career I took a course on Computer Organization. This course was based more on hardware but we used programming to understand some of the concepts. Our project for this course was to develop a program to act as a MIPS processor emulator; this emulator needed to successful process different instructions based on the MIPS datapath given to us. This would be my first experience with a large and complex program.

Eventually, I realized that most of my programming knowledge is based on developing engineering/scientific command line applications. So earlier this year I set a goal for myself to learn to use graphical toolkits. In order to learn the two major toolkits, Qt and GTK+, I decided to help port applications between the two toolkits. This was to become my summer project, until I heard about Google Summer of Code and the KDEEdu idea from Sugar Labs.

I have already decided to dedicate myself to learning the skills needed for this idea over the summer. Nonetheless, I feel that working in a structured way with professionals would be extremely beneficial to me and the open source community. My dedication to learning these skills and help from my mentor and the community will make success for this project a reality.

You and the community

With the completion of this project, Sugar Labs will have a documented procedure to port and deploy applications that are part of the KDE Education Project. This will include about twenty applications, and others that are built using Qt but are not part of KDEEdu. This will save Sugar activity developers from having to write applications that may already exist but are not built for Sugar or don't use GTK+.

From homunq: KDEEdu is one of the most important set of open source educational programs. Having a demonstrated way to get those working in Sugar would help fill a number of important holes in our activity line-up, and would also help with making impressive demos.

I live in large metropolitan area with a school district that is making large budget cuts. The best way to deploy Sugar in the area would be to contact Orange County Schools, the local school district, and offer to setup Sugar on computers within one of the local schools. Hopefully, in the end, the local district will see benefit in switching all of its student-used computers to Sugar or another open source system. I could contact a local school if Sugar Labs is willing to deploy in my area.

I will look for answers with other developers. This project is a crossroads of many greater projects (Sugar, KDE, Qt, GTK+) and so I will attempt to get answers any way I can. That includes the fundamental Google search, followed by contacting developers on IRC and mailing lists. This task of inter-compatibility between graphical toolkits is so important to open source development that there will be some great advice available.

I will be active on the IRC channels and mailing lists. If possible, I'll create a blog page and link it to one of the mailing lists or RSS feeds. This way I can post on my progress everyday (or more) and everyone will be able to follow.

Miscellaneous

Yazen'sDevSkillz.png

Large

I have always enjoyed hand-ons learning. One experience that I enjoyed was making ice cream in school. The process was very simple: take the ingredients (milk, sugar, flavoring, salt) and put it all in a plastic bag. Next place the bag in a coffee can filled with ice. Now roll the can on the table (or wherever) for a while, maybe half an hour to an hour. Eventually, the ingredients in the bag will solidify and you will have ice cream. I think this was the first time that I was able to see and participate in the process of making something I enjoyed in my daily life.

I think the project is important for many of the reasons I've mentioned. But as for me, I have been known to work on the computer for up to ten hours straight without fatigue. That's not to say that I don't get frustrated when my programs don't work as expected, but I get in the zone and I really enjoy it. My programming projects (C, Matlab, etc.) have always been my favorite assignments and always keep me distracted from my other work. But then again, that's why I'm changing majors. ;)

Personal tools
Namespaces
Variants
Actions
Sugar
Projects
Teams
Local Labs
Using the Wiki
Google translations