Skip to content

Links to what I consider the best resources to learn coding for solid fundamentals. There are some for some for ease of understanding for beginners, some for fast upskill for professionals and others for comprehensive learning goals.

Notifications You must be signed in to change notification settings

salemandreus/UpskillLinks

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 

Repository files navigation

Resource Links to Learn Software Development

These are the best learning resources I've found to date.

Selection criteria - resource has at least one of the following aspects: Either:

  • For absolute beginners: - ease of understanding/accessibility
  • For professionals - fast upskill in a section
  • For growing junior and intermediate developers - comprehensive learning.

Also:

  • Prioritising free resources.
  • Aiming for multiple formats for learning (video, tutorial, etc).
  • Simple explanations with demonstrations (for written formats: this means readability and use of examples).

See review notes for brief summary of the teaching methodologies.


Computer Science:

Video Courses:

  • Crash Course Computer Science

    Youtube Playlist

    Crash Course aims to be easy and accessible way to learn fast - they even use cute animations and story examples to illustrate tricky concepts. Often a great starting point for understanding contexts before you get more specific. It's also good material to fill basic foundational knowledge gaps.


    Format: Youtube video course

    Availability: Free


Books:

  • Code Complete, Second Edition

    Book Link

    Considered the "Bible" of software development- despite this book being published in 2004 the principles and practices are still considered highly relevant fundamentals of the industry today. It is comprehensive but written in a humorously relatable and easy to understand format.


    Format: Book

    Availability: Free 1 week trial in Oreily link


Web Development:

How-To Resource Lists:

  • How I Learned Front-end Web Development for Free in Five Days

    Article

    A useful list of guides the author employed to learn the different aspects of front-end web development in 5 days.


    Format: How-To Resource Lists

    Availability: Free


Video Courses:

  • jQuery Tutorial for Beginners at LearnCode.academy

    Youtube Playlist

    Learn Jquery really fast, easy to follow.


    Format: Youtube video course

    Availability: Free


Javascript

  • Learn to Program in Javascript: Beginner to Pro
    Udemy Course
    Useful as it goes sufficiently in-depth on a lot of foundational concepts like the differences between programming languages. Also has a quiz after many of the lessons so you can test yourself.

    Important Notes: this course was created in 2014 so it pre-dates the release of ES6. Therefore it doesn't incorporate some important changes like now-recommended block-level let and const variables (it uses the unrecommended var), promises and ES8's introduction of async/await.

    However I STRONGLY recommend you do this course FIRST (it's only 4 1/2 hours) before tackling a brief 1-2 hour refresher course on ES 6-8 improvements on Javascript, and simply put a pin in this fact while you do this course. This is one of those crawl-before-you-can-walk scenarios as Javascript is quite unique among programming languages. From my own struggles with Javascript I found it necessary to go back to the basics of Javascript first in order to appreciate the changes and the contexts in which they were made.

    Explaining this important context for Javascript and specifically how it differs from other languages is something this course does excellently, and thus lays crucially important foundations for understanding. You can then easily build apon these with the updated syntax when you understand what is going on under the hood, how Javascript works and WHY these additions were needed.

    Remember, despite tech being a fast-changing industry, when it comes to understanding foundations and fundamentals, the most recent resources may not always be the best, (which is why Code Complete (Second Edition) is still widely considered one of the most crucially important resources of learning proper software development, despite it being written in 2004.)


    Format: Udemy video course

    Duration: 4 1/2 hours

    Availability: Free


Artificial Intelligence:

Video Courses:

  • Crash Course Artificial Intelligence

    Youtube Playlist

    Crash Course aims to be easy and accessible way to learn fast - they even use cute animations and story examples to illustrate tricky concepts. Often a great starting point for understanding contexts before you get more specific. It's also good material to fill basic foundational knowledge gaps.


    Format: Youtube video course

    Availability: Free

  • Machine Learning Andrew Ng Courses

    Youtube Playlist

    Goes in-depth and quite technical for when you want to start digging into machine learning. I was able to follow the [free] Introduction to Machine Learning course - it is quite mathematical - managing with a high school mathematics level understanding though it might take some repetition. Has quizzes to test yourself after lectures and soft "deadline" weekly submissions.


    Format: Youtube/Coursera Video courses with quizzes and weekly submissions

    Availability: Free/Paid


Video Game Development:

Video Courses:

  • Make Unity Games with Brackeys

    Youtube Playlist

    Learn fast - start from their basic Make A Game course, easy to understand, goes step by step. Gets more in depth with specific topic courses as well eg FPS, 2D Platformer, C# game development, etc building up to advanced.


    Format: Youtube video course

    Availability: Free


Python

Books:

  • Automate the Boring Stuff with Python

    Free Book

    Easy to understand introduction for programmers and non-programmers alike.
    Going through the book helps ensure you have a solid grasp of fundamentals. This book is highly recommended for foundational knowledge.


    Format: Book

    Availability: Free

    Also Available: in a Udemy course (see below).


Video Courses:

  • Automate the Boring Stuff with Python Programming

    A Udemy video Course based off the books. This is unfortunately not free, but Udemy do have frequent discount sales to look out for.

    Easy to understand, follows the book pretty closely. For programmers and non-programmers. Going through the course helps ensure you have a solid grasp of fundamentals. Recommended for foundational knowledge particularly if you find video an easier medium than books for learning.


    Format: Udemy video course

    Availability: Paid (often discounted)

    Duration: 9.5h


Django:

Starting Out With Django:

  • This Free Udemy Course **'Try Django 2.2 - Web Development with Python 3.6+' is very clear for beginners and easy to follow, and you get to build a fun blog site in the process! I found there wasn't much difference at all using Django 4.2.7 and Python 3.12, so the course, which seems to have been created in 2019, has aged well! You can find it here


    Format: Udemy Course

    Availability: Free


  • The Official Django docs and Django tutorial are great and very beginner-friendly! The Django site has all different levels of explanation, from a quick start to a tutorial to topic explanations to more in-depth and detailed documentation. They have links to the different section and an explanation of each here.


    Format: Official Docs - But very user-friendly!

    Availability: Free


Getting Production-Ready:

When you get comfortable enough with Django that you want to set up a production-ready (ie live) site you'll want to take a look at these:

  • Setting up a Postgres DB as your Django DB: See this guide.


    Format: Online Guide

    Availability: Free


  • Setting up Environment variables in Django: so you don't commit sensitive data! Here's a handy explainer article.


    Format: Short Article/Guide

    Availability: Free

    Note: Templates Available Here: I made a Django settings.py example showing a configuration for PostgresSQL DB and the integration of environment variables. You can find it in the Django folder in this repo.


    Format: Github Code Repo

    Availability: Free


Cloud and DevSecOps/DevOps

Basic Cloud Fundamentals:

For Complete Beginners:

  • Oracle Cloud Infrastructure- Part 1 ( Fundamentals of Cloud) - This course describes IAAS, PAAS, SAAS and compares Oracle vs AWS basic concepts at a complete beginner level. It's therefore useful even if you're not planning to use Oracle or AWS but just want to understand Cloud at a high level.


    Format: Udemy video course

    Availability: Free

    Duration: 1.5h

About

Links to what I consider the best resources to learn coding for solid fundamentals. There are some for some for ease of understanding for beginners, some for fast upskill for professionals and others for comprehensive learning goals.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published