The Odin Project's Foundation Course: Lessons Learned

The Odin Project's Foundation Course: Lessons Learned

I have been working on the Odin project for over two months. It took me about 1.5 months to finish its foundation part. I am a non-tech student and I started my exploration into Computer Science during the pandemic. Since I didn’t want to spend any money on learning (and maybe you don’t have to!). I concluded that the two free and great resources for learning web development were The freeCodeCamp and The Odin Project.

freeCodeCamp!

I first started with the freeCodeCamp and as I was progressing I felt that I keep forgetting elements and tags, I used to make notes and try to memorise the HTML tags and attributes, but it turned out you don’t have to.

STOP DOING THAT IF YOU ARE STILL DOING IT! Because in the real world, you can always look them up whenever you need them.

the FCC wasn’t for me as it didn’t feel like much hands-on experience as you have to code in that small block of an area its UI gives - no offence, that feature has its use and I am a fan of FCC myself - but I wanted to create new files every time I start as I hope the world of the devs are. I wanted to grind.

The Odin Project

So I started looking for the other option: The Odin Project.

The Odin Project is another open-source project which is focused entirely on Full-Stack web development. It is quite long - takes about 6-8 months to complete and has two paths: the JavaScript way and the Ruby way. And there is a vibrant community of it in discord and other social networks where people come together to study, share their stories and help each other.

Topics covered: The Odin Project foundation

It kickstarts with the introduction to the course.

-How this course works and introduction to web development

-Mindset and motivation and how to ask for help

-How to work with the community

And teaches you about some prerequisites

-Computer Basics

-How does the web work?

-Text editors and Command Line basics

-Setting up Git

Focuses some more on Git

-Introduction to Git

-Git Basics

HTML Foundations

-Elements and tags

-HTML boilerplate

-Working with tags

-Lists

-Links and images

-Commit messages

CSS Foundation

-Inspecting HTML and CSS

-The Box model

-Block and Inline

Flexbox

-Introduction to Flexbox

-Growing and shrinking

-Axes

-Alignment

JavaScript Basics

-Fundamentals part 1 & part 2

-JavaScript developer tools

-Fundamentals part 3

-Problem-solving

-Understanding errors

-Clean code

-Installing Node.js

-Fundamentals part 4

-DOM manipulation and events

-Fundamentals part 5

And it ends with

-Choose your path forward

It asks you to choose your path - whether you want to learn JavaScript or Ruby

Projects you get to work on!

  • A Recipes page

  • A Landing page

  • A Rock Paper Scissors game

  • Etch-a-sketch (a form of painting tool)

  • A Calculator

THE COOL THINGS you get to learn

The COOL THING (or 'hard' for some people) about it is that it gives a lot of material to read as an assignment. You are sure to be reading a lot of documentation - it can be overwhelming for a beginner, but I dealt with it by taking breaks, watching videos and then coming back again. After a good amount of modules, you kinda end up enjoying reading documentation and appreciating the beauty of it too. You feel like a superhuman who can learn stuff just by reading documentation.

It encourages you to use push projects in GitHub using CLI (command-line interface) and build them in Linux or macOS. Which is something we’ll be doing a lot in future. It gives you the knowledge and prepares you to start from scratch.

It introduces you to tools that make your life as a developer easier. Cheatsheets, roadmaps, and tools like Emmet - make development faster.

The most important thing I learned from the Odin Project is the strength to be consistent. That it’s not a sprint but a marathon and maintaining your pace is important as you can easily burn out and quit. Taking breaks, and celebrating small wins are important to be inspired and to be consistent.

Where am I right now?

I am working my way to the Intermediate HTML and CSS part of it. Designing forms, learning about SVGs and positioning in CSS. And I am starting to write blogs, connect with people and learn about Open-Source.

And remember -

To be great, do good things repeatedly.

Would you like to suggest some corrections to this blog? Or maybe share some good resources for learning? Connect with me on Twitter or LinkedIn!

See you ahead in the future :)