Compiler Design is an area of computer science where students learn formal language definitions and grammars. They will ultimately learn how to translate one language into another. This subject has many applications besides just the creation of language compilers!