You Got A Question? Ask    GNOME Community!

 12012   |  Oct 25
 9553   |  Mar 17
 8022   |  Mar 28
 6485   |  Jun 17

Gnome University grows bigger part of it!

This post was made with an older stylesheet

Gnome University Goals

Christian Hergert says: GnomeUniversity is an effort to get more community members comfortable with the C language and the GNOME platform. Understanding a least a bit of C can go a long way towards helping developers write better code in a multitude of languages.

GNOME libraries are often written in C, and doing so allows for easy integration with higher level languages such as Python, Ruby, C++, JavaScript, and more. We should be encouraging application developers to use whatever language they are comfortable with, while providing all of the same APIs to the various languages.

Noting: Programming experience isn’t required!

Gnome University Grows Bigger

When the project started had like 5-6 members. Currently it counts 24 members and growing! Some “students” are already Gnome contributors in other parts.

Name IRC Handle Location GMT Offset Mentor/Student/Both
ChristianHergert hergertme USA, San Francisco, CA -0700 Mentor
EmilyGonyer gonyere Carrollton, Ohio, USA -0400 Student
FabianaSimoes fabiana Rio de Janeiro, Brazil -0300 Student
RubenGuerra biker Tijuana, Mexico -0700 Student
VascoDias vascod Lisbon, Portugal +0100 Student
GüntherWutz wutzara Bavaria, Regensburg +0200 Both
SasaOstrouska saxa Salvador, Brasil -0400 Student
MichaelHill mikehill Toronto, Canada -0400 Student
JuanjoMarin jjmarin Cadiz, Spain +0100 Student
michealPW michealPW Barrie, Canada -0400 Student
SteveOvens stratus Toronto, Canada -0400 Student
MartaMariaCasetti mmcasetti London, UK +0100 Student
Hashem Nasarat hashem Boston, MA -0500 Both (ask me about C)
Varun Madiath vamega Boston, MA -0500 Student
Sam K. Raju samkraju Dubai, UAE +0400 Student
DiegoToral diegotoral Natal, Brazil -0300 Student
BenjaminLebsanft lebsanbe Hamburg, Germany +0200 Student
LeonardoSitumorang aldoreno Bali, Indonesia +0800 Student
FranciscoDeLaPena fdelapena Cartago, Costa Rica -0600 Student
MarinaZhurakhinskaya marina Boston, MA -0500 Student
ShaunJones lostson Appleton, WI -0600 Student
MaximYaskevich astronaut Minsk, Belarus +0200 Student
NickGlynn exosyst Cambridge, UK +0100 Both (already know C)
Mawuli Adzaku mawuli_ypa Cape Coast,Ghana +0000 Student

I don know if the list seems small or large, but 20 new Gnome Hackers would made this project more than successful!

Gnome University C Programming Courses

The C programming track at GnomeUniversity is aimed at teaching valuable skills for students interested in writing software for the GNOME desktop. The C programming language will be used to teach basic and advanced programming skills.

Students will progress by choosing courses that interest them. Each course will be led by an instructor but the work is performed on the students own time. Students will be required to read through the course material and then practice the provided exercises to complete the course.

100 200 300 400
Introduction to C
Introduction to OOP with GObject
Memory Management
User Interfaces with Gtk+
Inter-process communication with D-BUS
Lock-Free Programming
Modular Design
User Interfaces with Clutter
Network Communication
Data Structures
Multimedia with GStreamer
API and Library Design

School is out :)

Courses are under active developing. Learn more here.

Relative Links

Gnome University Main Page: This is where you have to start and contains all the info you need.

Gnome University Members: The current members of Gnome University and your potentially classmates :)

Christian’s Git in GitHub: You will find Gnome Desktop Programming Book, a book on writing software for GNOME OS and some Gobject Exercises, a place to put some gobject exercises for people to practice

Gnome Desktop Programming (Writing Applications for Gnome3): The book (similar to the above Git) in PDF format. In any case is better to use the more updated above Git

Günther Wutz Git in GitHub: Here there are some Gnome University Code Examples.

Face 2 Face communication

You can contact Christian Hergert directly to his email <> if you have any question ..or even better you can join #gnome-university IRC channel in GIMPnet.

Useful Links

Gnome User Docs in Gnome Git: User, system administration, and accessibility help

Gnome Devel Docs in Gnome Git: Developer documentation (incl. HIG, Platform Guide, a11y Guide, etc.)

Gnome Developer Center: Everything about Gnome developing ..Ok almost everything, there are some very nice tutorials in Gnome Live! pages that aren’t yet part of Gnome Documentation and are quite hard to be discovered. Hopefully most of them would be added here soon. Gnome Docs progress fast lately.

Git For Rookies

Many of the above links lie in Git repos.  To copy them in your hard drive you should clone the repos. For doing that you need Git Program. I just go only for Ubuntu (and Ubuntu Spins) users. If you running another distro you will already know this, right?

sudo apt-get install git

Now you have Git installed, to clone a repos (ie. <git://>)

git clone git://

That will create a new folder <gnome-user-docs> in the current location (you can move it anywhere). To update a Git repo go inside that folder and run “git pull”.

cd gnome-user-docs
git pull

That will sync your local data with any potentially changes that have been made on the server. Git is a super complex program and I guess that only its founder (Linus Torvalds) knows how to take fully advantage of it. However the basic functionality isn’t so hard to learn. Github has the best documentation to learn how to use Git efficiently.

Although there are some Git GUI clients like Cola I reckon you to use the terminal to learn the basics.

Get to know Christian Hergert better..

..he is your teacher after all :)

As you can see the guy is insane with his Audi and Nature ..and insane in general (in a good sense)! He is also an awesome photographer! Currently his works as Senior Software Engineer at Catch, and his previous work includes VMware, MySpace and Medsphere (LinkedIn).

Christian works in the following Gnome Projects:

  • ChristianHergert/GOM - GObject data mapper using SQLite for storage.
  • ChristianHergert/Builder - Prototype for a less cluttered development environment.
  • Push-GLib - An APNS and C2DM push notification library for GObject-based servers.
  • Mongo-GLib - An asynchronous mongo driver for GObject-based servers.
  • GnomeUniversity - An effort to teach people the GNOME technologies and languages.

Christian Hergert homepage && Christian in Gnome Live!

What if I don’t like programming?

There are plenty of areas to involve with Gnome that don’t require any programming. Except Coding, you can make Translations, Documentation, Testing and Design!

Learn more [at] Get Involved with Gnome

  We can't watch comments unless G+ provides an API or if you send a notification, e.g +World Of Gnome
     Sometimes is better to place your questions on GNOME Community