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.
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|
|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|
|FranciscoDeLaPena||fdelapena||Cartago, Costa Rica||-0600||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.
|Introduction to C
|Introduction to OOP with GObject
|User Interfaces with Gtk+
|Inter-process communication with D-BUS
|User Interfaces with Clutter
|Multimedia with GStreamer
|API and Library Design
School is out :)
Courses are under active developing. Learn more here.
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
Face 2 Face communication
You can contact Christian Hergert directly to his email <email@example.com> if you have any question ..or even better you can join #gnome-university IRC channel in GIMPnet.
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”.
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.
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