UOW: The Ubuntu Learning Project

learning-branding-largeYesterday Elizabeth Krumbach (pleia2) gave an Ubuntu Open Week presentation describing the Ubuntu Community Learning Project. This is the project that aims to create the materials that teachers can use to teach Ubuntu and other Free Software tools to everyone.

Firstly I would like to thank Elizabeth for gathering together all the details about the project into an Open Week session, making sure that we stay connected to more parts of the Ubuntu community and hopefully attract more people that want to teach, organise, write and/or illustrate.

Do go read the log here: Learning OW Session

Quick Start Guide

Now that you’ve read the Open Week presentation and have a want, nae a thirst to provide the community with high quality learning materials. What do you do?

Go over to the wiki page and take a good look at the five sections, they’re huge big buttons, can’t miss them. Now inside each on of these lies a page where all the sections are organised.

Job One: Organise

One of the jobs for those with only a few spare minuets in the day is to go through those pages, cleaning up, organising and pruning. It’s a job of research too, since any useful sources of information should be linked into that page for class writers.

Job Two: Get Writing

Once you’ve had a look at those sections, if you see one that your just dying to write as a class, then you should check out the bazaar branch and get writing. Open up a terminal (for now) and change into your projects directory and run:

bzr branch lp:ubuntu-learning-materials

This will get you a copy of the current source files, and you can have a look around to see how things are shaping up. Now you’ll need to pay attention to each of the directories, the maintain, teach, using, develop and community directories are where classes related to the five sections go.

You change directory into one of those, say develop and then have a look at existing classes (if any), be sure that what ever your going to write, that someone isn’t already working on it by noting your name on the wiki page next to the subject your going to be writing about.

cd develop
mkdir python-basics
cd python-basics

Create a directory for your class, say if I wanted to teach python-basics, I’d make that my directory name. Now copy in everything from the commandline-basics class, which I’ve left as a sort of template until our helper scripts are written:

cp -R ../../maintain/commandline-basics/* .

Now all these files make up the source of the class they will be compiled into various published formats such as a website, pdf documents and moodle classes. So things are split out. First things first, edit the authors file and put your name there instead of mine.

Next you’ll want to edit the lesson-plan.txt, this text file that looks like a wiki document and is your starting point. It’s where you go to plan out your class, how it will flow from introduction to topics which neatly come together to explain, demonstrate and then have students perform. Each section should be given thought over it’s order, it’s basically a list that looks like a wiki formatted list.

Each of your sections in that list will be hopefully taught in a single sitting, so don’t put too much in there and try to keep things logical. So for instance for our python-basics I might put:

Python Basics Lesson Plan
Martin Owens
:Author Initials: MO

Class Sections

.List of Sections
* What is Python
* Opening up a Python Shell
* Basic Statements
* Conditional Blocks
* Looping Blocks
* Including Modules
* …

Once you’ve brought order to the chaos by naming your sections, you’ll have to write each one. But we will come back to that part at some other time. Now you have some changes, you should commit them. This part requires you to have a launchpad account and to have your ssh keys set up with launchpad. If you don’t, we’ll be giving classes on it in #ubuntu-learning or you could read this guide.

Assuming you have those set up, you can do the following to change directory into the parent directory of the checked out data and add, commit and push your branch:

cd ../../
bzr add develop/python-basics
bzr commit
bzr push lp:~[lpusername]/ubuntu-learning-materials/python-basics-class

Now you’ve pushed your changes, you should come and tell us in the mailing list and the IRC channel. We can show you where to move on from here and you can talk to other contributors to learn from each other and how we are putting these courses together.

If you’ve got this far, then your probably chatting in the IRc channel aready, it’s where we do most of our chatting so please do joinif you have any questions, problems or ideas.