For the past year, I have been trying to study Android & web development on my own through online classes.
The online courses are great – they allow you to learn at your own pace, set your own hours and many of them are interactive, meaning that your work is checked by the software.
To top it off, the prices are unreal, ranging from FREE to very cheap like programming assignment help. This is all perfect for the disciplined student who can commit themselves to learning and progressing through the lessons, lectures and practice sets.
Unfortunately, for me it’s been a tough ride… I am not disciplined enough to sit my tush down a few hours a day and learn the material. It’s a shame, because with today’s accessibility to information and courses, the potential to learn programming independently is available… I just don’t know how to take proper advantage of it.
That is not to say that I haven’t learned anything – I know far more now than I did a year ago and picked up a good base, but I’m nowhere near my targeted goal for a year of time invested in studying. So I put the white flag up and decided to sign up to an actual, live, classroom program where I will have to pay a whopping $5000 to go through an 8-month course that will give me a certificate, and hopefully, the necessary knowledge to move forward in the career. It’s becoming clear to me that I need to be in a learning environment of pressure, time-restrictions, schedules, competition versus other students, lecturers reviewing my work and so on. I just don’t thrive in self-learning!
Nonetheless, the online courses are AMAZING and since I can attest to them from my personal experience, I wanted to share them with other hopefuls looking to study programming, too. There are dozens of other online study platforms out there, but I have yet to test them out. If you have any additional notes to add, please feel free to comment below and give your input.
Code School
Code School has been my favorite online learning platform. They have a variety of courses from Javascript to iOS, Ruby, Python and so on. I’m still awaiting their Java/Android development course, but they are constantly adding new courses and paths to their platform, so I’m sure it will eventually turn out.
Their learning process is very interactive. You learn and practice as you go, which is so much better than just hearing the lecture because you retain the information by actually programming. Usually the system goes like this: 3-12 minute explanation video, followed by many practice sets. The practice sets are fun and well explained, and the system can check your work without the need for a lecturer.
They also make the system of learning work like a game: as you progress, you get points and awards and you can share them and show them off. The Objective-C (iOS) course has a little character that moves as you complete practice questions correctly. All the courses have introduction music. This is all not particularly useful but it makes for a more light-hearted environment. Programming is not the funnest material to learn, so it’s nice to have all these additional gamification bits.
Cost: Super cheap – $29 per month. You can try some lessons for free by signing up.
Udacity
Udacity is my second favorite online learning platform, but it may deserve a shared first spot as well. Here you can study Android & Java development, iOS development, data analysis, full stack development and so on.
Their learning is also very interactive although slightly less so than Code School. However, that doesn’t work against it – the lessons and practice sets are great, well explained and answers are checked by their system. Again, there is no need to have a lecturer checking your work at all.
I find myself challenged by the practice sets – they are not always easy and at times can make you experience what it really is like to be a programmer and not be able to figure out how to fix your coding problem. Sometimes I sleep on it, wake up and somehow fix the problem in the morning in a split second. What the heck!
Cost: FREE. Don’t be fooled by prices across the site – you CAN pay to study through their formal “Nanodegree” program, wherein you receive a certificate, feedback from lecturers and assistance toward finding a job (US only). However, absolutely all classes within nanodegrees (minus project work) are also available for free.
Codecademy
Codecademy was my first serious online learning platform. It’s great for people who are completely new to coding, and their course on HTML and CSS is very well put-together. I used it for JavaScript and I found it to be good, but I did prefer Code School’s JavaScript course.
The system works similarly to Code School in that it’s very interactive – you learn fully through practicing and doing, rather than through lectures. Practice questions and sets are fun and interesting, and they do teach you quite a lot through them, but the lack of explanatory videos made it more difficult for me to retain the information.
They have many courses available including PHP, Java, jQuery, Ruby on Rails and many more. I recommend it for anyone looking to learn HTML; the step-by-step learning method is an ideal fit for the language.
Cost: Absolutely FREE
Pluralsight
I scored a free month of access to Pluralsight, which is the only reason this platform ended up on the list. I was completely unaware of the platform before, but I’m really glad that I had the opportunity to use it, because I was getting overwhelmed by the other practice-based learning.
Pluralsight works very differently from the prior platforms I mentioned above. There is zero interactivity, which means that you don’t write code that the system checks and there aren’t any practice sets. Pluralsight is video-based, which means that experts record explanatory videos and tutorials and you follow along. For me, it’s a breath of fresh air… the other interactive learning systems are time-consuming and move at a very slow pace. Not so with Pluralsight – classes are a few hours long and give you a great, general overview to get you started with basics.
I only watched a few courses on Pluralsight since my time there is limited. However, I decided to watch Android development courses for beginners and they removed a lot of my fears and doubts on whether I could become a developer myself. The videos make it look accessible and the coding is far less threatening than I thought.
The only negative I have regarding Pluralsight is that because technology moves so quickly, the videos can feel outdated. For example, the Android courses are meant for older versions of Android or use outdated development software.
Cost: Very cheap – $29 a month (Free 10 day trial available)
FutureLearn
I probably made a big mistake starting so early on with a FutureLearn course. I got overly excited by the ‘promise’ of the course: build your first mobile app game with zero programming knowledge! The truth is… no, you shouldn’t be building an Android game in Java with ZERO knowledge of Java.
The first few lessons were awesome – I was following along and I was giddy. Then lesson 3 or 4 came and so went my dreams to create my first mobile app game that month. The comment board was just a mess of angry people who like me, had NO understanding of what happened in that lesson. It was almost like we jumped from beginner to intermediate programming in light speed. It was the only way for the lecturer to actually ‘create’ a game with us because there was so much to learn to reach that point.
I finished the course, but I finished it with barely an understanding of what we did to reach the completion of the project. So it was, for the most part, an unfortunately useless course for me. However, if I were to retake it now that I know basic Java, I’m sure I would gain a lot from it and I would understand the lessons much better.
So that being said, I can’t completely disregard FutureLearn. They have tons of free classes available from European universities in a wide range of categories, programming and not. They all look very interesting and helpful in progressing your knowledge or learning something new.
Cost: FREE!
Khan Academy
Khan Academy is actually a great place to start and to get a concept of how programming functions. They have many subjects including math, science and so on, so it’s also great for kids/teens but we are focusing on programming here. 🙂
Their computer section has 2 sub-categories: computer science and programming. Within these paths there are a few courses, and they are very interactive and basic. They teach basic JavaScript, HTML, CSS, SQL and so on. You can also learn more about algorithms, IT, cryptography and more.
The studying is very cute and includes making drawing and animations. You can see mind-blowing things other students have made through their code and aspire to reach that point of coding, too. I’m quite happy that I gave this platform a go when I first became interested in programming – it was an easy starting point.
I recommend it for people who want to get a feel for coding.
Cost: All FREE!
I would love to hear some input if you tried these platforms or recommend any others!
Thanks to Freepik for the unedited version of the featured image.