Few people are likely to build or even maintain a compiler. However, the ideas and techniques of compiler theory apply to many problems in software engineering and in other areas. For example, the string matching techniques for building the lexical analyzer of a compiler are also used by text editors or pattern matching programs. The techniques from graph theory for performing code optimization, such as coloring, are used to organize schedules.
Hence, the student should come away from the course with a deeper understanding of what happens when they compile programs but also with an enriching experience with algorithms and computers.