Like A Girl

Pushing the conversation on gender equality.

Code Like A Girl

Learning to code — the relative merits of Codecademy and SoloLearn

I was dimly aware, from adverts on Facebook and things people had said that there are a lot of resources out there for helping people learn to code. And that actually, I’m pretty lucky compared to the newbies back in the bad old days where it seemed (if my boyfriend is anything to go by) that you learned by examining source codes or borrowing library books.

But how to choose from the plethora of resources available? Well, I’m fortunate in that I know a fair few tech-minded folk so all I had to do was ask them. Codecademy seemed popular, as did Coursera. This was a few months ago and if I’m really honest, I can’t quite remember why I picked Codecademy over Coursera, though it may well have been because I was a tad directionless, they had a *lot* of courses to choose from and it was a bit overwhelming.

My housemate decided it would be a good idea to learn how to code at the same time as me and I think she literally just googled it and found an app called SoloLearn, which she downloaded onto her tablet to do on the commute to work. She recommended it and so I embarked upon my coding journey with these twin arrows in my belt to help me learn HTML, CSS and JavaScript. Now I divulge how they are working out for me…

SoloLearn — the perks and pitfalls

🙂 Transportability: For me, SoloLearn’s absolute best point is that it is learning that I can do on the tube! For anyone who has ever lived in London or a similar big city, you’ll know that you can spend hours of your week commuting. I usually have a book or magazine with me or write messages on my phone that send once I’m above ground, but this was a different fun and exciting activity I could do during my daily transit. I actually use it on my phone so it’s still an option when the train is so crammed your head is squished into a stranger’s armpit and there isn’t even room to hold a book.

🙂 Text editors: The other thing I like about SoloLearn is that it explained what text editors are and how to get started. This stuff seems really obvious but when you’re a total newb like me, it’s very helpful.

🙂 Clear and simple instructions: ‘Nuff said really.

🙂 Quizzes: SoloLearn had little quizzes which asked questions that checked my understanding and helped me learn why I was doing something and not just regurgitating syntax.

🙁 Small-screen: Sadly, learning to code on a small screen using an app does have its limitations. It’s not really practical to engage in long examples or get too complex.

🙁 Not much writing of actual code: This app doesn’t really give you too many opportunities to write your own code — the exercises tend to be “fill in the blanks”, which is great for learning how things work but less optimal for going away and remembering how to do it. For that, I feel the need to write the whole thing out myself. Of course, given that this is an app and you’re using a touch screen, full-on code writing isn’t really practical. They do have a “code playground” where you can open a text editor within the app and practice but it isn’t part of the exercises they give you and I really do prefer to have a keyboard under my fingers for writing more than short messages.

🙁 Notifications: A bit of a trivial point but I’m going to say it anyway — the app sends you little notifications if you haven’t coded for a few days, saying random stuff like “Keep calm, it’s just coding,” which, when you open them, just take you into the app. Hilariously, one literally arrived while I was writing the last paragraph — all it said was “Knock, knock,” and then took me into my JavaScript app. I find it a bit irritating because the notification makes the same noise as a text message so I excitedly go to my phone thinking that I’m really popular to find that I’m not and yes, I really am that sad…it’s probably possible to disable this in the settings but I haven’t gotten around to that yet….and there is quite a funny one about padding and Kim Kardashian’s bottom…

:/ Chat-up possibilities: As I say, London tubes get pretty crowded and anything you’re reading becomes fair game for whoever is standing by. I confess that I can’t help reading the backs of folks’ newspapers or casting an eye down the page of the book of the person next to me. I draw the line at looking at other people’s phones though but not everybody does. Last week, I was happily (ok, possibly a little frustratedly) pursuing Objects in JS when the dude squidged up next to me opens with “I couldn’t help seeing but….”. Cue impromptu coding conversation with a total stranger. I still haven’t worked out if he was trying to pick me up — the BF seems to think so, but he didn’t get my digits so maybe not. Then again, my polite responses, though reasonably friendly, were not designed to encourage.

Anyway, I still haven’t worked out whether that’s a pro or con. Probably con.

Codecademy — what’s hot and what’s not

🙂 Doing it yourself: For the most part, you write the code out yourself or at least huge chunks of it. Everyone learns differently so this could be quite subjective, but I definitely find that getting it through the fingers onto the screen helps me remember stuff.

🙂 Exercises: The exercises in Codeacademy are great — you do them, click the submit button and see what your code does! Awesome. Or what your code in fact does not do because you messed up the syntax, which is less awesome, but you keep trying until you get it right, so basically, it’s still a win.

🙂 What did I do wrong?: So if your code doesn’t work, they’ll usually offer a hint as to why — that you need to check the syntax, or you haven’t included what they asked from you — but they never just tell you. You have to work it out yourself.

🙂 Projects!: At the end of each unit, there is a project which helps you understand what the practical usage is for what you just learned. Also, they’re fun. I think my favourite so far was creating an adventure game in JavaScript using the switch statement.

🙂 Accumulative knowledge: Codecademy is good for including everything you’ve learned up to the point in the new things that you’re learning. So you don’t forget what you did a few lessons ago and can see how everything fits together.

🙁 Prior knowledge: Although I found the HTML and CSS courses simple to follow, I do wonder if the JavaScript one assumes either too much prior knowledge or a level of progress which I just haven’t attained as I often find myself floundering when it comes to using the knowledge in the exercises they set.

🙁 Challenging level: While this can be viewed as a pro because of course you want to challenge yourself and learn, I do feel at times that I’m not making a lot of progress. I also wonder if this is because I’m not used to thinking in a certain way, but it can feel a little discouraging at times and it’s hard to pinpoint what exactly it is that I’m not getting.

🙁 Examples sometimes lack clarity: Again with the JavaScript, I found some of the examples used occasionally lacked clarity and context so I didn’t really understand some things until I had progressed further.

Conclusion

Use them both! I find that they complement each other quite well and did I mention that they’re both free? So go nuts and get coding!

If you like this post, don’t forget to recommend and share it. Check out more great articles at Code Like A Girl.