Why would a 26 years old, married programmer want to take part in a voluntary project, which involves going for a week to a small town and showing kids that programming is fun? Well, the day before workshops I asked this question myself many times. But I was well aware of the answer. There were actually three reasons.
Firstly, I felt that I remained in my comfort zone for too long. I didn’t create any talks, write any blog posts, didn’t even train pole dance as I used to. It felt awesome. I had plenty of time and didn’t stress about anything. That is why I knew I have to ruin that and do something crazy. ;)
Secondly, the whole idea of the “IT for SHE” project, which the workshops were part of, was to popularize the image of female professional programmers. You know - not only repeatedly say “Women can code!”, but actually showing that we exist, know things and make a living by writing code. I really love this idea. I was never fond of special treatment for women who code or want to code - special workshops FOR WOMEN, special grants - FOR WOMEN - I really hate creating such artificial divisions! That may be because of the fact, that I never felt discriminated in my career - actually I feel very warmly welcomed. The only thing I want is for young girls to not question whether programming is also for women. I remember that back in the primary school I always thought I’m too stupid for programming (despite excelling in all of the subjects…). My IT teacher also didn’t even try showing me how to code, as he did with other male students during the extra classes…
The third reason was to simply push myself into trying something new, facing new challenges. I’ve never taught children, never prepared any classes. I hardly ever have any opportunities to make contact with children. So I wanted to gain some experience in that field.
I apologize for the poor quality of photos… I broke my primary phone and forgot my camera…. >.<
This post is really long, so if you feel like tl;dr, you can just watch this short recap:
One of the perks of taking part in the project was the possibility of joining a two-day training. We had 2 hours to play with each prop. That is not much. :) Honestly, it wasn’t really helpful in the end, but it was nice knowing what awaited for us. Really important part was when our coordinator started telling us all of the tips regarding working with children, creating classes, dealing with crises and so on. The most important thing was something which I thought was kind of useless and time-wasting at that time, but in the end we ended up using all of that during our classes. THE GAMES. Oh boy, it saved our asses so many times! When robots’ batteries turned out to be depleted, when computers didn’t want to cooperate, when there was some time left after lessons - we used every one of them which we could dig up from our memories!
Last, but not least - I did expect meeting many inspirational and smart girls, as this project involves only girls - but I didn’t expect to find such a cool friend! Olga, who runs the blog Sowa Programuje reached me during the very first coffee break and asked me if I’m Emi who runs a blog. Get Noticed contest proved its impact on my life once again! We started talking and quickly turned out that we get along really well.
That is why I asked her to be my partner on the project. She immediately agreed and we started preparing our classes. :)
The project - a 3D printer class
Our day started with really delicious breakfast and remote work from a beautiful garden. Sunny weather, cats and a dog and a cow, green fields, it felt like paradise. After a few hours we went to the library - the first place where we were to run the classes for a group of 10 kids. We started by assembling the subject of the first class - the 3D printer. A pretty cool one. The only one which I had a pleasure of operating looked really primitive compared to this one. The software is awesome too - sending 3D models to the printer through the browser was very straightforward and intuitive. I had some minor troubles with installing the fillment and the printer was behaving really strangely at first - we even thought it might be broken - but after an hour everything was up and ready for the classes. I have to admit - I’m kinda proud of how I arranged the whole class. During the training they said hey - just show for the kids the printer, start printing something and they will just watch for hours! Well, that’s simply not true. :) I’m glad we were well prepared for this day.
When kids showed up, Olga started with a game which helped us get to know them a little bit. Then we talked about our jobs - Olga is a frontend developer and I’m a game developer - so we were able to tell about programming from two, completely different points of view. We also tried to explain why programming is so cool. :) Then we proceeded with the core lesson. Firstly I showed my short presentation about the 3D printing - different methods, what can be actually printed, how should the model be organized so that it would be printed well. I showed them our actual prints which I borrowed from work (we played with a 3D printer some months ago). I also had some badly printed models to show them what could go wrong and how does a printed model look like inside. Then I showed them my great discovery - TinkerCAD. A really cool program running in a browser, which allows to create 3D models using a simplified and intuitive interface. Honestly, this software is so great. I showed them how to operate it for like 5 min and before I even finished modelling my simple house, they were already in the middle of modelling the Palace of Culture and Science! :)
The cool thing was that all of four groups were using my account, so without any need of saving the models and collecting them, I immediately had access to them. I was helping them a lot of course, but they really made some cool things. During the next two days I actually printed all of it for them and we created a mini display in the library. Personally I think that was the best possible way of showing them how all of this works. During the whole class there was another model being printed of course, so anytime that wanted they could just stare at it. :)
It felt slightly worse with the other group. The reason - technical problems. In the middle of the week we transferred the printer to the other place and had very little time to set it up. Well, frankly, I wasn’t concerned by that - I did it once two days before, so I felt I knew everything.
My first goal was to have it running and printing in the background while I would present my short lecture, as I did during the first day. As I was setting it up, Olga was carrying on some games.
The problem was wifi. The printer uses super cool software called Skriware (actually I think this is also the name of the printer). You just need to go to the website, connect the printer to the wifi, link your account with the printer, and you can just send models to the printer via the web page. It even has many models to just freely choose from! It is generally really simple, but the printer just didn’t happen to see the library’s wifi network. I have no idea why - it must have had some strange configuration or something, as my phone didn’t have any troubles with that. Well, no wifi - no sending models and printing anything. So I had to improvise. Olga had to do the same. We weren’t prepared to just play with kids for over half an hours, so we were digging up in our memory all of the games we had seen during the training. Olga used literally ALL OF THEM while I was tackling with the printer.
I had to come up with the idea how can I send the model the other way. I saw the usb port - tada! I can just use my pendrive! I quickly downloaded the model to my laptop, moved it to the pendrive, stuck it into the printer - epic fail, the printer didn’t see my pendrive.
So I started looking for cables. There was some strange port at the back of the printer, so I looked all over the place in search for a matching cable. I disconnected two big library printers, but it didn’t match.
(during that time Olga was still improvising with the games so that kids wouldn’t know something is wrong….)
Then I decided to have another try with a wifi connection. I set up a mobile hotspot on my phone. The printer didn’t see it. I realised I don’t have the cellphone coverage. So I put my phone on a window. I had a slight coverage, but still no success with the printer. So I asked Olga for her phone. Tada! The printer was seeing her network!!! So I started uploading a model. It failed, with an error basically saying there was an error. Ok, I tried like five last times. No success. So I desperately started to dig through the printer’s menu. And I found this - PRINT LAST MODEL…
(when I tried connecting after the class was over, it had no troubles connecting to my mobile hotspot and I sent a model without any problems…)
As I quickly set up a projector and started a lecture, Olga started to set up TinkerCAD on all of the computers. What is there to setup, it’s just a website - you may ask. Well, for starters you need to open the browser and log in, which was taking sooo long on these old computers. Secondly, some of them required installing additional plugins, which required providing the admin passwords, and there were some troubles recovering these passwords… Nevertheless, when Olga was having her battles, I had to show how to operate TinkerCAD just on my computer, kids didn’t have any possibility to try it along with me. I think this is why when they finally sat in front of the computers, they would start with a completely blank project and some of them had troubles with coming up with the idea what would they want to model.
At the end of the week we took the printer to our room and printed keychains for all of them as a keepsake from the workshops. They really enjoyed it. :) Olga and I on the other hand felt that the team of us two can handle any difficulties and unexpected problems. :) But I really think it was worth it. When we asked the kids what did they learn, many of them were referring to the things from my presentation, so I guess they got to know this technology pretty well.
The Dash class
Dashes are cute blue robots, which can be programmed using a simple mobile application. You just need to drag and drop blocks of behaviours and tap “run”. After the introduction, we had a short talk on a robots topic (where can you find robots? what can they do?) and then we asked the kids to create a track from pencils and shards of paper. The task was to program the robot so that he could go from the start to the end. We paid special attention to switching roles in groups - it quickly turned out that in each group there were some shy kids who were afraid to try anything and the bossy ones, who’d prefer to just finish the task all by themselves.
These little talkative plastic dudes were really warmly welcomed by the kids. They were eager to bring them to live, to experiment with different commands (“make him dance, make him dance! ;) ). Of course, we had some problems with these too. Batteries turned out to be depleted near the end of the first class, so Olga had to improvise with balloons modelling. Kids didn’t finish the exercise, but they did mention it during the next days, so we devoted part of the other class for that. I can’t blame them for wanting to finish it - there was a race involved. ;) The third task was pretty complicated, it required using randomly generated numbers, variables and nested conditional expressions, so kids needed our strong assistance, but I think they did just great. Really, they were so smart! They grasped new things and concepts pretty fast.
The Lego Mindstorms class
Yep, we had these. <3 The whole one day (2 hours) was spent on building robots using Lego. It isn’t an easy task, believe me, joining elements and creating solid constructions is kind of tricky. The requirements - at least three wheels, the ability to turn, head with an infrared sensor and a bump sensor. All of the teams managed to create a functional robot, so we were really proud of them.
The next step was programming, of course. During the training they showed us that you need to install the desktop application and connect the robot via a USB port to the computer to send over the scripts. It was troublesome for us during that training, so I was really worried how would it work for kids. That’s why I started to think whether there are any alternatives. As we had tablets needed for Dash programming, I searched for the mobile version of the software for Lego - and I found one! It worked really great! It connected wirelessly with the Lego bricks via bluetooth. The interface and capabilities were strongly limited, but still it was more than enough to lead the class and come up with interesting tasks. Kids were programming their robots to drive forward, backwards, turn, detect obstacles, omit obstacles, make sounds, change the color of lights and so on. At some point they even started trolling each other and bump into other teams’ robots!
The BeCreo class
Oh boy, BeCreo. As our coordinator said - loved by kids, hated by trainers. We spent approximately 10 hours to just have it up and running on the computers. BeCreo is a set of electronic parts, which can be easily connected and programmed via the desktop application. It consists of an Arduino board, some led diodes, a speaker, a really small monochromatic screen, infrared sensor and so on. It can be programmed to make sounds, flash and do other cool things and there are predefined sets of tasks - for example we led the class called “the disco”. ;) Kids were really hyped when they saw that their “code” makes the diodes flash in different ways. In the end we were really happy that we managed to win the hardware battle with these BeCreo sets (we had to set it up ten times in total, as kids were working in pairs). I think the most important concept being taught using BeCreo was the concept of functions, as these were absent in Dash and Lego programming.
Both boys and girls turned out to be crazy smart, but I have to admit - some boys were much more courageous, even if they didn’t know how to do something, they were eager to try. Girls on the other hand, even it knew something - often were shy and would quietly whisper the answer. With exceptions, of course. I had one Lego group which composed of two boys and a girl - she basically build the whole robot by herself and made boys just find and bring her needed parts. xD
During the first class I asked them if anyone was already considering a programmer’s career. Only one boy raised his hand. During the last class I asked whether some of them started to consider it after taking the classes. All of them shouted “yeeeesssss!”. :D I hope that all of them will never question whether programming is also for women. And I hope that girls will start to believe in themselves more and if they find it interesting - that they won’t hesitate whether to start programming!
That whole week was both very exhausting and energizing. I had to face challenges completely different than the ones I usually have to deal with at work. I feel like I gained some experience and ease in communication with children, I even kind of found out that it comes naturally to me - especially talking about meaty and technical stuff, or explaining some concepts. I used to think that teaching is a really humdrum job - always saying the same things over and over again. Now I start to change my mind. We worked with two independent groups of children - they were both so different! The groups reacted to different classes in totally different ways. So even if we carried the same class for the second time - nothing was repetitive, kids had totally different problems and questions and we didn’t have time to get bored.
But the most important thing - these kids were totally great. Smart, lively, cooperative, focused, eager to learn new things - I kind of didn’t expect that. I miss them already. :)
P.S. Bonus doggo living in the places where we had our room… <3
comments powered by Disqus