Gnome University is an effort from Christian Hergert to help people to learn C, involve with Gnome Programming and push the project further. I had referred how nice this project is, some time ago at its initial starting. So I will skip this.
There are some cool updates I think is worth to mention, plus for those guys that missed the older post it would be a shame if they want to be part of it but they’re ignoring its existence.
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 101 |
Introduction to OOP with GObject 201 |
Threading 301 |
Profiling 401 |
| Memory Management 102 |
User Interfaces with Gtk+ 202 |
Inter-process communication with D-BUS 302 |
Lock-Free Programming 402 |
| Modular Design 103 |
User Interfaces with Clutter 203 |
Network Communication 303 |
|
| Data Structures 204 |
Autotools 304 |
||
| Multimedia with GStreamer 205 |
API and Library Design 305 |
||
| Debugging 206 |

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 <christian@hergert.me> 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.gnome.org/gnome-user-docs>)
git clone git://git.gnome.org/gnome-user-docs
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

Pingback: 4 Minor Updates for Gnome | woGue
Pingback: Links 24/10/2012: Fortress 2 Comes to GNU/Linux, Raspberry Pi Opens ARMs | Techrights
Pingback: Gnome news from around :) | woGue