The objectives of learning this subject are: 

·   Developing practical programming skills 
·   Understanding the compilation process 
·   Learning about programming language design 
·   To become familiar with compiler tools and technologies 

·   Understanding program optimization and performance