๐ ๏ธ Build the tools that build our software with the Compiler Construction Kit! This repository houses comprehensive resources on compiler design and implementation. Featuring free courses and an interactive online playground, it's perfect for those diving deep into the heart of programming languages.
Index | Name | Category | Description |
---|---|---|---|
1 | Introduction to Compilers | University Courses | Comprehensive coverage of modern compiler design and implementation, hands-on experience building a working compiler for an object-oriented language, and exposure to cutting-edge compiler optimization techniques. |
2 | Programming Languages & Compilers | University Courses | Explore functional programming and programming language design with this in-depth course using OCaml at the University of Illinois, Urbana-Champaign. |
3 | Compiler Construction | University Courses | Explore the practical and theoretical aspects of compiler construction in Stanford's CS143 course. Hands-on assignments, online discussions, and valuable insights for computer science students. |
4 | Compiler Design Principles | University Courses | Learn the fundamental principles of compiler design through a practical, hands-on approach to building a compiler in the OCaml programming language. |
5 | Markdown compiler from scratch in Ruby | Technical Tutorials | Learn how to build a Markdown compiler from scratch in Ruby, covering tokenization, parsing, and code generation. Gain skills for building programming languages, parsers, and more. |
6 | Writing a Lisp, the series | Technical Tutorials | Comprehensive guide to building your own Lisp programming language, covering fundamental concepts and practical implementation details. |
7 | Writing a C Compiler | Technical Tutorials | Comprehensive guide to writing a C compiler, covering topics like abstract syntax trees, assembly, and low-level computer architecture. Ambitious project to gain valuable insights into computer systems. |
8 | The Super Tiny Interpreter | Technical Tutorials | Build a super tiny interpreter for programming languages and learn about closures. A hands-on approach to understanding the inner workings of a programming language interpreter. |
9 | The Super Tiny Compiler | Technical Tutorials | Dive into programming languages, compilers, and build a super tiny compiler from scratch with this comprehensive guide. |
10 | Compiler Design | Technical Tutorials | Comprehensive guide to understanding compiler design and implementation, covering lexing, parsing, optimization, and code generation. Practical techniques for building compilers from scratch. |
11 | A journey explaining how to build a compiler from scratch | Technical Tutorials | Embark on a hands-on journey to build a compiler from scratch, covering lexical scanning, parsing, operator precedence, and assembly generation. Suitable for beginners and experienced developers. |
12 | Project Oberon: The Design of an Operating System, a Compiler, and a Computer | Technical Tutorials | Comprehensive guide to the design and implementation of an operating system, a compiler, and a computer from renowned computer scientists Niklaus Wirth and Jรผrg Gutknecht. |
13 | Basic Computer Architecture | Technical Tutorials | Explore the fundamental concepts of computer architecture with this comprehensive book, now available under a Creative Commons license. |
14 | Let's Build a Compiler | Technical Tutorials | Comprehensive guide to understanding and building compilers, covering parsing, code generation, and language implementation. Practical insights for beginners and experienced programmers. |
15 | Introduction to Compilers and Language Design | Technical Tutorials | Comprehensive course on compiler design principles and techniques, including scanning, parsing, semantic analysis, code generation, and optimization. Hands-on experience in building a complete compiler. |
16 | EXPL NITC: Build your own Compiler | Technical Tutorials | Dive into the practical development of a compiler with the EXPL NITC: Build Your Own Compiler book. Gain hands-on experience in programming languages and compiler construction. |
17 | Crafting Interpreters | Technical Tutorials | Comprehensive guide to designing and implementing programming language interpreters, covering scanning, parsing, evaluating expressions, and more. |
18 | Compiler Design: Theory, Tools, and Examples, Java Edition | Technical Tutorials | Comprehensive guide to compiler design theory and tools, with practical Java examples. Covers lexical analysis, parsing, code generation, and optimization. |
19 | Compiler Design: Theory, Tools, and Examples, C/C++ Edition | Technical Tutorials | Comprehensive course on compiler design, covering theory, tools, and practical C/C++ examples. Explore lexical analysis, syntax analysis, and code generation. |
20 | Compiler Design in C (1990) | Technical Tutorials | Comprehensive guide to understanding and implementing compilers using the C programming language. Covers fundamental concepts, syntax analysis, code generation, and optimization. |
21 | Category Theory for Programmers | University Courses | Explore the connections between category theory and functional programming with this comprehensive course by Bartosz Milewski. Dive into concepts like monads, comonads, and enriched categories. |
22 | CS Theory Toolkit | University Courses | Comprehensive overview of computer science theory concepts and techniques, presented by renowned CMU professors. Suitable for students, researchers, and professionals. |
23 | Undergrad Complexity Theory at CMU | University Courses | Dive into the fundamentals of computational complexity theory with this comprehensive undergraduate course from Carnegie Mellon University. |
24 | Graduate Complexity Theory | University Courses | Explore cutting-edge research in computational complexity theory at Carnegie Mellon University, a leading institution in computer science. |
25 | Great Ideas in Theoretical Computer Science | University Courses | Explore the fundamental concepts and techniques that have shaped modern computer science with this in-depth course from Carnegie Mellon University. |
26 | Analysis of Boolean Functions | University Courses | Explore the analysis of Boolean functions at Carnegie Mellon University. Dive deep into the theoretical and practical aspects of this crucial area of study. |
27 | Extremal Combinatorics | University Courses | Dive into the advanced topics of extremal combinatorics with this engaging PhD-level course taught by expert Professor Po-Shen Loh at Carnegie Mellon University. |
28 | Advanced Compilers: The Self-Guided Online Course | University Courses | Comprehensive coverage of advanced compiler topics, hands-on implementation tasks, and open-source course materials for programming language implementation enthusiasts. |
29 | Automata Theory | University Courses | Explore the foundations of computer science with this comprehensive course on automata theory, taught by renowned professor Jeffrey Ullman on Coursera. |
30 | Principles of Reactive Programming | University Courses | Learn the principles of reactive programming, gain hands-on experience with Scala, and build scalable and responsive applications with the Reactive Streams standard. |
31 | Compiler Design | University Courses | Comprehensive Compiler Design course from IISC Bangalore covers core principles, hands-on experience, and advanced topics like optimization and parallelism. |
32 | Principles of Compiler Design | University Courses | Comprehensive course on compiler design principles and techniques, including lexical analysis, parsing, semantic analysis, code generation, and optimization. Taught by experienced faculty from the Indian Institute of Science (IISc), Bangalore. |
33 | Principles of Programming Languages | University Courses | Comprehensive understanding of programming language principles, paradigms, design, and implementation. Suitable for students and professionals interested in programming language theory and development. |
34 | Logic for CS | University Courses | Comprehensive introduction to the fundamentals of logic, a crucial aspect of computer science. Covers propositional logic, predicate logic, and their applications. |
35 | Compiler Design | University Courses | Comprehensive course on compiler design from IIT Kanpur, covering lexical analysis, parsing, code generation, and optimization. Ideal for computer science and software engineering students. |
36 | Theory of Computation | University Courses | Comprehensive introduction to the fundamental concepts and models of computation, including finite automata, regular languages, context-free grammars, and Turing machines. |
37 | Functional Programming in Haskell | University Courses | Comprehensive course on functional programming principles and Haskell, taught by experienced faculty from IIT Madras. Hands-on exercises and certification available. |
38 | Theory of Automata, Formal Languages and Computation | University Courses | Comprehensive introduction to the theory of automata, formal languages, and computation. Earn a certificate from IIT Madras. |
39 | Automata, Computability, and Complexity | University Courses | Explore the theoretical foundations of computer science, the limits of computation, and advanced problem-solving techniques with this essential MIT course. |
40 | Theory of Computation | University Courses | Explore the theoretical foundations of computer science with this comprehensive course on regular languages, finite state machines, context-free grammars, and Turing machines. |
41 | Compiler Design | University Courses | Comprehensive course on compiler design principles and techniques, taught by an experienced professor from IIT Delhi. Covers lexical analysis, parsing, type checking, code generation, and optimization. |
42 | Compilers | University Courses | Dive into the fundamentals of compiler design with this free online course from Stanford University. Gain a solid understanding of programming language implementation. |
43 | Theory of Computation | University Courses | Comprehensive introduction to the theory of computation, covering automata, formal languages, and computability. Lectures from top-tier UC Davis university. |
44 | Programming Language Design | University Courses | Comprehensive course on compiler design and programming language development. Hands-on project to build your own language, with access to helpful libraries and expert instruction. |
45 | Inf1 - Computation and Logic | University Courses | Explore the fundamentals of computation and logic with this comprehensive course from the University of Edinburgh. Access weekly schedules, previous materials, and a birds-eye overview of the subject matter. |
46 | Functional Programming | University Courses | Learn key functional programming concepts and techniques through lectures, tutorials, and hands-on exercises at the University of Edinburgh's Informatics 1 course. |
47 | CPython Internals: A Comprehensive Codewalk | University Courses | Explore the inner workings of the CPython interpreter, the most widely used implementation of the Python programming language, through a 10-hour code walkthrough. |
48 | Programming Languages | University Courses | Explore fundamental programming language concepts, functional programming, and the ML language in this comprehensive course at the University of Washington. |
49 | Compiler Construction | University Courses | Dive into the fundamentals of compiler design and implementation with CSEP 501 at the University of Washington. Build a compiler for a subset of Java and gain valuable skills for software engineering and language research. |
50 | Programming Languages | University Courses | Comprehensive course covering fundamental programming language concepts, paradigms, and practical applications. Gain deep understanding for software development tasks. |
51 | Information Theory | University Courses | Comprehensive course on information theory principles and applications, taught by expert Professor Vittorio Castelli. Covers entropy, mutual information, channel capacity, and practical examples. |
52 | Stochastic Models in Information Systems | University Courses | Explore stochastic models and their applications in information systems with this comprehensive course from Columbia University, taught by expert Yuliy Barsyhnikov. |
53 | Program Synthesis for Everyone | University Courses | Explore the field of program synthesis and learn techniques to automatically generate programs from high-level specifications. Hands-on projects and accessible content make this course valuable for students and researchers. |
54 | Mastering OCaml Programming: Correct, Efficient & Beautiful | University Courses | Comprehensive OCaml programming course covering functional programming, type system, optimization, and clean code practices. Ideal for developers seeking a powerful functional language. |
- 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 Blockchain Resources
- Free SQL Resources
- Free Python Resources
- Free Unix Resources
- Free Programming 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