课程设计是加强学生实践能力的一个强有力手段,要求学生选择某种具有一定规模的高级程序设计语言为目标语言(比如PL/0),并为其实现一个完整的编译器,实现编译器的程序设计语言可以选择C、C++或者Java等,要求学生在完成程序设计的同时能够写出比较规范的设计报告。