The course takes a step-by-step practical approach to the design of a C++ compiler. The student starts with learning how to design the lexical analyzer or scanner, followed by the syntax analyzer or parser, then semantic analyzer and the intermediate code generation. These make up the four major units of the course. All these units are compiled one after another. The course will also provide a grasps of what tokens are, how they are generated and what they are used for in compiler designs. You will design a parser that parses chunks of more than 20 different language constructs we will use in the lesson and also be able to add your own custom language sentence in your own compiler design using c++ or any language of your choice. The lessons and technique gotten from the course was used in the design of a multi-threaded HTTP web server. This course is for all levels of C++ developers. who want to advance their programming skill through a project design and for developers who want to learn about compilers and also learn how to design them. we would start from the basic tokens and develop into the more complex compiler design in a step by step manner. The high level programming language used in this course is the C++ language. The only tool you will need is a good C++ editor example VsCode, Visual studio etc. Basic knowledge of C++ is required, our compiled file will be an assembly language code which will consist of a mix of the standard MIPS assembly and RISC-V which you will learn in this course. A lot of course material including the full working compiler script which designs these different units is also attached.