Compiler courses can help you learn syntax analysis, semantic analysis, code generation, and optimization techniques. You can build skills in parsing algorithms, error handling, and implementing programming languages. Many courses introduce tools like Lex and Yacc for lexical analysis and parsing, as well as LLVM for code optimization, demonstrating how these skills are applied in creating efficient compilers and interpreters.

Skills you'll gain: Embedded Software, System Programming, Software Development Tools, Embedded Systems, Software Development, Debugging, Microarchitecture, Build Tools, Application Security, C (Programming Language), Application Development, Computer Architecture, C++ (Programming Language), System Configuration, Performance Tuning
Intermediate · Course · 1 - 3 Months
University of California, Santa Cruz
Intermediate · Course · 1 - 3 Months
University of California, Santa Cruz
Skills you'll gain: Go (Programming Language), File I/O, Data Structures, Programming Principles, Object Oriented Design, Object Oriented Programming (OOP), Debugging, Computer Programming, Unit Testing, C (Programming Language), Program Development, Computer Science, Software Testing, Algorithms, Code Reusability, Graph Theory, C and C++, Computational Logic, Memory Management, Software Design
Intermediate · Specialization · 3 - 6 Months

University of Michigan
Skills you'll gain: C (Programming Language), Programming Principles, C and C++, C++ (Programming Language), Algorithms, Memory Management, Data Structures, Other Programming Languages, Numerical Analysis
Intermediate · Course · 1 - 4 Weeks

University of Colorado Boulder
Skills you'll gain: Software Configuration Management, Embedded Software, Embedded Systems, Configuration Management, Git (Version Control System), Version Control, Memory Management, System Programming, Build Tools, Software Development Tools, System Software, C (Programming Language), Development Environment, Program Development, Code Review, Software Technical Review, Software Design
Intermediate · Course · 1 - 4 Weeks

Skills you'll gain: Open Source Technology, Package and Software Management, Web Development, Linux, Shell Script, Database Design, Ubuntu, Relational Databases, Web Applications, Web Development Tools, Unix Shell, Test Driven Development (TDD), Python Programming, Linux Administration, Databases, Object Oriented Programming (OOP), Object Oriented Design, Scripting Languages, Javascript, Database Management
Build toward a degree
Beginner · Specialization · 3 - 6 Months

University of California, Santa Cruz
Skills you'll gain: File I/O, Debugging, Go (Programming Language), Programming Principles, C (Programming Language), Program Development, Data Structures, Computer Programming, C and C++, Algorithms
Beginner · Course · 1 - 3 Months

Skills you'll gain: Data Structures, Graph Theory, Algorithms, Java, Java Programming, Data Management, Secure Coding, Theoretical Computer Science, Programming Principles, Other Programming Languages, Performance Tuning, Computer Programming
Intermediate · Specialization · 1 - 3 Months
Dartmouth College
Skills you'll gain: Memory Management, Command-Line Interface, C (Programming Language), Linux Commands, Linux, Computer Programming Tools, Embedded Systems, File I/O, Embedded Software, Software Visualization, Programming Principles, Computer Engineering, C and C++, Linux Servers, Algorithms, Computer Programming, Software Documentation, Computer Science, Software Engineering, Debugging
Beginner · Specialization · 3 - 6 Months

Edureka
Skills you'll gain: Cloud-Native Computing, Memory Management, Grafana, Web Applications, Program Development, Software Architecture, Development Environment, Programming Principles, Computer Programming, Other Programming Languages, Network Security, Communication Systems, Data Sharing
Intermediate · Specialization · 3 - 6 Months

University of London
Skills you'll gain: Computational Logic, Logical Reasoning, Deductive Reasoning, Theoretical Computer Science, Programming Principles, Computer Science, Critical Thinking, Computational Thinking, Business Logic, Algorithms, Mathematical Theory & Analysis, Algebra, Mathematical Modeling, Problem Solving, Strategic Communication
Intermediate · Course · 1 - 4 Weeks

University of California, Santa Cruz
Skills you'll gain: C++ (Programming Language), Object Oriented Design, Software Design Patterns, Object Oriented Programming (OOP), Software Design, C (Programming Language), Algorithms, Memory Management, Graph Theory, Artificial Intelligence, Data Structures, Simulations
Intermediate · Course · 1 - 3 Months