Resource Collection
Programming Languages & Development Resources
Curated programming resources ranked from foundational computer science courses to language-specific tutorials and references.
Foundational Computer Science & Programming (Start Here)
These resources teach core programming fundamentals and computer science concepts before focusing on specific languages.
-
CS50: Introduction to Computer Science – Harvard
Site: edX (free)
One of the most respected CS intro courses. Covers C, Python, SQL, JavaScript, algorithms, data structures, and computer systems. -
Code in Place – Stanford
Site: Stanford
Free version of Stanford’s CS106A course teaching core programming concepts with guided instruction. -
Introduction to Programming – MIT OCW
Site: MIT OpenCourseWare
Introductory programming curriculum covering problem solving and software design. -
Programming Languages, Part A – University of Washington
Site: Coursera (audit)
Explains programming paradigms, functional programming, type systems, and language design. -
Structure and Interpretation of Computer Programs (SICP)
Site: MIT OCW
Classic computer science course teaching deep programming concepts using Scheme. -
How to Think Like a Computer Scientist
Site: Interactive Python
Beginner-friendly book teaching computational thinking and algorithmic problem solving.
Systems Programming (C / C++)
These languages are fundamental for operating systems, compilers, embedded systems, and performance-critical software.
C Programming
-
C for Everyone: Programming Fundamentals – UC Santa Cruz
Site: Coursera (audit)
Comprehensive C programming course covering pointers, arrays, and memory management. -
Learn C – freeCodeCamp
Site: freeCodeCamp
Beginner tutorial covering C fundamentals and memory concepts. -
Beej’s Guide to C Programming
Site: Beej’s Guide
Classic guide explaining C programming with focus on low-level details.
C++
-
Learn C++ – Codecademy
Site: Codecademy (free course)
Interactive course covering classes, OOP, and the C++ standard library. -
LearnCpp.com C++ Tutorial
Site: LearnCpp
One of the most comprehensive tutorials covering modern C++. -
Modern C++ Tutorial
Site: changkun.de
Covers modern C++ features including C++11–C++20.
Python
Python is widely used for automation, data science, AI, scripting, and backend development.
-
Programming for Everybody (Python) – University of Michigan
Site: Coursera (audit)
Canonical beginner Python course covering syntax and data structures. -
MIT 6.0001 Introduction to Computer Science (Python)
Site: MIT OCW
Full semester Python programming course with assignments and exams. -
Crash Course on Python – Google
Site: Coursera (audit)
Practical Python for automation, scripting, and file processing. -
Python for Data Science, AI & Development – IBM
Site: Coursera (audit)
Python focused on data science libraries and APIs. -
Learn Python 3 – Codecademy
Site: Codecademy
Interactive Python programming exercises.
Python References
-
Automate the Boring Stuff with Python
Free online book teaching real-world automation tasks. -
Official Python Tutorial
Official documentation explaining Python language features. -
Real Python Tutorials
Extensive tutorials covering intermediate Python topics.
JavaScript
JavaScript powers modern web applications, browsers, and Node.js backend services.
-
JavaScript Algorithms and Data Structures – freeCodeCamp
Complete curriculum covering JavaScript fundamentals and algorithms. -
Programming with JavaScript – Meta
Site: Coursera
Modern JavaScript including ES6, async programming, and DOM manipulation.
JavaScript Books & References
-
Eloquent JavaScript
Free online book explaining JavaScript fundamentals and advanced concepts. -
You Don’t Know JS (Book Series)
Deep dive into closures, scope, asynchronous programming, and language mechanics. -
JavaScript.info
Complete JavaScript tutorial from beginner to advanced. -
MDN Web Docs – JavaScript
Official JavaScript documentation and tutorials.
Java
Java remains widely used for enterprise systems, Android apps, and backend services.
-
Computer Science: Programming with a Purpose – Princeton
Rigorous Java introduction emphasizing algorithms and data structures. -
Java Programming and Software Engineering Fundamentals – Duke University
Multi-course specialization covering object-oriented programming and software engineering. -
Introduction to Programming in Java – MIT OCW
MIT course introducing Java programming fundamentals.
Java References
-
Oracle Java Tutorials
Official Java documentation covering the entire platform. -
Core Java Volume I/II (Free Sample Chapters)
Classic Java textbooks explaining advanced language features. -
Java Programming Notes – IIT Kharagpur (NPTEL)
Full lecture series covering core Java programming.
Web Technologies (HTML / CSS / Frontend)
These resources teach modern web development fundamentals.
-
Responsive Web Design – freeCodeCamp
Complete HTML and CSS curriculum through real projects. -
HTML & CSS Courses – Codecademy
Interactive frontend development learning path.
Web Development References
-
MDN Web Docs – HTML/CSS
Comprehensive documentation and tutorials. -
CSS Tricks Guides
Deep guides on Flexbox, Grid, responsive layout, and animations. -
Frontend Development Full Course – freeCodeCamp
Long-form video course covering HTML, CSS, JavaScript, and React.
Data & Data Science Languages (SQL / R)
Used heavily in analytics, machine learning, and data engineering.
-
SQL for Data Science – UC Davis
Covers relational databases, joins, and data queries. -
SQL Tutorial – Mode Analytics
Interactive SQL exercises using real datasets.
R Programming
-
The R Programming Starter Course – Microsoft
Introduction to R for statistical computing. -
R for Data Science
Popular book teaching data analysis using the tidyverse ecosystem.
Systems & Modern Languages (Go / Rust)
Modern languages designed for systems programming, distributed systems, and performance.
Go
-
Learn Go – Official Tour
Interactive tutorial covering Go syntax and concurrency. -
A Tour of Go
Comprehensive guide to Go programming concepts.
Rust
-
The Rust Programming Language Book
Official Rust documentation explaining ownership, borrowing, and memory safety. -
Rustlings
Interactive Rust exercises designed for learning by practice.
Multi-Language Learning Platforms
-
Codecademy Programming Courses
Interactive courses for Python, JavaScript, C++, SQL, and web development. -
freeCodeCamp Curriculum
Large open-source programming curriculum covering web development, algorithms, and APIs.