1. The GNOME Academy
Note: This document is a draft! |
Basic idea: It makes more fun to learn with others. It's easier to promote a fixed schedule. It helps GNOME and third-party projects to find new contributors.
1.1. Schedule for autumn 2006
The course will be dedicated to the Unix development with GNOME. I'd like to schedule half-year course on this autumn, the exact date is subject of dicssion but for example we can take the following as a draft:
Date |
<:> Topic |
September 17 |
Development tools |
September 30 |
Development languages |
October 15 |
Gnome Platform |
October 29 |
What is good and what is bad API |
November 12 |
Usability, HIG application |
November 26 |
Bug hunting |
December 10 |
Localization and documentation |
December 24 |
Project maintaince tasks |
1.2. Students
The following students wish to participate:
dudus (EduardoCereto)
jrib (JasonRibeiro)
nzjrs (JohnStowers)
Jaime Frutos Morales (JaimeFrutosMorales)
mmtb (MarcinBialon)
wil (WilberHinojosa)
Ben (BenjaminPerez)
I think we'd like to collect the following information from participants:
- Programming experience
- GNOME experience
- Wish list for the course
- Prefered time/communication form
1.3. Ideas for courses
1.3.0.1. Interface Design
The purpose is to study the GNOME HIG with real objects in mind. Each student should write a short case study about an application or sub-tasks an application needs to deal with.
1.3.0.2. Programming (Beginner sessions)
The purpose of the training session is to repeat tasks to learn them. These tasks are simple and should be suitable even for a beginner -- building main windows, dialogs, menues, etc.
1.3.0.3. Programming (Advanced sessions)
The purpose of the advanced session is to learn contributing to a project. These tasks are more complicated, and are supposed to be applied by the project. Potential topics:
- "From GTK1 to GTK2"
- Using GConf2
- Database abstraction
- Internet interaction
1.3.0.4. Deployment and Integration
- Getting started with GNU Automake
- Basic Desktop Integration
- Making Autopackages
1.4. Tutor Instructions
The GNOME Academy is based on the idea that students should train on real projects. This is supposed to reach two goals:
- Teaching and training students about the GNOME/Freedesktop development platform.
- Helping third-party apps to stay up-to-date and maybe find fresh contributors for their projects.
However, if you consider this to be too complicated or useless for your particular subject, do as you think it's best!
If you're able to use the proposed exercise materials, please note: Not all maintainers of third-party apps are open to change. It's the first job of the tutor to tell students not to bother maintainers with patches. The second job is to ask maintainers, if they would mind recieving patches. If they do, forward patches to the University Outreach project.
The preparation of the remaining details is up to you. You should prepare at least a reading list (or a HOWTO), a few exercises, and then be present on IRC to ask questions. Note that it is very unlikely that you get more than 3 or 4 students in the beginning.
Exercise could be a short selection from the following list of applications. You probably need to take a closer look at them to get an idea what your students may encounter.
1.5. Exercise Material
The following applications can serve as starting points to make design exercises. It's just for practise! Students shouldn't bother their maintainers!
Here's a list of science application using GTK2. This is useful for mmaking Usability Studies or Deployment and Integration Studies. Please collect patches and make them available to the project University Outreach:
Project |
Maint. approval |
UI Design |
Autopackage |
Oregano |
TODO |
TODO |
TODO |
TODO |
TODO |
TODO |
|
Ghemical |
TODO |
TODO |
TODO |
TODO |
TODO |
TODO |
|
Celestia |
TODO |
TODO |
TODO |
Gabedit |
TODO |
TODO |
TODO |
TODO |
TODO |
TODO |
|
gnumexp |
TODO |
TODO |
TODO |
Qalculate! |
TODO |
TODO |
TODO |
Gnofract 4D |
TODO |
TODO |
TODO |
Dr. Geo |
TODO |
TODO |
TODO |
Coriander |
TODO |
TODO |
TODO |
pdnMesh |
TODO |
TODO |
TODO |
Genius |
TODO |
TODO |
TODO |
TODO |
TODO |
TODO |
|
GChemPaint |
TODO |
TODO |
TODO |
QCADesigner |
TODO |
TODO |
TODO |
TODO |
TODO |
TODO |
|
TODO |
TODO |
TODO |
Another potential list could be made off GTK1 apps that are still used. Check Debian repositories for apps depending on GTK1 and compare with popularity contest.
1.5.1. Contact
1.5.2. Comments
I like this idea very much, moreover when we were discussing students in GNOME on conference we came to the same problem - there is lack of learning materials, while course on Linux development with GNOME is a great field to create some. I'd really like to help as a maintainer of Evince and I wonder if some there activity on this domain now. Is there plans to produce some book for teachers. Should we rise this discussion on desktop-devel or marketing list? --NickolayShmyrev
In my experience, it's easier to make good learning materials when the writer has experience in teaching. The idea of GNOME Academy was about IRC meetings with a schedule to teach something. The schedule is because its more fun to learn together, and because the marketing team can promote fixed dates more easily. In fact, Ubuntu seems to have introduced something similar, see Classroom. If that works, noone will stop a group of volunteers to publish tutorials in the GNOME Journal, Docbook-based classroom materials, or even a book. A discussion on ddl would rock to get some feedback, and some more potential tutors but I'm not the right guy to do this. If you'd like to drive this forward in any direction you like, please do so. I'm a little bit busy right now, but if there's interest in the project, I'll help with organizational stuff much as I can. --ClausSchwarm
Ok, let's go a bit further. We have tutor and we have plan for course. Where will we find students? --NickolayShmyrev
By two ways: First, we could make a BETA announcement when starting the first series of dates; think similar to a press release 'GNOME Academy starts frist BETA semester'. Second, we can advertise every month with a footnotes annoucement, a planet.gnome.org annoucement, and most importantely: announcements in the programming sections of the large forums. For example, http://www.linuxquestions.org/questions/forumdisplay.php?f=9. I can make a list. --ClausSchwarm
I just noticed the new schedule: Gosh! Very cool! But note: You will need exercises (tasks or so) for students. 'Read document A, B, and C' is boring, and won't be sufficient. There needs to be something to train with, to do something, to communicate about. And you should be prepared to give them feedback to their work. Note also: Most students want to gain the ability to help themselves later -- make their own applications, etc. They might be less interested in a course that teaches them the inner workings of the GNOME project. However, I might underestimate the interest here -- after all, there seem to be three people interested already. -- ClausSchwarm
I'd like to try to prepare materials for the first lesson, then we'll be able to make an anouncement. This will take two weeks or something around that. Of course, there will be exercises too. --NickolayShmyrev
Setting up something like Atutor might be a good idea as well
There is now an academic mailing list for gnome: academia-list. Please join it!