I am currently trying to organize a small workshop for several people to generate interest in android. I intend to conduct a hands-on workshop, taking everyone through various components and features by building an app.

One way I can think to do this is to write an app before hand, share it with everyone and then try to develop in group the same code again, understanding the nuances. However, I am not sure how well that'll work out.

I am curious to hear other methodologies or ideas which will help me make this workshop fruitful and engaging for everyone.

I am guessing some of you have experience with similar stuff, can you please suggest what would be a good way to go about it?

PS - Using possibly irrelevant tags, as my reputation won't allow me to create new ones.

  • I went to something like that once, and I must say it was absolutely terrible. We spent the entire time copying Python code verbatim from a PowerPoint presentation, flagging down the people in charge to fix our syntax errors. I didn't learn a thing, and it made me avoid Python for a while. – Maxpm Apr 1 '11 at 2:31

The key to live learning is to go through every step, finding all the problems as you go, but not necessarily spending all the time on the solutions.

Re-coding as you go usually doesn't work out. What's better is to start coding to a specific check-point (your source control tool can help on this) where you run into a problem that will take some time to correct. Once you correct it, checkpoint that place.

During the workshop, start from 'scratch' and re-code to the first problem (everyone following along with you on their own laptops). Then, when you all reach the problem, describe it, code it a little-bit (until you hit the boring/tedious part), then simply check-out to the next checkpoint (and everyone does the same).

It's the best of seeing how you go without losing people in the slogging details.


Building a simple App would be good. Don't try to get to complex, it will take more time then you expect. I usually use a factor or 2.5 to 3, if it would take me 1 hour to do, it will take 2.5 to 3 hours to teach. If you do finish early, let them add features or otherwise make modifications.

my rules for any type of training.

Step 1 TELL it, explain what you are going to do and why Step 2 SHOW it, have them watch you as you do it. Step 3 DO it, have them do that step


Step 4 TEACH it, have them show someone else how to do it.

Pick a small project that can fit in your time frame. Try it out before doing ti live in front of people. Break it down into to steps and teach the steps.

Power Point and other presentation software is OK, if you remember it is a visual aid. Don't copy your entire presentation into text. That is called a book not a visual aid.

Don't skip step 3 (DO it), they have to do something or they will not remember it.


I like your idea , first show them an app , show what your app does and then lead them into a step-by-step tutorial to show how it was done. By showing the app beforehand you will have generated their curiosity.

You can also think of a hands-on tutorial as an exercise. You will write the sekelton code for your app but leave out the specific section that you are teaching. For instance if you want to teach GPS-stuff. create an app that has the resot of it including the GUI and inputs. Also put placehoders for your GPS code(such as class names and stub functions). Basically the app should compile and run except for the GPS related parts which they trainee will have to add. THen let them program those parts. This will save them from being distracted by irrelevant parts (focus on GPS, not on GUI); and they have a ready app which they can add to and test.


Try Hackergarten its a way of developing a small project in a day or two at the end of this excercise the team learns how to develop a project from the scratch thus fulfilling your agenda !!!! FYI we are using it in one of our local user groups.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.