This course is a core course of Computer Science and Technology class, which aims to let students have profound understanding on design and implementation techniques of programming languages, and understand some programming language related theories, then apply the concepts and techniques discussed in this course to software design and development. This course introduces the general principles and basic implementation methods for compiler design, including knowledge of logical phases within a classical compiler, such as lexical analysis, syntax analysis, semantic analysis, intermediate code generation, code optimization, code generation, and so on. Moreover, this course emphasizes formal description techniques on compiler design, using syntax directed definitions as the main descriptive tools for translations. As a course of principles, this course prefers to introduce the basic theories and methods for compiler construction, rather than partial to some specific source languages or target machines.
Computer Engineering
计算机工程(Computer Engineering)是一个以电机工程学和计算机科学的部分交叉领域为内容的工程学,其主要任务是设计及实现计算机系统。简言之,计算机工程学就是研究计算机如何运作并且做到更快捷更精准。其主要包括两方面:计算机软件与硬件工程。 计算机工程学学生通过学习数学、物理、计算机科学相关课程,分析设计和研发计算机软件与硬件(计算机芯片、电路板、调制调节器和打印机)。
Computer Science
计算机科学(computer science,缩写CS)是系统性研究信息与计算的理论基础以及它们在计算机系统中如何实现与应用的实用技术的学科。它通常被形容为对那些创造、描述以及转换信息的算法处理的系统研究。计算机科学包含很多分支领域:有些强调特定结果的计算,比如计算机图形学;有些是探讨计算问题的性质,比如计算复杂性理论;还有一些领域专注于怎样实现计算,比如编程语言理论。