Change the future

Beginners Welcome: From Zero to GUIs in Four Months, via Writing a Tutorial

Marta Maria Casetti

Audience level:


Discover how in four months I went from insecure beginner to happy writer of a GUI toolkit documentation!


In little more than a summer, I learned the basics of Python and I discovered the beauty of writing GUIs.

From Zero to GUIs in Four Months

What have I done? (A case study)

I worked for four months on the tutorial for the GUI toolkit GTK+ in Python in the GNOME Outreach Program for Women. The results are here. It allowed me to go from knowing just the very basics of Python to being able to write a simple GUI.

It was not too different from taking notes in a class, except that the format of the notes was very standardized. And, of course, I was both the pupil and the teacher!

Most important, I think that it was a good blueprint for learning new ideas and new techniques - helping others in learning along the way.

To begin

Revise (or teach yourself) the basics of Python with the Python Tutorial and Learn Python the Hard Way. You might like one more than the other; I think that two different approaches might help you see more “the language” and less “the book”. This step should take about a month. And do not think that you will learn everything: you will really learn only later, with a project that allows you to put in practice what you know.

The support net

Find yourself a project you are interested in, and in the project find yourself a mentor. This is really important. The mentor should be supportive, but s/he should not overlook your shortcomings. The best mentor typically says "good job, here's how to do it better".

Now, off to work!

Have a plan of your work ready. This seems trivial, but it is not so obvious. Remember: you are starting, and the people in the project seem to have been there forever, and to have forgotten what is easier and what is harder (also: easier/harder is sometimes subjective). Here is where a good mentor is fundamental: s/he is your guide in this territory that you do not know yet.

And now... follow the roadmap set and...

Write! Write! Write!

(and: Edit! Edit! Edit!)

And beware: you will get something a bit (but not too much) different from your original plan...