Gender Balance and Diversity at the Academy of Code

Diversity in IT is tricky. Google make a big deal of their commitment to equality of all types. So do Microsoft (in spite of the odd enormous misstep). Tech companies like Pinterest have been very public about their attempts to improve diversity. Closer to home, there are several women only scholarships available to women entering STEM (Science, Technology, Engineering and Mathematics) career paths.

In spite of all this, a survey of top tech companies show that tech roles in Apple, Google, Microsoft, Facebook and Twitter are filled by only 10-20% female employees.

And we shouldn't be too smug at the Academy of Code either. We have 7 employees, and only 1 female (numbers fans will note that that places us right in the middle of that 10-20% range).

While it's hard to say what exactly we can do to help this situation, we have started by making some efforts over the best six months to ensure that our advertising is more gender neutral. (Mostly this has meant ensuring that pictures used totally misrepresent the actual gender ratios at our courses - we reckon Machiavelli did make some good points...).

But hey, it's worked! At least it's moved things in the right direction (probably - causation is hard to firmly establish). Summer camp aside (and we expect the balance on summer camps is inherently more balanced - we'll know more once numbers for this summer's camps are available), we improved from a steady 16% girls up to 21% in like-for-like classes this term. Adding some girls-only classes (after-school in the Teresian School) has pushed that number up to 29% female. Hopefully our summer camp this year will show another solid step closer to gender parity.

Which of course raises the question - is gender parity the goal? Well, no actually. Not for us. Our goal is to get to a point where gender balance becomes a non-issue. Roughly speaking, this is regarded as being somewhere around a third. In a class of 20, on average you need around 7 girls for them to not be at risk of feeling like interlopers in a class for boys, and that's where we want to be. Whatever the numbers that eventually go on to careers in IT, we think it is a crying shame that anyone would be turned off a potentially amazing career purely because of their gender.

So: here are our numbers. We're working on them. Long term we want to be part of a broader solution, but short term we just want to be part of the conservation. If we can keep our own numbers going the right direction, and get at least some of our female students excited about a career in IT that's a good start. We also hope this might be something of a wake up call for parents. Around three quarters of our students are in primary school. Whatever about industry trends at large, at that age parents are still essentially calling the shots on extra curriculars. So parents - why is it sons and not daughters you're sending us?? If you have any thoughts on what more we can do, we're always delighted to hear from you. In the meantime, we're going to keep working on it. Hopefully we will contribute to a very different kind of IT environment over the coming years.

(Gender diversity is not, of course, the only kind of diversity - we will return to this subject again!)

A Long 16 Months

The class diary was an experiment which, in spite of its success, we put to one side after week 12 of our Autumn 2014 term. It's been gathering dust there ever since. The diary itself was quite well received, with plenty of parents happy to get an insight into what was happening in class, but putting it together became more of a distraction than it was deemed to be worth. New curriculum development took over, as did recruitment, logistics, and all of the other things that go into bringing each Academy of Code term together.

16 months has left a lot of updates unpublished, and a lot has happened at the Academy of Code in meantime. Time for an update, it seems!

Three founders have become two, as Simon has moved on to other projects (and is greatly missed, by staff and students alike). In his place we have added David, Robert, Sarah and Sid, not to mention Daire, who has been in and around the Academy since that first set of summer camps - not directly filling Simon's shoes, perhaps, but doing a fantastic job in their own rights.

We've also added some new students. Quite a few new students, in fact. In Autumn 2014 we had only a little over 20 young coders in our charge. As of April 2016, that number is well over 200.

We've added locations - first the Teresian School in Donnybrook, for after-school classes, now St. Paul's Raheny, for summer camps. Several more schools are also in the mix for further expansion in 2016.

Most importantly, we have been able to maintain (and even increase) the standards which we set down on day one, way back in early Spring of 2014.

As we get busier we find there is more frequent and more interesting news to share, not to mention more exciting screenshots and videos we can pull from our classes to share. All that and more in the coming months - stay tuned!

