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.
University of California, Santa Cruz
Skills you'll gain: Programming Principles, Program Development, Computational Logic, Memory Management
Beginner · Course · 1 - 3 Months

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

Google Cloud
Skills you'll gain: Generative AI, Prompt Engineering Tools, Model Optimization, Serverless Computing, AI Workflows, AI Orchestration, Systems Development Life Cycle, Cloud Development, Development Testing, Mobile Development Tools, AI Enablement, AI Integrations, Application Development, Cloud Platforms, Web Analytics and SEO, Application Deployment, Software Development Tools, Cloud-Based Integration, Code Review, Computer Programming Tools
Intermediate · Specialization · 3 - 6 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
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

Skills you'll gain: Object Oriented Programming (OOP), C++ (Programming Language), Data Presentation, Scientific Visualization, Application Development, Object Oriented Design, Data Visualization Software, Statistical Visualization, Plot (Graphics), Application Design, Visualization (Computer Graphics), Programming Principles, Data Visualization, Graphical Tools, C and C++, Computational Thinking, Computer Graphic Techniques, Program Development, Graphic and Visual Design, Software Visualization
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
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

Duke University
Skills you'll gain: Programming Principles, Algorithms, C (Programming Language), Computer Programming, Program Development, Problem Solving, Solution Design, Computational Logic
Beginner · Course · 1 - 4 Weeks

University of California, Santa Cruz
Skills you'll gain: C++ (Programming Language), Go (Programming Language), File I/O, Data Structures, C and C++, Object Oriented Programming (OOP), Object Oriented Design, Software Design Patterns, Debugging, Computer Programming, Programming Principles, Unit Testing, Algorithms, C (Programming Language), Program Development, Software Design, Graph Theory, Software Testing, Computer Science, Code Reusability
Intermediate · Specialization · 3 - 6 Months

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

Tsinghua University
Skills you'll gain: Data Structures, Algorithms, Graph Theory, Computational Thinking, Theoretical Computer Science, System Design and Implementation, Computer Programming, Data Storage
Intermediate · Specialization · 3 - 6 Months