Introduction
Do you want to make your own app, website or game? Are you thinking of self-learning programming this year?
If you are interested in jumping into computer science or IT, there are various programming languages and numerous online courses out there to choose from. Each approach has its own advantage and no one can definitely say a programming course is perfect and always better than others. Also, teachers in online courses have their own teaching styles, which might suit you or not; so ultimately it is always a matter of personal opinion.
However, in this article, I will share my personal opinion on a course that took me to the programming world. In my opinion, this is the best course to build your foundation for Object-Oriented programming. It is the Java Programming MOOC course from the University of Helsinki – Finland. Yes, you might find it surprising because I usually talk about learning coding from online platforms like Udemy or Coursera, but I will explain to you later in this post why this is the perfect one to start with.
Background: what brought me to this course?
I took this course around 4 years ago, in 2018 when I was still a student at the Business School of Aalto University. As a pharmacy graduate switching to a Master’s degree in Business Administration, I had barely known any programming. My knowledge was nothing more than variables & basic loops from a Pascal programming course at my old university, which was pretty boring as in those years, I did not know what I could really do with such outdated Pascal code.
Later on, I dreamed of developing my own applications so I kept researching a programming language to learn seriously. At first, I was inundated by tons of advice and information from Youtube and the Internet but finally, I filtered it out and decided to learn Java. The reason is that Java is one of the most popular programming languages with a wide range of applications. More importantly, I wanted to make an Android app, and I read that learning Java could help me build my dream Android app. Hurra!
I then found out that there was a MOOC course developed by the University of Helsinki. I thought “Oh cool! A course made by a Finnish university. Why not give it a try!”
About the course authors
As mentioned above, this is a MOOC, also known as A massive open online course, so there is no specific teacher assigned to you. All materials are available online, 100% FREE and you can learn at your own pace. The authors of this course are experts from the University of Helsinki – The best school in Finland for computer science. It usually ranks in the top 100 universities in the world by QS Ranking. This university is also the alma mater of the legendary Finnish programmer Linus Torvald, who invented Git (needless to say, every single programmer on Earth has to know this version control system :D), and the Linux Operating System (which the popular Android OS running on billions of devices nowadays is also based on).
As a student in Finland, taking this course for me is also a matter of pride. What is more amazing than studying an internationally famous course developed in the city I am living in? 🤩
Okay, no more talking, let’s move on to my review of the course content.
Course structure
The Helsinki Java Programming MOOC is divided into two individual courses: Java Programming I (Basic) and Java Programming II (Advanced). Each course consists of seven parts, each comes with its own exercise set. According to the course description, completing a single part takes approximately 5-20 hours, and learners are recommended to spend at least 10 hours per part, depending on prior skills with computers.”
Unlike many programming online courses, this course is a true university course; its scope and material are identical to the University of Helsinki’s CS1 Introduction to Programming and Advanced Programming courses. So you basically will learn exactly what CS students at the university would learn.
The particular content of the course can be found here (please click the open menu button to see the course’s structure & exercises) or you can follow the link to open it on a new browser tab now.
Course content
So basically, the Programming I course will give you fundamental concepts which are quite easy. I remember that I finished it quite swiftly. However, I procrastinated and interrupted learning for quite a long time in Programming II; it was a bit more challenging and at that time I was quite busy with other studies & part-time jobs. However, it is exactly those challenges that make you improve!
After several years, the Helsinki MOOC course has been updated to match the latest technologies but I believe it will maintain its quality and value.
Why is this a great course for beginners who want to start learning to code?
There are a few important reasons that you might consider.
- First, even though it is quite tempting nowadays to jump right into coding BootCamps and online courses that promise to help you learn & build web/apps as quickly as possible, lacking fundamental knowledge might discourage you on the way. Thus, you might find it more challenging to solve more complex problems. The Helsinki Java MOOC could equip you with comprehensive, university-level knowledge which enables you to have a more systematic understanding. Once you’ve overcome the more challenging ones, then you are fully confident to solve those problems in building Android App with Java (or the more modern Kotlin) and you can also easily grasp the concepts of Swift & other object-oriented programming languages.
- Second, Test My Code – The smart system to help automatically grade your coding exercises. This is definitely the best feature that the Helsinki Java MOOC course offers. Unlike many other online courses in which you usually just watch videos and practice alone or with your peers, this course comes with a well-coded system to evaluate your exercise automatically.
The system is super effective and probably unique. I’ve also learned some courses on Coursera and some do have automatic code testing but they are quite limited and often wrongly grade your exercises just because you lack some space characters or offer a different solution. The Helsinki MOOC’s Test My Code system is smart enough to handle all that scenarios and give you the best assessment. - The course is comprehensive & practical. You learn by coding on the real IDE (NetBeans), not in an educational web-based environment. The course emphasized real practice and hands-on exercises (which sometimes do make you struggle). This boosts your skills much more than video-based courses, in which you watch and think you understand things but after that easily forget or find it difficult to solve real coding problems.
- Last but not least, the course is 100% FREE & developed by a prestigious University with high quality. It gives you much more time for real coding practice than many paid courses. What is more interesting than studying from the school where Linus Torvalds studied 🤩. In fact, this MOOC course has become so popular internationally that you could search many threads about it on Reddit.
Conclusion
To sum up, through this post, I hope to share some of my learning experiences with those who are planning to start their first steps in Computer Science. This might be helpful for those who want to change a career like me in those days, but also could be useful for university students who aim to strengthen their knowledge or to learn Java after being familiar with other programming languages.
If you find this post useful, please give it a thumbs up and share it with your circle so I get more encouragement to create more useful posts. If you want to discuss more or share your own experience, please feel free to leave a comment below. Happy Learning! 😊
Most Commented Posts