Learning to code, a syntax error at a time – #Python

I have conducted workshops for kids – Soldering basics, Introduction to 3D printing, Scratch and Python for tweens – in these last 2 years of our makerspace. I end up getting more insights on each of these topics, every single time. Following is my minutes-of-the-event, tips for planning a workshop and lessons learnt, all rolled out in one with no particular order of importance.

Introduction

I saw an unprecedented interest in the recently concluded “Python for tweens” workshop at reserved-bit – all thanks to Ruchi, a very enthusiastic supporter and mom to 9 year old Ved who is a maker at reserved-bit. We had 11 participants, of which 7 were girls(Yay!). The age-group was 9-12 years old and all the kids were raring to go. Most of them were well-versed with Scratch and had got along their own laptops. This was new for me, since I have seen only a maximum of 3 participants per workshop. We usually set up our raspberry-pi with a large monitor and keyboard for the participants who cant get their own laptops, this time however we had no requests for a system.

Ready with my marker pens, prints of handouts, beta-tests of my sample programs and the agenda firmly etched in my head, I was looking forward to this large batch. The makerspace is well-equipped with stationery, charging points, USB cables and power extension chords, so that is one thing off my checklist.

Pro-tip: Always arrange for all hardware at the venue a day in advance so that you don’t end up wasting any time on the day of the workshop. It will be a long day and you will appreciate being well rested before the madness begins.

Pro-tip: A workshop, in my opinion, is one where the participants end up doing “work”; Else it is just another class. Keeping this in mind, I usually design problems for the participants to solve or build as they follow through the day-long workshop. They should be able to carry something home that they can refer and better later with experience.

Pro-tip: I try and get an idea about the experience level of every participant at registration – things like do they know any other programming language, typing speed etc.

Agenda

Primary agenda is to introduce the participants to basics of programming – concepts such as loops, functions, conditional statements.

Plan: Begin at 10.30, lunch break at 1, resume at 2, hack on till 4.30. If time permits, do a quick and wacky micro:bit project.

I stress, a bit much, on understanding how a-l-g-o-r-i-t-h-m-s work at the beginning of the workshop because that according to me is the foundation of computational thinking. I use Code.org’s graph paper programming activity with the participants. This activity is also an icebreaker, as we do it in pairs.

We breezed through the interpreter, input and conditional statements. I squeeze in 2 activities – a number guessing game and basic calculator. We covered all this before our lunch break and also took infinite loo breaks and a snack break.

I felt the youngest ones slip off in the second half and lag behind. But then I introduced turtle graphics and then everyone lost their mind, collectively!

It was most rewarding to see one of the participants discover the wonder of loops, which reduced her code of 56 lines to just 4 lines. I can’t wait for her and others to grow to love the language more.

Unfortunately, we had no time to check-out the micro:bits and do something with it. I had a mood meter project planned for the makerspace with the kids. Anyway, there is always a next time.

Slide deck heavily inspired by Young coders tutorial, by Katie and Barbara.

Lessons learnt

  1. Be flexible with your lesson plans, especially with a young audience. You MUST be willing to think and come up with things-to-do on the fly. One gets better at this with experience.
  2. Be ready for a lot of noise, mostly excited banter, and absolute disregard for the instructor 🙂 As long as they are learning from each other or trying to outdo each other with their newly gained tricks,  enjoy! – that is more than half your job done.
  3. Take and ask for a lot of help with volunteers. I can’t thank Aditya enough for volunteering to help and getting Parthvi along.
  4. Different age-groups grasp concepts differently and have different capabilities. I realized during this workshop that the youngest ones were struggling with all the typing while the older ones – especially the 11+ year olds – could build on top of the basic exercises we solved as a class. For eg. one of them made a simple calculator immediately after learning about how to take input from user. Pro-tip: Next time,  club the 8-10 year olds separately from the 11-14 year olds – not only for their skill-set, but also attention-span.
  5. Young coders get hungry, very hungry 🙂 Be prepared to take more breaks than planned.
  6. I set the group up for errors in practice code. By the time the workshop ends, they are completely unafraid of errors or making mistakes. Keep the trying-correcting loop going, it is entertaining and most effective teaching tool.

Roll Call – the special 11 and others

Avya, Riya, Ifra, Sharmada, Shreya, Rewa, Tara, Aadit, Mishu, Ved, Akshit – Thank you for all the enthusiasm. Aditya and Parthvi – thank you for allllll the help, you both are amazing. Parents/guardians – especially Ruchi – a big thank you for all the help, patience and trusting your precious ones with reserved-bit. Thank you Sid for all the help with setup and more.

