Learning JavaScript has been a goal of mine for the past few years, but I’ve never gotten around to starting. Late last year I decided to bite the bullet and sign up for a short introductory course at City University which finished in December. This is how I got on.
I know I wrote about my experience a little bit in my 2022 year in review blog post, but I felt like I didn’t really explore the topic in that much depth. I know this post is almost a year too late, but I really wanted to write something about the course because I really did enjoy it and I will be continuing to explore my love for programming by starting an Introduction to Python course which begins in a few weeks time.
I want to start by saying that there are loads of free JavaScript courses and materials available online, but I decided to go down the more formal route of paying for a short course for two reasons. The first reason is that I wanted access to an experienced tutor. In the past, I have tried following various tutorials only to get stuck as the instructions aren’t clear enough or the steps no longer work due to an IDE update, language update or something similar. I wanted to be able to ask a question and get instant help and feedback. Secondly, I felt that paying for the course and having a set structure made it much easier for me to commit. Knowing that I’d paid and that a tutor would be waiting for me to attend was a good motivator in ensuring I attended the classes.
I must mention at this point that when I took this course, I was also working on some practice materials via the Learn JavaScript course on Codecademy. While I did enjoy this, I find the Codecademy platform a bit lifeless and robotic. I think it’s a great platform for practising lower-order thinking skills (remembering, understanding and applying), but not so much for higher-order thinking, for example, creating something from scratch. Creating something with the skills learnt from Codecademy is possible, but I just found it much trickier. I’m sure many people have learnt what they need to with just these free resources.
The City course was fully online via teams and it was a 10-week course that introduced the basics of JavaScript and working with the DOM (document object model). The course content was well organised, and the tutor was extremely experienced. There was homework to do at the end of each session, which I would strongly recommend doing. You’re not going to learn JavaScript by attending a few online classes and following along, you must actually try to create things, practice, practice, practice, and ask questions. I think the course was well-priced; you are paying for an experienced tutor’s time (compared to just doing online tutorials). All the course materials were available to download from the university Moodle site.
The only downside of the course was that a few students were not very familiar with HTML and CSS, even though the course prerequisites say you should know the basics of these languages. This meant that we were held up during some sessions because the tutor had to explain some of the basic concepts to the other students.
My favourite part of the course was learning about the DOM and the basics of APIs. After the course I created a Rock, Paper, Scissor game and a webpage that pulls api data from my Moodle instance that shows student progress on a particular course (more to come on that topic later).
I have to admit, like with anything, if you don’t practice, you do become rusty. Because I don’t (at the moment) practice every day, I have to refresh myself a lot when I return to it (the curse of the forgetting curve!). I am hoping to make more time for practice in the future.
Links
- You can find out more about the Introduction to JavaScript Programming and DOM Scripting course via the City university website: https://www.city.ac.uk/prospective-students/courses/short-courses/javascript-1-an-introduction-to-javascript-programming-and-dom-scripting
- You can also find out more about the free Learn JavaScript course via the Codecademy website: https://www.codecademy.com/catalog