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.

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

Students

The following students wish to participate:

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

Ideas for courses

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.

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.

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

Deployment and Integration

  • Getting started with GNU Automake
  • Basic Desktop Integration
  • Making Autopackages

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.

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

SciGraphica]

TODO

TODO

TODO

Ghemical

TODO

TODO

TODO

GNUTU]

TODO

TODO

TODO

Celestia

TODO

TODO

TODO

Gabedit

TODO

TODO

TODO

RoadMap

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

GtkLife

TODO

TODO

TODO

GChemPaint

TODO

TODO

TODO

QCADesigner

TODO

TODO

TODO

Gwyddion]

TODO

TODO

TODO

G3Data]

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.

Contact

ClausSchwarm

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!

Attic/GnomeAcademy (last edited 2013-11-26 20:39:00 by WilliamJonMcCann)