Hope the time the batch spent at reserved-bit has been valuable and keeps their interest in #Python alive.

PS: We are in discussion over how to take this workshop ahead and hopefully we can come up with an update soon.

PyCon India – 2016, Delhi

The delay in writing about PyCon was not just procrastination ,but also getting myself involved with too many things at the same time.

I am happy to have attended this memorable event and hope to spread some cheer with this report.

Beware, looooong post alert. Get your popcorn!

Scroll down to Day 1 if you want to skip my personal peeve stories.

Backstory – My way to PyLadies

For me the first meetup of PyLadies was about learning basics of Python, I had no idea about the global community that is motivated to make a safe environment for women contributors. Despite being a beginner in Python, I seemed to have suggestions aplenty and it seemed to me that I could get/attract more members for the next sessions. I gave a small communication guideline talk during the second meetup and it was pretty much a sealed deal that I was happy to be a part of this community. What was most inspiring for me was the fact that Anwesha was so motivated to pull the group together, despite no clear path ahead for the group. It was disappointing that there were very few who attended regularly, nevertheless the few who did became good friends and I guess at this point we all fire each others imagination.

Tickets and more

I found out about PyCon from dgplug. The goodman was out for work and I could not imagine leaving Ira without either of us. It was not possible to attend the conference, clearly. I knew of all that was happening behind the scenes – how PyLadies did not get a table, how Rupali had, as always, returned as our knight (dame, maybe?) in shining armor. Red Hat had magnanimously opened its booth for the community and welcomed all contributors to showcase their stuff. Wow!

Almost all of dgplug was attending the PyCon and there were questions about who is joining when almost all the time. One visit from Kushal and Anwesha was all it took for us to consider the experiment of leaving Ira with her grandparents for a night. Tickets were jhatapati booked and plans made for stay. Thanks to Kushal and Anwesha for letting me be the haddi in their kebab during conference days. Truth be told, my mind was constantly occupied with what would happen with Ira ever since my tickets were booked. The husband is talented which enables him to do some nice things like printing few python print t-shirts for PyLadies.

I and the husband had made an LED lit jellyfish costume for Ira which was actually an umbrella based on this tutorial. Me and Anwesha planned to use it as a photo prop at the booth. My original plan was to carry Cookie(who is an annoying battery operated toy) which was to be controlled by a raspberry-pi and a simple python program. However, I wasted a lot of time and it was not ready on time and Ira was appropriately mortified to see her toy all opened up and confiscated it from me. I designed the 2 posters for the PyLadies table.

I had my doubts about using the prop until the last day. I remember giving Anwesha a panic call-

me: Lets not take the umbrella, it will look like a gimmick and no one would be interested. What if we are not taken seriously?!? *panic* *panic*

Anwesha(calmly, uncharacteristically): Ok..dont worry. You get the prop. We will see what to do. By the way, can you prepare a lightning talk?

me: WHAT? WHEN? “ME”??  *more panic*

Err, at this point I think I should do two posts. This is taking too long 🙂 Never mind.

Day 0

So on Day 0, I was still in Pune and I got the posters printed, it was raining incessantly. I PyLady-fied the umbrella by printing the geek lady and sticking it on the umbrella. I had an exchange of images with uber-talented Trishna who was supposed to print the badges.

Day 1

I was supposed to leave at 3:00AM in the morning, in preparing for the lightning talk and catching up with the good-man, I was awake till midnight. Ira, as if on cue, woke up sharp at 2:30AM and bawled to see me leave, making it unbearably difficult to leave. However, I had to go AND I was out with a huge suitcase – for my umbrella prop and posters. I reached the venue at 8:00AM.

The registration desk was well organized. The volunteers were extremely helpful. I spotted a few people who looked like professionals at breakfast, almost 75% of the crowd were students. This is my first PyCon, I have always attended business conferences from my proprietary bubble days 🙂

I finished my breakfast and went to the booth. Pravin and Pooja joined me soon. Pooja is like the backbone of the group – quiet, calm and extremely resourceful. I was so glad they were there. We started with setting the booth. Trishna, Janki, Kushal and Anwesha joined us and the posters were up in no time. The Red Hat guys were busy with setting up their booth too. It was a very bustling, colorful booth. I had goofed with the controller for the LED which the cute-couple (Pravin & Pooja) quickly fixed and our umbrella was glowing 🙂 The photo prop was a huge hit.

PSSI announced Dr.Ajith Kumar B.P, a scientist at Inter University Accelerator Centre, as the winner of “Kenneth Gonsalves Award 2016”. What inspiring work! What was most inspiring is the enthusiasm the achievers have in doing more, contributing more.

