Teaching Women Coding

As the end of the Coding For Women course approaches, I thought it would be a good idea to look back at what worked and what didn’t.



Why a women only course?


The course itself was run at ALX Training and sponsored by Digital Jersey. The objective was to encourage more women to learn about software development, in an environment where being a female developer was positively encouraged. Its no exaggeration to say mixed classes would have put off a lot of women. During the course I received unwelcome comments from someone enquiring if women could handle learning logic. This simply went to show why we ran a women only course!


I have been a developer since 2000, working with a variety of languages and technologies. However, I have rarely worked with another female “techy” – there have been several project managers, heads of department, account managers and so on. But when it comes to the actual coding, nearly all my colleagues have been male.


There are some great developers out there, guys who really know their craft and I have a lot of respect for their skill. But I have also seen the flip side, the men who assume that, because I am female, I couldn’t possibly understand the intricacies of, for example, DHTML. And continue to patronise and underestimate my ability even when it has been proven.


The content


So I would love to see more female developers. The course ran over 10 weeks, 1 hr a week. I decided to start with Python, a fairly easy language to learn the basics. The need to be careful with indentation, case sensitivity and the inevitable spelling mistakes naturally forced the students to focus on attention to detail. I thought this was a good thing; the sooner you learn to be careful with spelling, capitals and formatting, the quicker you can write code without the dreaded error message.


Introducing a concept, and then getting the students to practice using it, with variations, worked well. The first couple of weeks introduced a lot of concepts and there was probably too much theory (ie me talking) and not enough hands on. There is no substitute for actually practicing by writing code.


We spent 5 hours on python, and got to a point where they could code a function with input parameters and return values (such as a currency converter). The next 3 weeks covered HTML (I taught HTML5, and therefore ignored tables), CSS and Javascript. This was seen as much easier then procedural programming, and the instant visual feedback really engaged the class. The output from these sessions is here. The final 2 weeks I have covered the basics of SQL, since any useful application will eventually need to interact with a database.


Are they ready to go and become developers?


No. Not yet.

10 hours is not enough to introduce concepts such as objects, classes, debugging tools, IDE’s. I hope I taught them enough to be more confident when talking about coding and understand more about what it involves. I also think they are all ready to go on to take a more formal course in software development, should they want to.