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: Open Source Technology, Package and Software Management, Web Development, Linux, Shell Script, Database Design, Ubuntu, Relational Databases, Web Development Tools, Unix Shell, Test Driven Development (TDD), Python Programming, Linux Administration, Databases, Object Oriented Programming (OOP), Full-Stack Web Development, Scripting Languages, Computer Programming, Javascript, Database Management
Build toward a degree
Beginner · Specialization · 3 - 6 Months

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

Skills you'll gain: Object Oriented Programming (OOP), C++ (Programming Language), Application Development, Object Oriented Design, Data Visualization Software, Visualization (Computer Graphics), Programming Principles, Computer Graphics, Solution Design, Computational Thinking, Graphing, Verification And Validation, Development Environment, Software Visualization, Graphic and Visual Design, Data Presentation, Application Design, Data Validation, C and C++, Program Development
Beginner · Specialization · 3 - 6 Months

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

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

Skills you'll gain: File I/O, Data Validation
Beginner · Course · 1 - 3 Months

Skills you'll gain: Embedded Software, System Programming, Software Development Tools, Embedded Systems, Software Development, Debugging, Application Security, C (Programming Language), Application Development, Computer Architecture, C++ (Programming Language), Performance Tuning
Intermediate · Course · 1 - 3 Months

Microsoft
Skills you'll gain: Debugging, Program Development, Software Documentation, Pseudocode, C++ (Programming Language), Computational Thinking, Maintainability, Programming Principles, Computer Programming, Integrated Development Environments, Development Environment, Algorithms, Data Validation
Beginner · Course · 1 - 3 Months

École Polytechnique Fédérale de Lausanne
Skills you'll gain: Programming Principles, Java Programming, Java, Computer Programming, Data Structures, Development Environment, Problem Solving, Algorithms, Eclipse (Software), Debugging
Beginner · Course · 1 - 3 Months

University of Washington
Skills you'll gain: Software Installation, Programming Principles, Other Programming Languages, Functional Design, Computer Programming, Ruby (Programming Language), Theoretical Computer Science, Software Design, Computational Thinking
Intermediate · Course · 1 - 3 Months

University of Michigan
Skills you'll gain: Object Oriented Programming (OOP), Animation and Game Design, Interactive Data Visualization, Software Design, Data Structures, Visualization (Computer Graphics), Interactive Design, Programming Principles, Graphic and Visual Design, Python Programming, Generative AI, Simulations, Computer Graphics, Design, Computational Logic, Creative Design, Computer Programming, Computational Thinking, File I/O, Animations
Beginner · Specialization · 3 - 6 Months

Skills you'll gain: Debugging, Version Control, Microsoft Copilot, C# (Programming Language), Git (Version Control System), Microsoft Visual Studio, .NET Framework, Program Development, Application Development, Object Oriented Programming (OOP), Computer Programming, Microsoft Development Tools, Development Environment, User Interface (UI), Programming Principles
Beginner · Course · 1 - 3 Months