Keynote by Baishampayan Ghose was a very interesting start to the conference.

I was introduced to Devi, the veteran contributor and mom. It was lovely meeting her, personally for me because I aspire to be working like her. I also found out about anandology.com, which I am referring nowadays to practice some python exercises.

Vijay Bung had an interactive Request for Volunteers and suggestions session at the open spaces. Me and Pooja attended it. This was in continuation with the Python month as organized by PSSI. Some valuable suggestions were noted and we made way to lunch. Rupali ended up being alone at the booth managing Red Hat and PyLadies single-handedly for some time.

Rest of the day was spent mostly at the booth talking about the how, when, what and why of PyLadies, Pune chapter. It was heartening to see so many women contributors come up and share their stories, encouraging for us as a team to keep up what we are doing.

For those interested in starting their own PyLadies interest groups-

  • http://kit.pyladies.com/en/latest/prospective/checklist.html
  • http://kit.pyladies.com/en/latest/overview.html#how-to-use-this-kit

I attended Anwesha’s talk and the delightful keynote by Van L. I will never forget his 3 tips for any conference –

  1. Come to contribute,
  2. Meet someone new &
  3. Say thanks

We were all treated to a great dinner hosted for PyCon speakers and volunteers. Another great avenue to network and also good food. I was attempting (and failing) to keep up with my Keto diet. Of course with the desserts, the diet flew out of the window 😀

I went on to complete the lightning talk and submitted a proposal for the upcoming FudCon in Phnom Penh and crashed to a dreamless sleep.

 

Day 2

Kushal left early because I was taking too much time *giggles*. Me and Anwesha barely made it for breakfast thanks to our (not) wonderful driver #sarcasmalert who took ages to reach us. The previous day Anwesha had spoken to Paul and Van about organizing a session by PyLadies about how to grow the community. So we were all set to organize the same at the open spaces. Since this was my first conference, I made the blunder of presuming and not checking with the volunteers about availability of the open spaces; went by the literal meaning – the space ought to be “open” for anyone. The very enterprising Janki got into her element and got us one slot at 11AM by successfully negotiating with the speaker who had the slot. We are grateful to Udayan for the slot. I missed thanking him personally at the venue.

The session went very well, we actually ran out of time.

Rupali gave an unforgettable introduction – outlining how PyLadies, Pune started as a student initiative but didn’t quite grow as anticipated, pointing out how Red Hat had opened its booth for the community when all else had failed and giving a primer on how we can move forward. She introduced the speakers – Paul Everitt, Dmitry Filippov, Van Lindberg and Jeff Rush – who had insisted on the session being an informal, interactive one. It was a wonderful idea. Jeff bought his vast knowledge to the fore and gave the entire room a big box full of ideas. They were encouraging, full of stories, insightful, charming, approachable and everything that leaders usually are. Why MEN for a panel at a Py”Ladies” event you ask? Firstly, we are not  opposed to men participating [As we create a space for growth, we may end up excluding ourselves: driving home the stereotype even further] and secondly, when we are learning the ropes it is better to take tips from the ace (unfortunately, we had planned the open spaces session at the last minute and couldn’t get women speakers. Better planning next time, promise)

Unfortunately, all slots for lightning talks were taken for day 2, in fact they had some talks spilling over from the previous day. So my lightning talk will make its way to the next meetup 😀 I personally loved the idea of a 5-minute platform to strut your stuff very helpful and interesting.

We also had a #dgplug stairway meeting. I was elated to be part of such a vibrant and promising group. We met again for a photo later towards the end of day.

Some more time was spent at the booth. I attended the IoT talk by Jaimon Jose and picked a few ideas. I was really tired at the end of day 2, on day 1 I was probably running on some reserve-energy store, read caffeine 🙂

Farewell was expressed to everyone and I was out – back to my baby – with a promise in my head to do more and get better 🙂

PJP dropped me to the airport, while I regaled him with a report on my life. Whether he wanted to know or not was never a question 😀 I also finished reading Scion of Ikshvaku since I had 4 hours to spend at the airport. Yayy!

Follow up – To do

My poster design has been suggested to be the official logo for PyLadiesPune. Yoohooo! Also we need to work extensively on the PyLadies website

We had noted contact details of the women who visited us at the PyLadies booth. The idea is to get in touch with them and have sessions with them via Hangouts for our future meetups to keep in touch with what is happening in various fields w.r.t Python – exchange of information forging a multi-culture community.