Best Free Online Resources: Coding Edition
As computer coding has become a more popular career choice and hobby, there are a growing number of free online resources available to help you learn to code. Whether you’re a beginner or an expert, these resources can help you build your engineering skills and knowledge. We’ve grouped these resources into 3 categories:
Learning to Code
Support Resources
Coding Environment
Job Preparation
Learning to Code:
There are a ton of websites that will teach you to code for free. There doesn’t seem to be a huge difference in the quality of each of these programs, so we strongly recommend just picking one and sticking with it.
Codecademy – Codecademy offers free coding classes for a wide range of languages, including HTML/CSS, JavaScript, Python, and much more. Not only do you get to learn the language, but you’re also given assignments and projects to further your understanding of the language.
Free Code Camp – Free Code Camp is a great resource for those looking to learn coding for free. Not only do they offer tutorials for HTML/CSS, JavaScript, Python, and more, but they also provide a coding bootcamp with hands-on projects that you can use to build your coding portfolio
Sololearn - Sololearn is an app-based learning platform for coding. It offers courses for HTML/CSS, JavaScript, Python, and much more. With their interactive coding challenge mode, you can practice your skills and even compete with other coders.
Code.org – Code.org is an awesome resource for those looking to learn coding. Not only do they offer tutorials for a variety of languages, but they also have fun coding challenges and videos to help you learn
Khan Academy, Coursera, Udemy, edX - each of these online course providers has tons of free content to help students learn to code. If you are more familiar with these platforms, there’s no reason you can’t use these to supplement your learning!
Support Resources:
These are just a few of the countless free support resources available; when you (inevitably) Google a coding-related question, one of these websites is sure to pop up:
W3Schools – W3Schools is a great resource for beginners who want to learn more about basic coding concepts. It offers tutorials for HTML/CSS, JavaScript, PHP, SQL, and many other languages
Stack Overflow – Stack Overflow is a great resource for anyone looking to ask coding questions. It’s a great way to source help from the coding community and learn about specific topics.
Coding Environment
There are several free resources that you can use to set up a coding environment:
Text Editor: A text editor is the primary tool you will use for writing code. There are many free options available, such as Sublime Text and Visual Studio Code. These text editors provide features such as syntax highlighting, code completion, and debugging tools that can help make coding easier and more efficient.
Compiler or Interpreter: A compiler or interpreter is needed to convert your code into a format that can be run on a computer. Popular free compilers include GCC (for C and C++) and Clang (for C, C++, and Objective-C). Popular free interpreters include Python and Ruby.
Debugging tools: Some programming languages come with built-in debugging tools and many text editors also have built-in debugging tools which you can use. For example, GDB (GNU Debugger) is a popular free debugging tool for C and C++. Once you decide which languages you want to work in, you should do a bit of research to find the best debugging tool for your situation (if it’s not already built into your text editor).
Version Control: Git is a popular version control system that can help you keep track of changes to your code over time. You can manage your Git repositories on GitHub, which is a great resource for developers who want to collaborate on projects. You can find many open-source projects, or even create your own.
Development Frameworks: Some languages such as Python or Ruby have frameworks or libraries to aid in the development process, such as Flask or Ruby on Rails. These frameworks can be downloaded and installed on your computer for free. Once you know the languages you will be working in, try doing some research on popular frameworks or libraries that may be worth adding!
Job Preparation:
Here are some resources that might be helpful for preparing for software engineering jobs and interviews.
LeetCode: This website offers a wide variety of coding challenges that you can use to improve your problem-solving skills and practice for technical interviews.
HackerRank: Similar to LeetCode, HackerRank provides coding challenges and competitions to help you prepare for technical interviews.
CodeSignal: CodeSignal provides coding challenges, assessments, and an "Interview Practice" feature designed to help you prepare for technical interviews.
"Cracking the Coding Interview": No, this is not an online resource and it is not free, but it is a book that many people read to help them get smart on coding interviews. This book was written by Gayle Laakmann McDowell and provides a comprehensive guide to preparing for technical interviews, including problems and solutions.
"Algorithm Design Manual": This book was written by Steven Skiena that provides a comprehensive guide to design, analysis and algorithms that can be used to prepare for the technical portion of software engineering job interviews.
It's important to note that this is not an exhaustive list, and there are many other quality resources and platforms that can help you deepen your knowledge and skills. Don’t be afraid to do a little research before getting started, and once you’ve begun your coding journey, keep learning and practicing throughout your career in order to stay up-to-date with the latest technologies and trends.
If you found this helpful, sign up for our email list at the bottom of this page to receive more helpful tips like these!