(Oh, and the summer camp 2016 registration page is now live - we sold out a class earlier this year in less than 60 minutes, so if you have a date in mind, don't delay!)

Week 12: Parents' Night

12 weeks done - flashed by in the blink of an eye! - and not a whole lot more to say here about what was covered. We're looking forward now, to January and to next summer, and we have a whole heap of new things in store for both new and returning students.

Speaking of returning students, we hosted parents' night this past week, in the second half of the final classes of term. As you might expect there were a couple of students who ran into Muphry's law in relation to demoing software live (that's a lesson for next term - never demo your software live!), but overall most parents seemed to be somewhere on the "happy" to "blown away" end of the scale in terms of their reactions to the final projects.

And speaking of blown away, we've been blown away by the feedback from those parents, and by the number of students who have promised they'll be back to us next term. Not that we want to count our chickens prematurely, but even the fact that so many are interested in coming back is a wonderful affirmation of what we're doing. We were also pleasantly surprised that all of those parents were pretty much across the board delighted with the classes, and with the progress their kids have made over the past 3 months.

As communicated to many of those parents, the biggest challenge we've run into this year has been simply churning out lesson plans and project ideas fast enough to keep ahead of the class. It's a wonderful problem to have, but at the same time it's also nice to now have a month to put a bit of breathing room between us and them! We'll be tweaking our "new students" course content over Christmas, but what's really exciting us is the possibilities for the returning students. While we're relatively constrained in what we can do early on, with three months under their belts there is suddenly a whole world of options for us to explore next year.

No firm decisions have been made just yet, but we have a couple of demo apps coded up already (some students will have seen those last week) which are really whetting our appetites. If next term even comes half way to living up to its potential it's going to be an absolute blast!

Some screengrabs from the 2015 course. And this is just for starters!

Some screengrabs from the 2015 course. And this is just for starters!

After that there'll be summer camps (dates to be announced, and sign ups opening, early in the new year), but that's probably enough to be going on with for now.

Classes next year are taking signups already, and we do only have a finite number of places so don't hang around if you're hoping to nab a place!



Week 11: More Projects, and Looking Ahead

Time really does fly. It feels like only a few short weeks ago that Simon, Eamonn and myself (Diarmuid) sat down to discuss the idea of forming a company that would run computer coding courses. That would have been back in March, or thereabouts. Since then we ran an experimental Easter courses (to prove that our ideas more or less worked in reality) and then two weeks of summer camps. Finally, buoyed by the positive feedback from those first two forays, we decided to press ahead and advertise our first term-time courses this past August/September.

We've certainly run into our fair share of difficulties along the way. Our decision to hand deliver 10,000 leaflets ourselves back in September was, in hindsight, something of a false economy. My decision to cut up stickers by hand for our branded USB sticks was (again in hindsight) rather more labour intensive than I perhaps expected. And as for the "wait, I thought you had the keys..." incident - probably the less said the better!

What really matters, however, is the teaching, and on that side of things we could scarcely be happier. As detailed in the past few weeks' blog posts, our students are far surpassing anything we could have imagined at the start of term.

I'm reminded of a lecture by an academic named Randy Pausch* (available on YouTube, and more than worth the ~75 minutes of your time). He was teaching a new course in Carnegie Mellon called "Building Virtual Worlds", and his students had just achieved more in their first two week assignment than he thought they would in an entire semester. He called his mentor, and after hearing the story his mentor said "[...] you obviously don't know where the bar should be, and you're only going to do them a disservice by putting it anywhere".

We're not teaching undergraduates at a top university (although I have no doubt that, in just a few short years, many of our students will be undergraduates at top universities!). All the same, I can't think of a better philosophy the guide us over the coming terms. 

We won't be abandoning our curation of course content, but we will be pulling out all the stops to provide more and better options to students, and even more opportunities to put their own stamp on what they're doing. We don't ever want them to feel that they're doing "enough" without having to push themselves. Within a few more terms some of our students will hardly need that kind of curation at all, as they'll reach a point where there's little they can't do. In the meantime we will keep racing to keep our assignments and projects ahead of them.

We're extremely excited about next term, and about the number of students who have already signed up to come back to us. If you're even almost as excited as we are, we hope you'll come along for the ride!

Week 9 & 10: More Project Work

The project phase of term is in full flow at this stage. While this is an exciting time for everyone, it does make it a little difficult to summarise what they're all up to. This is a lovely problem to have though, caused as it is by everyone doing something interesting, and all moving forward at their own pace.

This is what we really hoped to achieve when we founded the Academy of Code, and to see such exciting results in our first full term is incredibly heartening. Not that every student is equally as brilliant as each other - that simply wouldn't be a sensible yardstick - but that every one of them moves at the top end of whatever their own pace is, and that they are constantly being challenged, overcoming that challenge, and then being challenged again.

Over the past two weeks one of the major features being added by many students was collision detection, in most cases between circles. (Detecting collisions between rectangles involves a lot more steps, so most students were encouraged to stick to the circles. A few brave souls did implement the rectangle collision detecting though - and mostly with reasonably solid results!) 

The images above show how we go about detecting a collision. The distance from a circle to its edge is half its width (this is also called the "radius", for those of you who slept through maths class!). By getting the distance between the centre of the circles (basic geometry, which Processing takes care of for us with the "dist()" function) we can tell quite easily if the circles are touching. 

If the sum of the radiuses* is equal to the distance between the centres then the circles are just touching. If the distance between the centres is larger than the sum of radiuses then they aren't touching, while if that distance is smaller than the radiuses then there must be an overlap. Not trivial, but also far from rocket science. Lack of exposure to geometry is the real barrier we run into here, particularly with younger students, but with a bit of gentle coaxing most students managed it at some stage in the past two weeks. We also have the demo below to allow us to step through frame by frame and see what's happening. 

This is a very slightly altered version of the basic portion of the game students produce in their first term. We've added the line between circles, along with the text readouts, to allow us to watch the values of the important datapoints and analyse what's happening in the program. The line will turn red when the circles collide. The orange ball can be moved left and right using the 'a' and 's' keys, while the program can be paused by pressing '0', resumed at normal speed by pressing '9', or incremented a frame at a time by pressing 'c' while paused. (NOTE: You will probably have to click on the frame for any of those key presses to work!)

What you're seeing above, by the way, is one of the very neat features of processing - it can be embedded straight into a web page, almost without having to make any changes at all!

(Technical note: it's actually not quite that straightforward in reality, for a couple of reasons. Mostly it's that switching from Java (on the desktop) to javascript (in the browser) isn't ever going to be absolutely perfect. We've found that the background() function gives up on us in the javascript version (although this isn't a universal problem, and so merits a little more digging), as does some image resizing. In addition there are likely to be some issues with any complex object inheritance structures, as well as issues with overriding (since java is strongly typed and javascript is weakly typed). When the time comes (maybe 5 or 6 terms in!) this will provide us with a fascinating way of talking to students about the differences between strongly and weakly typed languages, and about how languages implement inheritance, and all sorts of other similar topics.
Another issue we've run into seems to be a Squarespace specific one, namely that embedding our canvas directly in the html on Squarespace just won't work. We have a couple of theories why, but for the moment we work around it by hosting them elsewhere and embedding them here using iframes.)

We have a number of mini-applications like this which we've either used this term, or will introduce next term, and many more ideas floating around. Look out for them here in the not too distant future!

In the meantime we're now facing into our final two weeks of term, and looking ahead already to next year. If you haven't already spotted the signs, we're taking signups for January already. If you're interested, don't wait until it's too late!

 

 

 

*Or radii, if you like to more classical in your plurals.