Programmers who have built a small interpreter (lexer, parser, tree-walking evaluation) and want to learn how production compilers analyse, represent, optimise and generate code.
Type Systems, Bytecode Virtual Machines, Intermediate Representations and Code Generation
Build a real compiler: architecture of front, middle and back ends, symbol tables and static type checking with inference, a bytecode compiler and a stack virtual machine with calls and closures, intermediate representations and basic optimisations, memory management and garbage collection, and code generation to LLVM IR, WebAssembly or assembly.
- 43hours of work
- 13parts
- Reviewedcapstone
- Lifetimeaccess
- Compiler architecture
- Type checking and inference
- Bytecode virtual machines
- Intermediate representations
- Code generation
- Garbage collection basics
At a glance
The beginner programme in this track or equivalent: lexing, recursive descent parsing, ASTs, environments and closures, and testing a language implementation. Comfortable programming in Python, Go, Rust or TypeScript (the programme uses Python for most code and shows C, LLVM IR and assembly). Basic knowledge of how a CPU executes instructions (registers, memory, the stack) helps and is reviewed.
Pass the quizzes and labs, then submit a capstone project. The NIBVEDA team reviews it and either accepts it or sends it back with comments you can act on.
What you will be able to do
- 01Describe the structure of a compiler and the role of each phase and intermediate representation
- 02Implement semantic analysis with symbol tables and a static type checker with type inference
- 03Compile to bytecode and run it on a stack-based virtual machine with functions, closures and efficient variable access
- 04Represent programs as control flow graphs in three-address code or SSA and implement basic optimisations
- 05Generate real code for LLVM IR, WebAssembly or assembly and explain calling conventions and memory management
Curriculum 43 hours in 13 parts
Select a kind to highlight its parts.
Stage 1A bytecode compiler and virtual machine for Typed Tiny6 parts · 17 h
- 1Compiler architecture: front end, middle end and back endWorkshop · Follow along and build, with the steps and the traps written out.2 hFree
- 2Semantic analysis, symbol tables and type checking with inferenceWorkshop · Follow along and build, with the steps and the traps written out.3 h
- 3A typed language front end with inference and good diagnosticsWorkshop · Follow along and build, with the steps and the traps written out.2 h
- 4Check yourself: compiler architecture, semantic analysis and type systemsQuiz · Twelve questions, marked at once, with the reason behind each answer.1 h
- 5Bytecode compilers and stack-based virtual machinesWorkshop · Follow along and build, with the steps and the traps written out.3 h
- 6A bytecode compiler and virtual machine for Typed TinyLab · Hands-on work. Many labs are checked automatically against what must exist.6 h
Stage 2A native or WebAssembly back end, optimisations and a garbage-collected runtime5 parts · 13 h
- 7Intermediate representations, control flow graphs and optimisationWorkshop · Follow along and build, with the steps and the traps written out.2 h
- 8Check yourself: bytecode, virtual machines, IRs and optimisationQuiz · Twelve questions, marked at once, with the reason behind each answer.1 h
- 9Code generation: LLVM IR, WebAssembly, assembly and calling conventionsWorkshop · Follow along and build, with the steps and the traps written out.2 h
- 10Memory management and garbage collectionWorkshop · Follow along and build, with the steps and the traps written out.2 h
- 11A native or WebAssembly back end, optimisations and a garbage-collected runtimeLab · Hands-on work. Many labs are checked automatically against what must exist.6 h
Stage 3Code generation, calling conventions and garbage collection1 part · 1 h
- 12Check yourself: code generation, calling conventions and garbage collectionQuiz · Twelve questions, marked at once, with the reason behind each answer.1 h
FinishCapstone project1 part · 12 h
- 13A statically typed language with a verified compiler pipeline, optimiser, VM and native back endCapstone · A full project for your portfolio.12 h
An internship certificate with your skills on it.
Made for you automatically when you finish the last part, it names the internship programme, the level and the 43 hours, lists what you showed, and carries a number and a QR code. Anyone can check it on the NIBVEDA verification page, and it shows as withdrawn there if it is ever revoked.
- Proof you completed all 43 hours of this internship programme
- An Internship badge for your profile, CV or portfolio
- Not a job, a stipend or an academic degree, and it says so
Keep building.
3 programmes in this track, from beginner to expert. Buy the learning path and save 15%.
Learn how programming languages work by building one: tokenising source text, parsing with recursive descent and Pratt precedence, building syntax trees, evaluating with environments, functions and closures, reporting good errors, testing the language and finishing with your own complete interpreter.
- Lexing
- Parsing and ASTs
- Interpreters
Work at the level of production language implementations: dataflow and SSA optimisation, register allocation, LLVM and MLIR pass pipelines, just-in-time compilers with inline caches and deoptimisation, modern garbage collectors, debug information, language servers, and compiler testing with fuzzing and translation validation.
- SSA optimisation
- Register allocation
- LLVM and MLIR
See all 3 programmes in Compilers and Programming Languages Take the placement test
Quick answers.
The policies have the full detail.
Is this a real internship?
It is a virtual internship programme: a structured, self-paced course built around a real project, with checked assessments and a certificate. It is not employment, it does not carry a stipend and it is not an academic or AICTE-approved qualification. What it gives you is verified, project-based evidence of skills.
How does self-paced work?
You start when you like and move at your own speed. Each part unlocks when you finish the one before it. There are no live classes and no deadlines. Your access is shown on each programme page.
How is my work checked?
Quizzes are marked as soon as you submit them. Labs use a tick-list of tasks. Intermediate and Expert programmes finish with a capstone that the NIBVEDA team reviews and either accepts or sends back with comments.
Can I get a refund?
Please read the refund policy before you buy. It explains when a refund is possible.
Ready to start?
Rs. 765.82 including GST. Lifetime access. Read the first lesson free before you decide.