Resources to start coding, from 0 to 1 for beginners

2 min read

Crash Course Computer Science

CS50, Harvard University’s introduction to computer science and the art of programming

step 0, web

step 1, first language

Learn 1 language by following an online interactive tutorial. Python is a good first choice because it is readable

codecademy python

https://www.learnpython.org/

Python summary

step 2, fundamentals

read this great fundamental algorithms book, grokking algorithms

step 3, SQL

interactive SQL lessons

sql - How to implement one-to-one, one-to-many and many-to-many relationships while designing tables? - Stack Overflow

step 4, terminal

learn basic terminal commands

ls, cd, mv, top, mkdir, touch, cat, sort, grep, rm

step 5, git

learn basics of git

add, commit, push, pull request

step 6, algorithm practice

Solve top-100 liked questions, easy collection

https://leetcode.com/problemset/top-100-liked-questions/?difficulty=Easy

step 7, paradigms

read on programming paradigms

procedural, imperative, declerative, object oriented,functional

next

learn basics of

  1. operating systems

  2. databases

  3. networking

  4. security

  5. interpreters

  6. compilers

  7. machine learning

  8. robotics

  9. blockchain

  10. distributed systems

  11. system design

other sources

mtdvio/every-programmer-should-know: A collection of (mostly) technical things every software developer should know

jwasham/coding-interview-university: A complete computer science study plan to become a software engineer.

braydie/HowToBeAProgrammer: A guide on how to be a Programmer - originally published by Robert L Read

data structures

Data Structures for Coding Interviews: Computer Science in Plain English - Interview Cake

InterviewMap - DataStruct

code

Foundations - Google Tech Dev Guide

Google Developers Training - Google Developers

system-design

how to design large-scale systems

What’s in a Production Web Application? · Stephen Mann

crypto

An intensive introduction to Cryptography

ml

Foundations of Machine Learning

May 29, 2020