How I Got Started Coding for Free
Introduction
I didn't know much about computers and even less about coding, I didn't think it was something I could learn. I had very little exposure to computers growing up and didn't have much interest in them. But, that was all to change!
This post is about how I got started. All resources are available for free!
Where I Started
My coding journey began when I stumbled upon freeCodeCamp after hearing Temple Grandin mention it in a YouTube talk. This marked the inception of my programming odyssey. I diligently worked through most of the freeCodeCamp curriculum. Later on, I discovered another valuable resource, The Odin Project, and embarked on a journey through their full-stack JavaScript path (it allows you to choose a learning path as you progress).
To expand my knowledge, I delved into blockchain technology with the Web3 with JavaScript 32hr course and acquired essential computer science fundamentals through CS50 Intro to Computer Science.
To learn a bit more about using the terminal, I explored Bash and bash scripting through a variety of videos and online resources. I found valuable exercises and challenges on HackerRank, a platform that also enables practice in other coding languages and tools.
In addition, I set up XAMPP, an open-source web server solution stack developed by Apache, which provides an environment for PHP and SQL development. I was introduced to PHP and SQL through the guidance of educators like Dr. Chuck and Traversy Media.
To continue with python, I installed Anaconda, a Python package management environment that comes equipped with Jupyter Notebook, a widely-used tool in the fields of data analysis and machine learning.
Where Should You Start?
If you're eager to dive into writing code immediately, I recommend beginning your journey with the initial two modules available on freeCodeCamp. You have the flexibility to tackle these modules in the order that suits your preferences. The first module delves into HTML & CSS, essential for webpage structure and design. The second module focuses on JavaScript, which is more of a "real" programming language and will teach you coding fundamentals that are more tranferable to other programming languages.
The Odin Project is good if you don't mind going through all the setup first before getting to writing any code. But, once setup you'll have your very own environment to work in. This makes writing code alot easier and more fun.
W3schools and MDN Web Docs are a couple of helpful reference sites.
FreeCodeCamp
FreeCodeCamp is a good way to get started because you don't need to download or install anything, its all done in the browser.
FreeCodeCamp mostly teaches about web development but also has some Python and data analyses sections. It goes through the basics of HTML, CSS and JavaScript step by step with interactive exercises. The later sections teach you about some backend stuff using a framework called Express.
I was a little overwhelmed in places but the first two modules are great for getting started.
The Odin Project
The Odin Project had a profound impact on my coding journey. Unlike freeCodeCamp, which utilizes browser-based coding environments, The Odin Project goes straight into guiding you through setting up your own local coding environment. This process involves installing several things and they strongly suggest using Ubuntu, an open-source Linux operating system. While this might seem daunting, they provide step-by-step assistance, which worked out fine for me.
The program's structure involves reading through lessons, which often include numerous external links for additional reading, followed by the application of the newly acquired knowledge in project building.
CS50 Intro to Computer Science
CS50 Intro to Computer Science is available to study for free. I think I did it through the edEx site. I learnt alot about computer fundamentals from this course.
Resources
There are loads of resources available online, these are some of the ones I used to get started:
- freeCodeCamp
- The Odin Project
- W3schools
- MDN
- CS50 Intro to Computer Science
- Dr Chuck courses
- Kaggle: machine learning
- Hackerrank: exercises and challenges
- Web3/blockchain with JavaScript 32hr video course
YouTube Channels