After completing the CS101 Udacity course that I wrote about
in my previous blog entry, I tried out a
course with codeacademy.com, another commonly used free learning resource for
programming. They are famous for having
a course called the Code Year where people who have made it their New Year’s
Resolution to learn coding in one year, can follow a specific track that covers
all of the 6 programming languages that Codeacademy offer tutorials on (Python,
Ruby, HTML & CSS, Javascript, JQuery and PHP).
For a little bit of a change from the Udacity course which
focused on Python, I started out with Codeacademy’s Web Development tutorial,
which gives an introduction to HTML and CSS (part of the appeal of doing the
course was finding out what these mysterious acronyms stood for! And then being
able to feel like a total boffin by casually dropping them into conversation
like a pro…or maybe that’s just me).
While the Internet still generally seems more or less to be
powered by magic to me, this course helps you understand what the source code
behind websites is referring to. After
doing this course, you can pretty much write the code for a website from
scratch in Notepad using HTML and make it look pretty using CSS, but in
reality, most people would still find it more efficient and convenient to use a
template or another helper program.
A section of the codeacademy.com homepage source code....believe it or not, after doing the HTML course, this will no longer be complete gobbledegook! |
Having completed the Web Development course, I already felt
like I was forgetting the Python that I had already learnt, and given that
Codeacademy had a Python track, I thought it might be interesting to blitz
through the Codeacademy Python course to see if there was anything that the
Udacity course had missed out on. The
main extra material not covered in the Udacity course includes taking a user
input, bitwise operators and slightly different ways of writing ‘for’ and
‘while’ loops. You also get to build
quite a cool simple Battleship game too!
Compared to the Udacity course, this was more of a very
basic introduction into the language and a whistlestop tour of what you can do,
rather than giving you a deeper understanding of the syntax. I found the exercises rather repetitive, with
the instructions often telling you exactly what to type, meaning it’s quite
easy to forget stuff you’ve learnt after pressing Save & Submit.
Having said that, the benefit of the Codeacademy course is that all the individual chapters are available in easy bitesized chunks, so you can dabble in and out of exercises; which comes in handy when you are trying to fit in your study around a hectic work day. This is why I stuck with Codeacademy and used it to try out its courses in Javascript and JQuery, hoping these courses would build upon the basic Web Development course.
Rather bizarrely, I thought the Javascript course did not really explain at all how one would go about integrating the simple programs we were writing into a webpage. In many ways, it was much more like the Python course, and even though Javascript was a new language to me, it was satisfying to be able to pick up the fundamental concepts quickly as a lot of the groundwork overlapped with the previous courses I had done. However, this did leave me questioning why I was bothering to learn how to do the same things in a new language and how it was in any way relevant to building websites. This was not helped by the fact that in the final 2 units of the course, there was A LOT of repetition of course content (it looked like it simply had not been edited properly) and there were quite a few bugs with Codeacademy checking the code that you had input was correct. It wasn’t just my computer/browser! - I tried using Codeacademy with Internet Explorer / Chrome / Firefox on my laptop as well as my iPad, and I could see from the course forum that there were many other frustrated students experiencing similar issues…
I forced myself to get over the annoyance that my course completion rate was stuck at 99% despite having the right code, after finding out that what I really needed to do was the JQuery course in order to transform my newly acquired Javascript coding knowledge into building an interactive website. This course really gave much more meaning to the previous Javascript course I had done, and it taught how to translate a user’s key commands and mouse clicking into simple animations of a website’s features (e.g. moving your favourite Nintendo character around a page, or making a planet explode!)
If you "get" this meme and how it references making planets explode, then you are probably as cool as me. |
Pros
- All the teaching is done via coding on the website
- Bitesize chunks and short courses makes learning easier to time manage
- Something about the way it's written is very good at helping to keep you motivated and want to get through all the sections...perhaps it's because they reward you after completing sections of the course with some lovely badges on your account profile (anyone else remember collecting these in the 90s???)
Cons
- Teaching is not as in-depth as I would personally prefer
- Website has bugs with saving and submitting exercises
- Too much hand holding/spoon-feeding. Often the exercises just tell you exactly what to type, and can be very repetitive. While this does drill in certain things that you do need to memorise, it can feel like an exercise in copying and pasting
nice one..web design course
ReplyDelete