Students undertaking the course of study engage in a group project at the end of each year, with a focus on project planning, architecture, coding and testing phases. Traditionally, the proposed projects were very focused on process and project management. Kévin Ottens, KDE developer and a PhD student at the University proposed the addition of Open Source projects to the proposal, and was instrumental in arranging the collaboration. The students were given a choice between the more traditional style java based projects usually offered by the University and a KDE project, and chose to work on a KDE project as part of their course of study. When asked what version of KDE they wished to work on, all chose KDE4 (trunk).

11 fourth year students have already started, with 4 or 5 more third year students to join each team mid project. The students are being mentored by KDE developers, Jonathan Riddell for Umbrello, and, Thomas Zander and Will Stephenson for KPlato. While the KPlato maintainer, Dag Andersen, is unable to find the time to mentor, he has been very supportive and the students report that they are pleased with his feedback.

The students currently involved are:

KPlato team

Gohar Avetisyan

Frédéric Becquier

Frédéric Lambert

Alexis Ménard

Nicolas Micas

Florian Piquemal

Umbrello team

Caroline Bourdeu d'Aguerre

Hassan Kouch

Florence Mattler

Thibault Normand

Pierre Pettera

When asked his opinion about the projects, Henri Massié the director of the institute stated that "This collaboration with the KDE community is a good thing for us. It is refreshing to see our students so motivated by these kind of projects. I wish it will be a success and hope that we will be able to reiterate this collaboration next year".

Kévin Ottens graciously consented to interview the students about the projects.

Kévin: Why did you choose to work on these projects?

Thibault: Avoid working on yet another Java based project!
Frédéric L.: I wanted to see something new than a Windows based workspace.
Florence: It's an original project domain wise.
Florian: Mainly curiosity, and that's a good opportunity to switch to Linux.
Alexis: We're sure that it'll be useful to people.
Pierre and Caroline: Free Software and being part of a community!!
Nicolas: Because it looks fun, and at the same time it will allow to improve my resume.
Florian and Frédéric B.: To improve our skills, and learn Qt.
Pierre: Because I'd like a kde.org mail address. :-)
Gohar: To improve my C++ skills.

Kévin: You already contacted people involved in your respective projects. Did you feel well accepted?

Caroline and Thibault: Yes! We're very happy!
Florence: We got a lot of feedback and proposals.
All: Warmly!!! We were welcomed warmly.

Kévin: How did you perceive the development environment setup?

Florence: Not enough documentation.
Frédéric L.: Well, the documentation is okay for the base, but I perceived a lack of documentation for the other modules like koffice.
Florian: Not exactly easy, but really interesting, I learnt a lot!
Thibault: It's a change, it looks less like simply applying what we learn
during lectures.

Kévin: And for the future? How do you feel what will happen in your projects next?

Alexis: I'm impatient to work more with the code itself!
Caroline: I don't feel confident yet.
Florence: Yes, that's quite a lot of code to learn.
Gohar: I feel confident, it doesn't look unfeasible.
Nicolas: Moreover we have tremendous community to find help!
Hassan: Only "KJoy"! :-)

The enthusiasm of the students is clear to see, and KDE can only benefit from the contribution of this talented team. KDE warmly welcomes the students of the Paul Sabatier University and thanks the University and Kévin Ottens for providing this opportunity. Special thanks also go to the mentors for their dedication to KDE.

Comments

I really like the idea of this university. Taking trained people to improve their skills and free software products at the same time. I'm pretty sure some of them will keep working later on the project in which they started.

We, students haven't got lots of free time (generally), but I think that we sometimes have that point of i-won't-move-from-here-till-finished (and no students too, for sure :P).

I haven't read any code of KOffice or something, but on KDE there is no lack of documentation at all, and Qt has a very complete documentation in general.

To sum up, keep up the good work guys, and I'm very happy with this kind of ideas... brilliant.

> I haven't read any code of KOffice or something, but on KDE
> there is no lack of documentation at all, and Qt has a very
> complete documentation in general.

Well I have experienced the lack of it. The kde-core libs are well documented, but the other libs are not.

Try implementing a KHTMLPart for instance, and updating the HTML page with DOM manipulation methods from C++. I couldn't figure it out with the documentation, and actually had to dive into Kopetes code to find an example of how it works. Turns out you could just assign a DOM node objects to a HTMLElement class. This is not documented at all, making it almost impossible to use a KHTMLPart in your app.

That's a problem for us developers developing under open source. We often do not document our software when it is needed and thus, the next developer that uses our works may have to miss out on some nifty but undocumented feature.

Fantastic news! btw, something like a year ago our university did the same with a 4-devel team working on the Kexi-codebase and it was a full success (so, learned a lot specialy about the advantages of eXtremProgramming, new code for Kexi and a very nice grades :) May the source be with you all!

btw, http://www.klear.org (KDE DVB TV app) was also at least partly developed within our university and from talking with friends who study at other universities, the KDE-framework is very much in use there too as fast, easy, powerful and portable rich client platform. Specialy the nice codebase, the community and the XP-way it's developed are ideal to extend the own knowledge-base.

Is there a marketing programme within the KDE marketing group to promote KDE-based projects to universities and colleges worldwide?

If there could be a central repository of information, benefits and tasks associated with having a KDE-project as part of either the curriculum during the computer programming courses, or as their final project, it would be great for both the code base and the generic know-how of KDE.

Current KDE-users could front the matter in their local alumnis and thus try to get one KDE project in every university/college?

Anyone? Where's the appropriate place to volunteer if such work is already underway? (most likely is :-))

A student I know was given the task of writing a spreadsheet application that had a special function "foo" (I can't remember what it was). I suggested instead that he implement foo on top of Kspread. He was enthusiastic when I showed him the beautiful code structure. I don't think anything came out of this one, but the sheer beauty of some of the code in KDE makes it almost as appealing to add to KDE as starting from scratch ;-). In addition, you get to solve some new problems rather than reinventing the wheel, and your code potentially gets out in the real world.

For these reasons, I think KDE should be a first choice for programming projects in universities everywhere.

It would be really great if this effort could bring Umbrello up to the level of Dia, so that serious users could finally switch over to Umbrello. Dia has some basic functionality concerning layout and scaling that Umbrello still misses, seehttp://bugs.kde.org/show_bug.cgi?id=94081

"Dia has solved the scaling problem and it works great. This is a necessary functionality, which means I will use Dia because of this regardless how many other features Umbrello has. Please look how Dia does it. I will explain it short:
1. The diagram can be expanded in any direction. In Umbrello it seems like it can only be expanded right and down.
2. The user selects the paper orientation and the number of pages horizontally and vertically. (Right click on the diagram, select File, Page setup..., Scaling, Fit to by .)
3. Dia scales the diagram to fit on the specified paper layout. The page boundaries are shown as coloured lines."

It is actually very easy to make a major impact on this and projects such as kivio. Simply start importing and exporting the MS format for the associated programs. Interestingly, if somebody took the time to determine the format, then the code could be used by multiple projects (kde and gnome).