HNU编译系统这门课程,拔尖班用的是杨金民老师和果哥主编的《编译技术与应用》一书;计科用的是龙书。两本书特色各异,前者注重通俗理解,且内容轻量化;后者是成名已久的老牌书了,内容我没有细读过,但量比较大。选择哪本书大家可以各自斟酌。
课程难度较大,算是计算机科班本科阶段难度最大的课程之一了。但好在对于应试来说,题型比较固定(类似电子与电路学期末考,每道题题型是什么都会告诉你,比如第一题词法分析、第二题语法分析等等),学起来倒也没那么吃力。
这门课程在计科叫做《编译原理》,在拔尖班叫做《编译系统》,在软件叫做《编译原理与技术》,实际上大同小异,内容基本上一致。在计科、计科拔尖班都占 3 学分。
一、成绩
总评 96/100,单科排名 ?/19 ,
平时成绩是满分(因为加做了一个华为实验),平时作业也都认真按时完成了;期中和期末都是 90+ 。班里 90 分以上的同学不少,果哥给分非常慷慨(强烈安利)
二、成绩构成
HNU的编译系统课程平时分由五部分构成
1. 16%作业 4次,4分/次
2. 10%小班讨论 总共4次,每人至少主讲1次
3. 24%实验 4次必做,6分/次 1次选做,若完成实验部分给满分
4. 10%期中考试 开卷
5. 40%期末考试 闭卷
课后作业只要按时正常完成,基本上不会扣分;小班讨论也跟以往课程差不多;实验难度较大,是做一个简易的编译器。当时实验那几天天天两眼一睁就是干,代码量比较大;期中考试开卷,允许翻书,上网查资料,也可以使用自己写的词法分析语法分析代码跑考试题目,但不允许互相交流(说话、手机发消息等)。虽然允许用手机电脑,但是我感觉上网查或者问GPT太慢,而且考试时间比较紧张,所以还是只翻了几下课本。建议可以考试之前在草稿纸上把题目解题模板手写好,到时候直接套用即可,省时省力。期末考试为闭卷,而且时间也很紧张,虽然只有三道大题,但每道大题都有好几个小问,题量比较大且覆盖面广。
我的期末考试刷题复习链接如下:
编译系统期末复习刷题-CSDN博客https://blog.csdn.net/obstacle19/article/details/145587620?spm=1001.2014.3001.5502
三、个人学习方法
个人认为,这门课程 听课 >= 刷题 >= 看PPT>看课本
考前多刷刷题,先把基础的十几种题型掌握,解题的模板、表格熟记在心,在理解基础上,如果考试时遇到变式或者新颖一点的题型也能应对。