Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
free-programming-resources
Programming Free Resources | This repo collects 232 of free resources for Programming. 🧰 Sharpen your programming skills across multiple languages with our Coder's Toolkit repository! Featuring a comprehensive collection of free programming resources, online courses, and a user-friendly playgroun...
https://github.com/getvmio/free-programming-resources
Last synced: 3 days ago
JSON representation
-
Resources
- Rust Tutorials - on coding through interactive tutorials and master the powerful Rust language. |
- Python Tutorials - line usage, and advanced topics. Includes hands-on exercises and practical examples to reinforce learning. |
- Go Tutorials - oriented programming to become a proficient Go developer. |
- Software Construction - quality, maintainable code through topics like testing, state machines, and concurrent programming. |
- 6.001 Structure and Interpretation of Computer Programs - MIT - picture computing concepts using the Scheme programming language. Students will implement programs in a variety of different programming paradigms (functional, object-oriented, logical). Heavy emphasis on function composition, code-as-data, control abstraction with continuations, and syntactic abstraction through macros. An excellent course if you are looking to build a mental framework on which to hang your programming knowledge. |
- Computer Science - solving over syntax. Unique course for diverse backgrounds. |
- Programming Foundations I - solving skills and algorithmic thinking through hands-on assignments. |
- Object-Oriented Programming - oriented programming, data structures, and more. Suitable for students with prior programming experience. |
- Computer Science I and II for Hackers
- Transition to Python
- Transition to OO Programming - oriented programming concepts using Java. Ideal for students with prior coding experience in other languages seeking to expand their skills. |
- Computational Science and Engineering Using MATLAB GUI
- CS 1112 - on projects and experienced Cornell faculty. |
- Fundamental Programming Concepts - solving skills with this introductory course from Cornell University. |
- Programming Practice Using Scala - based course from KAIST. Build a strong coding foundation and prepare for advanced CS studies. |
- Advanced Programming Paradigms - oriented, functional, and concurrent programming through hands-on experience with C, C++, LISP, and Python. |
- Programming Abstractions
- Programming Methodology - oriented design, decomposition, and testing. |
- CS 61AS: Structure & Interpretation of Computer Programs - paced course from UC Berkeley, using the classic "Structure and Interpretation of Computer Programs" textbook. |
- CS50: Introduction to Computer Science - solving skills, learn fundamental programming concepts, and apply your knowledge in a final project. |
- The Beauty and Joy of Computing - friendly UC Berkeley course. |
- Great Ideas in Theoretical Computer Science
- Programming Paradigms - oriented, network, and functional programming in this comprehensive course at the University of Arkansas. |
- Advanced Functional Programming
- Functional Design and Programming - on experience in practical software development. |
- Advanced Symbolic Programming - algebra, and AI applications with this MIT course. |
- Practical Concurrent & Parallel Programming - memory multicore hardware. Covers basic and advanced concepts, performance, and debugging tools. |
- Discrete Mathematics and Functional Programming
- Compiler Construction
- Programming Languages - imperative programming paradigms and languages like Ruby, Racket, and ML. Gain a comprehensive understanding of programming language fundamentals. |
- Types and Semantics - based approach. |
- Compilers - on projects, and expert instruction from a renowned professor. |
- Scripting Languages
- Network Programming Languages
- Programming Languages
- Purely Functional Data Structures in Elm - on course from the University of Chicago. |
- Programming Languages - built Pyret language. |
- Programming Languages - specific languages at UC Berkeley's CS 164 course. |
- Principles of Programming Languages - oriented, and concurrent programming, through an in-depth analysis of Scheme, Haskell, and Erlang. |
- Introduction to Programming Languages
- Tiny Package Manager: Learns how npm or Yarn works
- Writing a URL Shortening Service
- Learn JavaScript Promises by Building a Promise from Scratch - by-step tutorial to fully understand JavaScript Promises by building a Promise from scratch. Ideal for beginners to intermediate developers. |
- Lets Create a Simple Load Balancer
- Building a Spell-Checker - checker using Clojure programming language, with insights into building efficient and accurate spell-checking algorithms for text processing tasks. |
- Writing a Linux Debugger - level systems programming. |
- How X Window Managers work and how to write one - level details of modern desktop environments. |
- The very basics of a terminal emulator - slave file descriptors, and more. |
- How to Write a Video Player in Less Than 1000 Lines - by-step tutorials and downloadable source code. |
- Designing a Simple Text Editor - based text editor with features like menus, text editing, search and replace functionality. Suitable for beginner and experienced developers. |
- Build Your Own Text Editor - level programming concepts. |
- Building a LISP from scratch with Swift - a rewarding weekend project. |
- Writing a Lisp, the series
- Writing a C Compiler - level computer architecture. Ambitious project to gain valuable insights into computer systems. |
- Build a Little Lisp Interpreter
- The Super Tiny Interpreter - on approach to understanding the inner workings of a programming language interpreter. |
- The Super Tiny Compiler
- Creating JVM Language
- Write You A Scheme
- Write Yourself a Scheme in 48 Hours - on practice within 48 hours. |
- Compiler Design
- A journey explaining how to build a compiler from scratch - on journey to build a compiler from scratch, covering lexical scanning, parsing, operator precedence, and assembly generation. Suitable for beginners and experienced developers. |
- Python for Beginners - depth course. Build real-world projects and automate repetitive tasks. Ideal for complete beginners. |
- Build Your Own Lisp: Learn C and build your own programming language in 1000 lines of code - world project and write beautiful code. |
- Write your own Operating System - on approach. |
- Python Programming From Scratch With Practicals - solving, programming constructs, and fundamental concepts. |
- Python Course From Scratch
- Python Learn Course
- Learn Python For Free
- Learn Java Programming - on exercises and real-world applications. |
- Learn Lua Programming - minute tutorial, perfect for beginners looking to quickly grasp the fundamentals. |
- Java Tutorial for Complete Beginners - by-step guidance. |
- Java Programming - depth with relatable examples. |
- Game Development
- Game Development
- Essential Dart
- Design of Computer Programs - solving, and software engineering practices. |
- CS50's Introduction To Computer Science
- C++ Tutorial for Beginners
- C++ Programming Course - on coding exercises and projects. |
- C++ For Programmers 1 - on experience. Designed for developers with prior programming knowledge. |
- C Programming Tutorial
- C Programming 2021: Master The Basics!
- Scratch Programming Playground
- Learn to Code with Scratch - friendly programming language. Create animations, interactive elements, and your first games and applications with step-by-step guidance. |
- The Rust Programming Language
- Learning Rust Ebook
- Easy Rust
- Using Blocks in Ruby
- Ruby Notes for Professionals
- Ruby Best Practices
- The Python Handbook
- The Python Coding Book
- The Coders Apprentice: Learning Programming with Python 3 - friendly book that covers coding concepts and language basics through hands-on exercises. |
- Python Tutorial
- Python Programming Exercises, Gently Explained - by-step guidance for beginners. |
- Python Programming
- Python Notes for Professionals
- Python 101 - friendly book covering Python 3 from start to finish. |
- Pro Python Advanced coding techniques and tools
- Non-Programmers Tutorial for Python 3 - friendly guide. Covers fundamental concepts, syntax, and practical examples for hands-on learning. |
- Practical Programming in Python - solving. Suitable for beginners and intermediate programmers. |
- Learn Python Programming, Second Edition
- Learn Python in Y minutes - to-understand introduction to the language. Ideal for beginners looking to start coding. |
- Introduction to Python - on coding and practical examples make it easy to start writing Python. |
- Introduction to Programming Using Python - on exercises and examples. |
- Intermediate Python - level Python programming, covering advanced topics and techniques for Python development. Suitable for beginners, intermediate, and advanced programmers. |
- Beyond the Basic Stuff with Python
- Learn Python 3 Programming - on examples, and object-oriented programming. |
- Fundamentals of Python Programming
- Dive Into Python 3
- Building Skills in Python
- Beejs Guide to Python Programming - For Beginners
- A Practical Introduction to Python Programming - on examples and exercises for efficient learning. |
- PHP Handbook
- Perl Notes for Professionals - have resource for Perl developers. |
- Higher-Order Perl - order programming techniques in Perl, covering recursion, callbacks, dispatch tables, caching, memoization, and more. |
- Learn Markdown
- Comprehensive Lua Tutorial
- Notes On Programming in TeX
- Comprehensive Lua Programming
- LaTex Notes for Professionals
- Kotlin Quick Reference
- Julia language: a concise tutorial
- Julia By Example
- The Code Challenge Book - solving techniques and algorithm analysis skills. |
- JavaScript Challenges Book
- Introduction to Programming Using Java (5th Edition - final version, 2010 Jun)
- Object-Oriented Analysis and Design - oriented analysis and design, covering essential concepts, UML, design patterns, and hands-on experience for software developers and engineers. |
- Software Testing
- Mobile Computing - on experience with mobile app development, and insights from experts at IIT Madras. |
- C++ for Java Programmers
- Electrical Engineering & Computer Science I
- UW Madison CS 354 - level programming. Gain in-depth understanding of how computers work at the hardware level. |
- Computational & Software Engineering
- Introduction to Computer Science and Programming in Python
- Structure and Interpretation of Computer Programs - solving skills, and programming paradigms. Suitable for beginners and experienced learners. |
- Introduction to Computational Thinking - world problems with this interactive MIT online course. |
- Java - oriented design principles, and algorithm design with this comprehensive course from UNSW's Richard Buckland. |
- Introduction to Parallel Programming for Scientists & Engineers
- The Haskell Road to Logic, Math and Programming - an excellent resource for beginners and experienced programmers. |
- Modern Fortran Tutorial
- Gradle User Guide - Platform projects. |
- The Little Go Book - friendly guide written by an experienced author. |
- How To Code In Go
- Go Programming
- Go Handbook
- Essentials of Go Programming
- Hands-on Elixir & OTP: Cryptocurrency trading bot
- Expert Delphi
- The Rook's Guide to C++: Beginner's Programming Manual
- Learn C++ Programming Language
- Fundamentals of C++ Programming
- The New C Standard - An Economic and Cultural commentary (2009)
- The C Programming Language Handbook
- The C Book
- The Basics of C Programming
- Essential C
- C Notes for Professionals
- Beejs Guide to C Programming - friendly guide to learning C programming, covering fundamentals, best practices, and efficient coding techniques. |
- Conquer The Command Line - on experience and practical examples. |
- Web API Design
- Code Simplicity: The Fundamentals of Software
- Solr for newbies workshop (2019) - on tutorial on Solr, a popular open-source search platform, suitable for beginners looking to get started with Solr's core concepts and functionality. |
- Structure and Interpretation of Computer Programs 246
- UNIX Application and System Programming, lecture notes
- The Art of Unix Programming
- OOP _ Learn Object Oriented Thinking and Programming - oriented programming with this comprehensive guide by experienced author Rudolf Pecinovský. Includes detailed concepts, practical examples, and downloadable PDF. |
- Object Oriented Programming - Oriented Programming with this comprehensive course, covering key concepts like encapsulation, inheritance, and polymorphism. |
- Networking! ACK! - style format. Suitable for beginners and experienced programmers. |
- Kafka: The Definitive Guide - time processing applications. Authored by industry expert Neha Narkhede. |
- Foundations of Programming
- Beejs Guide to Network Programming - Using Internet Sockets - depth coverage and practical examples. |
- Pointers And Memory
- The Craft of Text Editing or A Cookbook for an Emacs
- Comprehensive Guide to GNU Emacs
- CI/CD for Monorepos: Effectively building, testing, and deploying code with monorepos - based projects. |
- Let's Build a Compiler
- Introduction to Compilers and Language Design - on experience in building a complete compiler. |
- EXPL NITC: Build your own Compiler - on experience in programming languages and compiler construction. |
- Matters Computational: Ideas, Algorithms, Source Code
- CS50 Labs
- Python Tutorial For Beginners
- Learn Python Basics - friendly language. Explore its readability, versatility, and robust community support. |
- C++ Language Tutorial
- Programming, Data Structures & Algorithms - solving skills. |
- Data Structures - solving techniques. Ideal for software engineers, computer scientists, and data professionals. |
- Introduction to Computer Graphics - on projects and experienced faculty from IIT Delhi. |
- Software Engineering - oriented programming, best practices, development paradigms, and design patterns. Ideal for students and professionals seeking a solid foundation in building maintainable and reusable software. |
- Software Architecture Design
- Multiprocessor Synchronization
- Developing iPad Apps for Data Visualization - driven iPad apps that communicate insights and drive decision-making. Developed by experienced instructors at Carnegie Mellon University. |
- Software Engineering - on project experience and exposure to industry best practices. |
- The Beauty and Joy of Computing - majors. |
- Android Development - on experience, expert instruction, and university-level learning. |
- Object-Oriented Software Engineering - oriented software engineering principles, techniques, and methodologies. Practical, hands-on approach taught by renowned expert Dr. Tim Lethbridge. |
- Intro to Computing - on activities and team-based learning. |
- Software Engineering - oriented programming, source control, and design patterns. |
- Building Mobile Apps - on experience with popular frameworks and tools. Create innovative mobile applications. |
- Introduction to Programming with R - world data, and create visualizations. |
- CS50's Understanding Technology
- System Analysis and Design
- Software Engineering
- Introduction to Problem Solving and Programming - solving, data types, control structures, functions, and object-oriented programming. Suitable for beginners with no prior experience. |
- Introduction to Programming in C - solving skills. |
- Programming in C++ - on projects to develop proficient programming skills. |
- Parallel Computing Course - on exercises and practical applications. |
- Introduction to Programming with Arcade Games
- Standard C++ Programming - on assignments. |
- Programming Abstractions in C++ - oriented programming. Taught by experienced instructors at Stanford University. |
- Developing Applications for iOS - on projects, and expert instruction. |
- Android App Development for Beginners
- Android Application Development Tutorials
- Introduction to Functional Programming
- Structure & Interpretation of Computer Programs
- Software Engineering - on projects and case studies for building high-quality software systems. |
- Software Engineering - on projects and industry-standard tools. |
- CS 101
- Software Testing - Udacity - to-end testing. Learn test-driven development and automated testing with JUnit and Selenium. |
- Software Debugging - Udacity
- Software Architecture & Design
- Developing Android Apps
- Advanced Android App Development - rich mobile apps. |
- Systematic Program Design
- Android Mobile App Development - on projects, expert insights, and a solid foundation in Android development. |
- Introduction to Service Design - centric services through this introductory course on service design and engineering from the University of Trento, Italy. |
- Concurrency
- Parallel Computation
- Manycore Parallel Algorithms - depth course on algorithm techniques for programming massively parallel processors, especially GPUs, taught by renowned expert Wen-mei Hwu. |
- Applied Parallel Programming - on course covering parallel hardware, programming models, and algorithm design. |
- How to Build Robots and Make Them Move - on robotics course from the University of Michigan. |
- CS1 - world examples and hands-on projects. |
-
More
- Free JavaScript Resources
- Free HTML Resources
- Free R Resources
- Free Java Resources
- Free Neural Networks Resources
- Free Natural Language Processing Resources
- Free Computer Science Resources
- Free React Resources
- Free Security Resources
- Free Node.js Resources
- Free PyTorch Resources
- Free Computer Architecture Resources
- Free Functional Programming Resources
- Free Operating System Resources
- Free Cryptography Resources
- Free Compiler Resources
- Free Blockchain Resources
- Free SQL Resources
- Free Python Resources
- Free Unix Resources
- Free Object-Oriented Programming Resources
- Free CSS Resources
- Free Machine Learning Resources
- Free Web Development Resources
- Free Shell Scripting Resources
- Free Rust Resources
- Free Haskell Resources
- Free Software Development Resources
- Free Data Science Resources
- Free Git Resources
- Free Networking Resources
- Free Game Development Resources
- Free TensorFlow Resources
- Free Distributed Systems Resources
- Free Embedded Systems Resources
- Free DevOps Resources
- Free Docker Resources
- Free Robotics Resources
- Free Computer Vision Resources
- Free Deep Learning Resources
- Free Cloud Computing Resources
- Free Go Resources
- Free Data Structures Resources
- Free Control Systems Resources
- Free Artificial Intelligence Resources
- Free Data Analysis Resources
- Free Ruby Resources
- Free C++ Resources
- Free Bash Resources
- Free Cybersecurity Resources
- Free Algorithm Resources
- Free Database Resources
- Free C Resources
- Free Version Control Resources
- Free Linux Resources
- Free Computer Graphics Resources
Categories
Sub Categories
Keywords
awesome-list
56
free-resources
56
getvm
56
playground
56
programming
56
operating-system
1
cryptography
1
compiler
1
blockchain
1
sql
1
python
1
unix
1
object-oriented-programming
1
css
1
machine-learning
1
web-development
1
shell-scripting
1
rust
1
functional-programming
1
computer-architecture
1
pytorch
1
node-js
1
security
1
react
1
computer-science
1
natural-language-processing
1
neural-networks
1
java
1
r
1
html
1
computer-graphics
1
linux
1
version-control
1
c
1
database
1
algorithm
1
cybersecurity
1
bash
1
cpp
1
ruby
1
data-analysis
1
artificial-intelligence
1
control-systems
1
data-structures
1
go
1
cloud-computing
1
deep-learning
1
computer-vision
1
robotics
1
docker
1