My First Online Courses
My journey into software development started at university, however, university only taught me some of the fundamentals. When I left university, I was pretty clueless when it came to using technologies of any kind to develop a piece of software. Realizing this, I headed over to my computer one evening and searched for an online course or curriculum that could help me solve this problem. This is when I came across two free courses. One seemed to be widely known and respected by both learners and professionals everywhere and the other is just as good but not as widely known. The courses I found were CS50s Introduction to Computer Science and The Odin Project, the very first online courses I ever took.
The Odin Project: Foundations
This is the first course offered by The Odin Project that I completed. It goes over the basics of VMs (virtual machines), the basics of Git & Github, basics of HTML & CSS and then finally the fundamentals of JavaScript. Despite learning HTML, CSS & JavaScript at university, this course was still a good refresher that allowed me to produce projects for my Github that I could add to my portfolio, exposed me to linux and VMs, setting up a proper dev environment and exposed me to a community of fellow learners.
CS50: Intro to Computer Science
CS50x, offered for free by harvard, goes over the fundamentals of computer science and programming, which include concepts like abstraction, algorithms, data structures, encapsulation, resource management & security. It introduces you to several languages outside and within the web development domain unlike The Odin Project. These languages include Scratch, C, Python, JavaScript, SQL, HTML & CSS. By the end of the course you’ll be familiar enough with these languages to be able to build projects. This course is a bit more difficult and more involved with concepts outside web development than the Foundations course offered by The Odin Project.
Why These Two Courses Are The Only Online Courses You Need
If you’re a beginner who’s only just found out about programming, software development and web development then these two free courses are the only courses you’ll need to take to gain the skills you need to build projects to show off on your own portfolio. These courses teach you how to learn and if you complete them, they also show employers that you are capable of directed self learning, which will be important for your career as learning is what developers do all the time.
My recommended order for the above courses is:
- The Odin Project: Foundations
- CS50x: Intro to Computer Science
This is the best order as although CS50 is regularly recommended to beginners, I personally don’t think it is for beginners and I believe you’ll need previous background experience & exposure in programming to really be able to digest the content being shown to you. As the Foundations course is easier and designed specifically for beginners, I think it is the best course to take before CS50x. It will provide you the necessary exposure and experience needed to complete CS50x. Of course, you could ignore this recommendation and start with CS50x first if you feel confident in your ability to complete the course but the foundations course does go over other elements of development such as development environment setup & git usage which will be useful in the future for personal projects and employment.
Once you’ve completed these two courses, it is best to stop doing online courses so as to not enter tutorial hell and start focusing on building your portfolio and filling it with your own unique projects using resources like documentation and Stack Overflow.