May 8, 2017

Learn to Code with FreeCodeCamp - a "sort-of-MOOC" specifically to learn programming

FreeCodeCamp is an open online learning platform, where you sign up to learn coding in various programming languages. I started the course last autumn and I was excited by the fun I had while learning programming.
It starts out with the basics in HTML5 and goes on to JavaScript and many more. It was founded by Qunicy Larson an American developer who thought there is not yet the perfect learning platform for learning to code. And many people will tell you that freecodecamp is the best of all they have tried.
It is basically only one course that can take years to complete, but within this course you have some smaller mile stones for example the front-end-development part at the very beginning followed by a back-end-development part etc. At the end of these bigger mile-stones you can even get your certificate that you finished this section of the course. Now every section consists of many smaller learning steps, where you get some input and you have to try something out for yourself. When finished correctly you may go on to the next instruction-step.
So although the course is structured in a rather strict fashion, I still consider it as a mixture of an xMOOC and a cMOOC because it also has this communicative and knowledge sharing aspect about it. This aspect is there because it has it‘s own forum, where you can ask any questions when you are stuck in a challenge or you just want to share your experience in a certain programming language with your fellow learners or whatever. Furthermore in many cities like Vienna a group of people, learning on freecodecamp formed a facebook-group that meets up at least once a month. At these meetings usually someone gives a talk about some new developments that are happening in this scene and then people discuss their experiences and help each other with problems they might have. So there is this social and communicative aspect about the learning process within freecodecamp that makes it so interesting apart from the fun that comes with it.
So I really enjoyed learning in this environment and I will definitely start again, when this semester is over and I have a bit more time.

Concerning the improvement of education, it definitely depends on the design of the course, it‘s discipline, where it will be implemented and the goal it pursues. Because not every course design, from a pedagogical perspective, is suitable for every discipline. Additionally everyone likes to learn in a different way, thus a is no one-fits-all custom designed online learning platform or course wouldn‘t make sense. Nevertheless I still think that, if designed and applied suitably for a certain learning programme (be it school, university, further education or free time), it can definitely improve educational programmes and the education system as a whole. I am not sure though, how the educational institutions and the MOOC websites or platforms should work together. Is it better, if the school or university leaves the course administration and execution to the platform and only cares about the input and grading etc. or is it better if they take the platforms as an example to create their own platform.

It is not easy to list a set of characteristics, how a MOOC course should look like from my point of view, because as I said, it depends on what you want to learn. For learning to code, I would say FreeCodeCamp is the perfect example. As in this one, you learn something practical it is essential, that you have to try and create and work on a project yourself. I also consider it very important, that they build a community via the forum and the facebook group.

For a topic or discipline that is more theoretical like cultural studies, history or whatsoever, the pedagogical design will have to look different. For example I also participate in a course on FutureLearn about the cultural heritage of Hong Kong, which is rather theoretical, but it is still great fun, because the creators of the course (City University of Hong Kong) applied virtual reality videos and images toghether with interviews and articles within the course. Some Information repeats itself, to better memorize the input and at the end of each section, there is a little quiz. So I would say a mixture of different teaching methods can help a lot in making a course (even theoretical ones) interesting and worth it‘s time.


  1. Hello JohannaT, thank you for your blog post. As I did not know FreeCodeCamp so far it was interesting to learn something about it. Even though you did not provide a lot of background information, you seem pretty experienced in terms of computers or at least like part of a "scene" that is. I am not. Would you recommend the course to people who have 0 experience in coding and few people to ask for help or people who are to shy to come to the group meetings? all the best, Anonymous

    1. First of all, thank you for your comment. The background story didn’t turn out longer, because I could go on and on, describing the website and my experience with it, but then it would have been too long for the requirements…

      And believe me, I am not experienced at all!
      I consider myself a beginner as well, because I only started last autumn and I haven’t made progress since November. I am planning to start again, in summer, when university is less stressful.
      I only learn a few bits here and there when I ask my friend (who is a professional web-developer and runs his own company) about his work and he often tries to explain stuff with greater or smaller success. ;-) He was the one, who got me interested in coding in the first place.

      So from a beginners perspective, I would definitely recommend, trying it out, as it starts very simple and basic. For later lessons you should probably bear in mind, that further reading will help a lot But at this stage, it is still very easy to google anything and find a solution. ;-)

      About the group meetings: you might feel a bit lost, just as I did, because many people there already have some knowledge and skill, but there are other beginners too from time to time and the people are always very welcoming and nice.

  2. I did not know about this platform either, and reading your blogpost really made me want to give FreeCodeCamp a try! I really like the idea of having a whole community built around the course, as having interested and maybe even more knowledgeable colleagues is simply great for learning.

    1. Well I hope my reply to the first comment, can further encourage you. :)
      And you are absolutely right, working and learning in an environment, in a community with people so enthusiastic about their stuff can really enhance your learning experience and motivation.

  3. This comment has been removed by the author.

  4. Thanks for sharing this! Indeed, freecodecamp is a wonderful example of a community driven and community generating platform. Sometimes I wish the STS community would also share such a platform, not only for methods, but in general for sharing courses in basic understanding of science and technology in society.

  5. I have recently started a blog, the info you provide on this site has helped me greatly. Thanks for all of your time & work.