编译原理和技术(郑启龙) 2022秋 2021秋 2020秋 2019秋 2018秋 2017秋 2016秋 2015秋 2014秋 2014春 2013秋 2013春 2012秋 2012春 2011春 2010春 2009春 2008春 2007春 2006春 2005春 2004春  课程号:01116301
2022秋 2021秋 2020秋 2019秋 2018秋 2017秋 2016秋 2015秋 2014秋 2014春 2013秋 2013春 2012秋 2012春 2011春 2010春 2009春 2008春 2007春 2006春 2005春 2004春  课程号:01116301
5.6(34人评价)
  • 课程难度:困难
  • 作业多少:中等
  • 给分好坏:一般
  • 收获大小:一般
选课类别:计划 教学类型:理论实验课
课程类别:本科计划内课程 开课单位:计算机科学与技术系
课程层次:专业核心 学分:4.0
课程主页:暂无(如果你知道,劳烦告诉我们!)
简介 最后更新:

本课程是计算机科学与技术专业的专业核心课,目的是让学生对程序设计语言的设计和实现技术有深刻的理解,对和程序设计语言有关的理论有所了解,并能把本课程讨论的概念和技术用到软件设计和开发中。本课程介绍编译器构造的一般原理和基本实现方法,其内容包括词法分析、语法分析、语义分析、中间代码生成、代码优化和目标代码生成等部分。本课程在介绍编译器各逻辑阶段实现技术的同时,强调形式化描述技术,并以语法制导定义作为翻译的主要描述工具。作为原理性的课程,本课程介绍基本的理论和方法,而不偏向于某种源语言或目标机器。

点评 写点评
排序 学期

评分 评分 34条点评

我收钱了 2020秋
  • 课程难度:困难
  • 作业多少:很少
  • 给分好坏:杀手
  • 收获大小:没有
  • 难度:困难
  • 作业:很少
  • 给分:杀手
  • 收获:没有

强烈建议大家选这个课! 郑启龙上课思路清晰,会说中文,PPT除了知识点其他都很有趣。 助教也很负责,百忙之中还帮我们建了一个QQ群,发了准确率还算比较高的答案。 考试题出的非常新颖,非常有挑战性,强烈建议gpa太高的人来选!(考试很合理,有许多常用的c语言声明,学过c的应该都会

27 2 复制链接
根本不行高,实在是高
河源我缺氧了

立即登录,说说你的看法

ForeverTime 2020秋
  • 课程难度:困难
  • 作业多少:中等
  • 给分好坏:一般
  • 收获大小:没有
  • 难度:困难
  • 作业:中等
  • 给分:一般
  • 收获:没有

这试卷做完了折寿。

出分了,没有调分,这门课平时的作业、实验以及最后的考试的题目特别烦,还特别喜欢考指针,数组,引用。助教在这门课里没有发挥过任何作用,要么就是半天不回复,要么就是不知道(能回答不知道对这门课的助教来说已经是相当罕见了)。

总而言之,虽然lc班作业多,实验量大,但是好歹助教老师负责任,能换去lc班赶紧去,别在这门课找罪受。

最后放张图:

13 0 复制链接
吃人 2020秋
  • 课程难度:中等
  • 作业多少:中等
  • 给分好坏:杀手
  • 收获大小:没有
  • 难度:中等
  • 作业:中等
  • 给分:杀手
  • 收获:没有

int a[]={0,{1},{2},3,{4},{5},{6},7,{8},9,};

int b[][2]={0,{1},{2},3,{4},{5},{6},7,{8},9,};

int c[][2][2]={0,{1,},{2},3,{4},{5},{6},7,{8},9,};

同学们李诚班走起,没什么好说的

助教=没有

考试十分离谱

后悔当初室友叫我换班我没换

 

11 0 复制链接
匿名用户 2022秋
  • 课程难度:中等
  • 作业多少:中等
  • 给分好坏:一般
  • 收获大小:没有
  • 难度:中等
  • 作业:中等
  • 给分:一般
  • 收获:没有

课上到一半先来吐槽一下给出的PL0的源码

我从来没有见过那么那么烂的代码

上来大手一挥就先乱开一堆全局变量,并且瞎命名一通

我从来没有见过这么反社会的命名方式

先乱起个变量名然后在旁边注释其意义是哪个星球的做法????就好像我数学分析考试证明题,把过程完美写下来后再故意用笔把过程全部划掉只留个结论一样?????即使是刚学程序设计两三周的人也不会用这么nt的方式来命名

各函数各过程中还有各种magic number冒出来,以及各种不明意义的局部变量,下划/驼峰混用(写这个代码的人居然还知道有这种东西)

驼峰?下划线?不用!就是玩儿!

数都数不清的全局变量直接把整个代码结构弄成了一个笑话(这个小小的getch就涉及了6个全局变量)

我不知道是谁写的代码,这个人从此以后应该别碰电脑,先回去好好把编程规范给学一学。

把这种东西放出来当作课程实验设计.....只能说这门课从助教到老师都及其摆烂

可以对比一下ICS(H)HYQ助教写的Simulator和Assembler的代码补全实验,从命名 注释 流程设计都清晰易读,上下衔接的顺畅让你在阅读和补全代码的时候都不会感觉到不适

对比之下这个PL0源码简直都不配拿出来

10 1 复制链接
silence这个源码很可能是从Niklaus Wirth写的Pascal语言版本的PL/0编译器硬改成C的(来源:http://www.gtoal.com/geneva/pl0.html),此人是图灵奖获得者,Pascal语言的总设计师。五十年前的代码就是这样子(当时就没有代码规范这种东西,在Dijkstra提出"goto有害论"之前,basic程序员甚至以乱七八糟的goto写成的"spaghetti code"为荣)

立即登录,说说你的看法

supZQ 2020秋
  • 课程难度:困难
  • 作业多少:很多
  • 给分好坏:杀手
  • 收获大小:没有
  • 难度:困难
  • 作业:很多
  • 给分:杀手
  • 收获:没有

占坑

打完游戏开骂

来晚了,该骂的都被骂完了

总之,大家别选,lc/zy哪个不比zql好!

9 0 复制链接
也西湖摸鱼 2020秋
  • 课程难度:困难
  • 作业多少:中等
  • 给分好坏:一般
  • 收获大小:一般
  • 难度:困难
  • 作业:中等
  • 给分:一般
  • 收获:一般

这门课槽点很多

 

### 实验槽点:

zql又把他的古董PL0翻出来。从主页上下载后打开,首先映入眼帘的便是"void main"产生的警告;稍微看下代码,头文件直接定义了几十个全局变量,变量名几乎不含元音字母,净是些ll、tx、kk这样的,比Linux命令还抽象;实验要求十分模糊,大家都不知道标准是什么,各做各的。检查时也是天马行空,前边的10组在讲台上做presentation & 回答zql的当场提问,大概要二三十分钟;后面十几组时间不够了,直接去他办公室不到5min检查完……自己检查进度严重落后于群里讲的,心里没点数吗

那么为什么今年不做mini python了呢?

 

### 助教槽点:

TA如同虚设,除了收/批改作业外没有任何实际贡献。改作业的水平也很值得怀疑:语法制导翻译那次作业我乱写的,助教应该是没仔细看,直接给打了10分(滑稽

课程群里同学问的问题,要么压根不理,要么回复“我也不会”云云。公布作业答案往往很晚,并且全是手写+拍照+胡乱拼接,搞得乱七八糟。有时候作业忘带了,询问补交事宜,要么几天后才回复,要么就是问两遍才回复/手动狗头

检查实验时已经结课,助教和老师也是一样不操心,上课教室被占做考场都不知道,净耽误时间。有个助教当时还在偷笑,我???

在群里问起实验相关的内容,除了检查的ddl以外,助教全部是一问三不知。和隔壁班众耳熟能详的大佬学长助教一对比,差距过于明显。

 

### 考试槽点:

考试前两题和隔壁班是一样的,很正常的词法文法题。从zql自己出的第三题开始就搞那些阴间玩意,int c[ ][2][2]={0,{1,},{2},3,{4},{5},{6},7,{8},9,}; 让你把第一个[ ]里面的数字填上,然后下一问又让你编译出对应的初始化汇编代码。且不说依他的要求,团队实验中有些人根本就没接触过这些,就算你自己做了数组初始化那部分的任务,你也大概率不知道这种奇怪的c魔法到底是啥意思,那要怎么写?作业布置了那么多 x86 汇编不考,非要考这个,就这样卷面一共 20 分,对应总评 8 分直接没了。无话可说,只能提前给老师拜个早年了。

 

 

老师带这门课已经很久了,还能搞成这样我是没想到的。

 

7 0 复制链接
Nullptr 2020秋
  • 课程难度:困难
  • 作业多少:中等
  • 给分好坏:一般
  • 收获大小:一般
  • 难度:困难
  • 作业:中等
  • 给分:一般
  • 收获:一般

(考过期末了,出分之后看情况更新)

我实在忍不住要吐槽一下。

这种放羊式的教学氛围对我这种凡人极不友好。

  1. 习题课答疑课极少(整个学期加起来不知道有没有3次)。助教也不怎么随堂,以至于有时候问助教ppt上的内容,他们也看不懂。
  2. 作业的参考解答给得非常晚,有时甚至上交作业后几个星期才把若干次作业的答案一起公布。那个时候早忘了题目是什么了,怎么订正?
  3. 作业的参考解答的质量也一般。很多答案是助教手写拍照发电子版,但是为啥那么模糊...期末复习的时候对照着参考解答复习作业题的时候有时看得一脸懵逼,百思不得解。最后没办法发邮件问老师,或者自己反复重做,才发现答案是错的。我也是纳闷,明明是祖传的习题用了几届了,怎么老师也不整理一份标答出来...我都在github上找到往届的作业了(当然也有些错误)...

郑老师人还比较亲和,有问题可以当面或者发邮件问他,我问的很蠢的问题也会回答。

(ps.老师课间不下课,上课建议少喝水)

种种原因,这是我当前体验最糟糕的一门课。

期末考完更新:

  1. 期末没考汇编...白复习了...相应的,考了PL/0的指令。实验完全弄懂了,今年就不亏(然而菜鸡的我并没有)。
  2. 实验安排并不是特别好,综合性比较强,刚开始学习的时候,如果不是之前就学过编译原理,几乎做不了什么工作,到了后期就很忙。(听说有大佬小组作业一拖三最后也要肝一个多星期)

听说给分也很阴间,优秀率只有20%

7 1 复制链接
也西湖摸鱼PL0那题主要是他的魔法没人看得懂

立即登录,说说你的看法

纯菜鸡 2021秋
  • 课程难度:中等
  • 作业多少:中等
  • 给分好坏:超好
  • 收获大小:一般
  • 难度:中等
  • 作业:中等
  • 给分:超好
  • 收获:一般

期中先占坑发个截图,坐等后续处理

总评出了,由于zql连年差评,导致今年班上大佬都润去隔壁班了,导致今年确实是摸到不行,给分确实不错;总之zql人讲课喜欢边边角角但今年期末没考(可能由于期中被举报导致不敢乱出题了?),实验难度下降不少,今年所说的40优秀率也可能真实现了,看来是有逐渐变好的。而助教我仍持否定态度,ta们确实不行,完全是摆设,如果想选的话建议多自学或与同学交流,总而言之在这学期的课中还算中等水平。

大三夏令营要面试自我介绍了,才发现zql好事做尽,g有了项目也有了。我为我犯下的罪忏悔,龙门!

坏了,听说夏令营面试考高绩科目,这编译咋复习啊,再扣两分

反转了,没考,给他加回去

(最后修改于 6 2 复制链接
dulraxchal成熟时赞美zql,龙门
目白麦昆ペロペロ龙门

立即登录,说说你的看法

从点到点 2020秋
  • 课程难度:困难
  • 作业多少:很多
  • 给分好坏:一般
  • 收获大小:没有
  • 难度:困难
  • 作业:很多
  • 给分:一般
  • 收获:没有

刚出分来评。 结论:强烈不推荐。 1、习题课几乎没有,整个一学期就两次,助教也超级不负责,期中成绩到期末还没出,群里提问大多数也就装死。看助教回复期末卷子还是老师改的?不知道是老师第一次授课还是什么,感叹助教的工资拿的真容易。 2、实验要求反复横跳。老师给了一个祖传的PL0文档,给了乱七八糟的一堆样例。样例和文档甚至还有冲突,最可笑的是都开始检查了居然还能临时追加样例的?这实验要求就不能一次性给完吗?离谱。 3、作业机械暴算。作业都是常规知识的运用,最大的特点是暴算,计算量爆炸。和考试特点一样) 4、考试题目离谱。非常喜欢考C语言知识,建议下学期老师带程设。期末两道大题考数组声明,就是那种可读性极差的数组声明。纯粹就是为考试而出题,如果你C学的好就全对,学不好就全错。而且非常喜欢连环题。 5、几乎不调分。期中95,期末估计75-80(错了两个pl0)最后总评90

实验毁人心态,作业全是暴算,考试极其刁钻,总评一点不调。您各位不左转lc班等什么呢:)

5 1 复制链接
从点到点每个题10分感受一下,错一个降一档。

立即登录,说说你的看法

zoezoezoe 2020秋
  • 课程难度:困难
  • 作业多少:中等
  • 给分好坏:一般
  • 收获大小:一般
  • 难度:困难
  • 作业:中等
  • 给分:一般
  • 收获:一般

这篇点评给想要选(或不得不选)郑启龙老师课的同学看看好了,看了一圈下来我好像是给这门课评分最高的,虽然我自己的得分也有点低于预期。这门课不好的地方其他都说的挺清楚的,还是建议换李诚老师班。


我觉得郑启龙老师水平还是可以的,能把很多东西讲的清楚。但是在他的课上不能开小差,否则马上就不知道他在干什么了。。郑老师很多事情都是亲力亲为,PL/0实验的测试样例,检查什么的都是郑老师自己一个人做的,没检查完的好像还专门去了他东区的办公室检查,我觉得还是很负责的。

但是这门课的助教我真的一分都不想给,平时作业没有答案,直到要考试了才慢悠悠地把答案上传到群里,而且有错误(都是助教自己写的)。平时习题课也没有,快要期末考试了才赶忙安排一次习题课,并且准备的也不充分。平时分数、实验成绩统计那更是想都别想。很少随堂听课,甚至一个学期下来我连哪个助教叫什么名字都不知道(和顾乃杰老师算法班的助教形成鲜明对比)。在科大读了2年半,我还真没见过那么轻松的助教。

这门课有期中考试和期末考试,期中主要就考文法、语法和翻译,应该算是比较套路的东西,感觉自己考的还可以。期末难度比较高,考的很烂,只能说没好好复习。

5 0 复制链接
匿名用户 2022秋
  • 课程难度:困难
  • 作业多少:很多
  • 给分好坏:一般
  • 收获大小:一般
  • 难度:困难
  • 作业:很多
  • 给分:一般
  • 收获:一般

满纸荒唐言,一把辛酸泪

——写zql作业有感

 

更新:小测是zql的命根子吗??????????

(最后修改于 4 1 复制链接
改变你的随便都云作者痴,谁解其中味。 说到辛酸处,荒唐愈可悲。 由来同一梦,休笑世人痴! 一天了,一直在写,人麻了

立即登录,说说你的看法

评课 2021秋
  • 课程难度:中等
  • 作业多少:中等
  • 给分好坏:超好
  • 收获大小:一般
  • 难度:中等
  • 作业:中等
  • 给分:超好
  • 收获:一般

————以下观点仅供参考,本人上课从来不听,只看给分和课程难度————

我是从lc班自愿润出来的,没有后悔。给10分多少是想拉一下分,但8分我想还是有的(主要是我认为在编译原理这门课上,其他老师也不是啥善茬)

先说总结,zql的问题就在教的某些东西过于sb,但别的地方还可以,人没啥问题,甚至可以说是非常用心教学(有一次下课了我还在座位上捣鼓电脑,zql下来问我是不是有什么没搞懂的),综合往年同学的评价,给分很好。

 

首先,也是被诟病最多的,zql的阴间c语言知识(应该能在其他人的评论里找到,这里暂且不列)

1.数组初始化

2.杂糅的声明

3.i++,++i,++*i++等 

说实话,这些东西花点精力,还是挺好搞的,第一眼看上去确实晦涩且愚蠢,但其中逻辑还算简单,写写代码看看输出差不多就能弄懂。如果他平时不讲,考试突然来这么一出,那确实nt,不过1和2都是作业题了,3出现在小测里,不知道课上有没有讲过。本学期期中小测考了i++ ++i啥的,期末考了数组初始化,弄懂了就是送分,如果他明年突然在考试里塞新的阴间玩意那当我没说

 

其次,两次小测的事,每次小测占用两节课,除了上面说的那些个c语言知识,其他东西大都很基础。三个黑点:

1.直接找往年卷出来测(本人非受益者)

2.往年卷错题还照样搬来(最后解决方法是所有人该题全部满分,但有些人被耽误了时间)

3.本来说开卷,最后闭卷(第一次小测是开卷,考了书上原题,zql语:“你们多刷点题不就是送分吗”,私以为这话确实nt)

但是,最后,体感小测是没怎么算总评,zql大概真的只是想小测一下,期末结束后我找zql问小测的事,他说你别管了,作业交齐就行,不知道是否有什么暗示。本学期期末和小测非常之相似,是一个用来熟悉期末的好机会。

 

关于期末:题目非常之基础,除了某题让补全汇编代码完全不知所云。

 

关于平时作业:第一次写的时候顶级折磨(尤其是runtime的汇编代码部分),但复习时认真看其实能看懂,只能说自己平时太摸了。zql的作业似乎几年没变过了(悲

 

实验部分:本学期只有一个实验,分组做,每组3人,包含PL0和Yacc。

关于pl0实验:个人认为,这是本门课程中最有意思的地方(除了数组初始化部分)。本学期Pl0实验要求较低,难度感觉也就这样,我花了两天时间一个人完成了(记错ddl了,效率急速飙升)。期末复习的时候(虽然最后没有考)仔细看了一遍Pl0,虽然并不算先进,但其中能看到所学内容在代码中的真实实现。写实验前我把所有代码注释了一遍,受益匪浅。

但是:pl0里让实现数组初始化属实有些愚蠢,加上错误检测的实现,代码量巨大无比。如果是顺序读入数组并同步初始化,我认为是无法实现c的某些功能的int x[2] = { {{1}, }, {2} }; 如果按我的实现方法,即顺序读入并初始化(如果我没理解错,这也是zql说的方法),读入第二个右大括号以后后面就自动补0了,2是一个多余的数,但在vs里这是可以通过的。当然也可能是我的方法有缺陷,欢迎交流),幸好也没出这样的例子。初始化部分我写了整整一天,并不住感叹这就是纯纯的nt,知道怎么初始化不就好了,为啥还要我自己实现。

 

关于yacc实验:不属于我的分工,但看舍友一天晚上就弄完了,应该是非常之简单的。

 

关于教学:上课没听,不做评价。ppt我觉得相当不错,简单易懂,没必要去找隔壁lc的(隔壁gitlab也时常上不去),个人建议是在属性文法及其之前的部分结合课本看,之后以ppt为主(数据流分析和课本可能有些出入)。有些人可能觉得zql班学不到啥东西,我不做评价,但书上有的ppt都有,我想该讲的大致也讲了罢。

 

给分:期中(小测)感觉不太理想,估计80上下,作业并非全部满分,实验正常通过检查,期末的汇编代码补全不会(大概6分),总评94,体验奇好,当然也不排除是因为卷怪都去lc班了给分标准:期末40%,实验25%,作业15%,测验(包括期中)20%,大抵确实是调分的。

(最后修改于 3 0 复制链接
flxg2333 2020秋
  • 课程难度:困难
  • 作业多少:中等
  • 给分好坏:一般
  • 收获大小:没有
  • 难度:困难
  • 作业:中等
  • 给分:一般
  • 收获:没有

建议能跑的尽量都跑。

这个老师问题很多,包括喜欢讲他的一堆偏僻的C语言冷门操作,课间不休息、下课拖堂,助教与老师、助教与学生沟通困难,PPT做的没有条理而且烂等等,但对于大部分这样的老师来说只要考试没啥问题且给分好,问题不大。

今天是期中测试,直接拿往年卷子考,且该卷子及正确答案都已泄漏在网上。你考也就算了,卷子中有一道题意不明需要自己揣测的题,没想明白连着后一道大题都没分。还有一道错题,隔壁班考的时候改了题目,然而本班考试没有改,考完有学生去问老师,老师说他知道但是没有说,蚌埠住了。

另外关于实验,这学期实验刚刚开始,但H班和隔壁班已经早早开始了实验,包括搭环境,提供Git以及循序渐进的各种实验等等,但我们班就随便分了个组,学期过了一半了才给一点参考就叫开始做一个大实验,连个实验文档都没有。别的班确实作业多实验多,但别人老师助教认真负责,有问题交流也及时,引导很细致,但我们班做个作业问助教都是“可能”“应该”,期中考试前两天才突然通知开卷,还只让带书、PPT和作业(对,笔记不让带),就离谱。

 

 

 

期末出分了,给分还不错。但我还是想说一学期真没学到什么东西,实验也就是马马虎虎做完了,期末考试挺简单,复习半天流图的ud链可用表达式什么的结果没考,三地址码什么也是ppt不用看硬写的那种,都没啥技术含量。只能说想摸鱼来这个班还行,只能说幸好自己没打算从事于程序设计语言这方向。

最后想说的一点是如果你选了这门课,一定要上课记好上课老师讲的阴间++的用法和非常规的一些数组声明,其他的看隔壁班课件就行。

(最后修改于 3 0 复制链接
自学人 2021秋
  • 课程难度:困难
  • 作业多少:中等
  • 给分好坏:超好
  • 收获大小:没有
  • 难度:困难
  • 作业:中等
  • 给分:超好
  • 收获:没有

占坑 先放个截图

                                                                               

学期开始从zy班run来了zql班,因为lc班满了

先说结论:我期末回来把zy的1分改为了7分,zql的6分改为1分

zy:

实验占50%,值2分,因为还是可以抱H班大腿;

作业占10%,大腿给满;

期中期末占40%,值10分,开卷,可以带电脑,据室友说体验极好;

可以翘课,加分,综上7分。

zql:

实验占25%,值1分,因为延期了两周,但比不上大腿;

作业占15%,往届大腿给满,但有非经典题目改了,小扣分;

期中占20%,值负分,半开卷,全是往年题,有错题并且到最后没指正,考试随机游走选幸运学生乐呵乐呵,考试后在班里大骂(并且抨击开卷制度)并要同学写考后感想作文上交。后迫于压力重新抽一节课测验,但至今未说期中是否作废。测验闭卷,大半期中题小改。

期末占40%,值0分,闭卷,全范围,参考上述;

课上点名提问,回答不出来会让你站到气氛开始肉眼可见地微妙;

综上1分

个人感受

编译原理本身是一门难课,但是zy想把你教好,zql ██ 有特色

                                                                                               

期末出分了,连夜给他加两分

(最后修改于 3 1 复制链接
加分可太草了

立即登录,说说你的看法

AidenY 2020秋
  • 课程难度:困难
  • 作业多少:很多
  • 给分好坏:一般
  • 收获大小:一般
  • 难度:困难
  • 作业:很多
  • 给分:一般
  • 收获:一般

快毕业了,统一评课。

这门课我是20年上的,总体推荐。

 

给十分绝不是因为这门课值得十分,只是把分拉高一点。转了一圈,基本上都是暴躁老哥一分走人。

 

这门课的格局是:

lc、zy、zql各带一个班。

zy班上,据说就是怎么难怎么来。

lc班上,据说就是怎么卷怎么来。

都是据说,我没上过。

 

zql班上,是怎么摸怎么来。

反正我选zql老师的课,就是为了摸。原因没必要在这里解释。

最后果然不出所料,上课也摸,作业也摸,实验也摸,考试也摸。

反正学生摸,助教摸,老师摸,大家都摸。

真想学东西的,有谁会来这个班呢?又或者是怕了卷的,才会来这个班吧。当然了,如果有其他情况,无意冒犯。

 

差评我转了一圈,大家似乎是想摸一学期然后满绩。这个就不评论了,因为我也想。但是我想的同时也知道,如果不是这样,那也理所当然。

 

话说回来,zql班上有多安详大家有目共睹。你想卷也卷不起来。反正我个人大三时在养老,没有比这个班更舒服的地方了。

 

至于缺点,暴躁老哥们说的已经很详尽了,没有必要赘述。打个八折就好。老师做人还是很好很负责的,不能全盘否认,否则就是犯了形而上的错误。

 

最后讲个笑话:

lc19年留校亲自改卷:认真负责,吾辈楷模。

zql20年因故亲自改卷:xx助教,教学事故。

 

 

 

3 1 复制链接
Nullptr“ 真想学东西的,有谁会来这个班呢?又或者是怕了卷的,才会来这个班吧。” 被置课却因为时间冲突换不了班的我瑟瑟发抖

立即登录,说说你的看法

小鱼 2020秋
  • 课程难度:困难
  • 作业多少:很多
  • 给分好坏:杀手
  • 收获大小:一般
  • 难度:困难
  • 作业:很多
  • 给分:杀手
  • 收获:一般

不推荐 作业、实验、考试、给分体验感都极差

3 0 复制链接
jzpa 2020秋
  • 课程难度:中等
  • 作业多少:很多
  • 给分好坏:杀手
  • 收获大小:一般
  • 难度:中等
  • 作业:很多
  • 给分:杀手
  • 收获:一般

郑老师的课,从授课质量上可以看出是花了不少心思的,但是在实验、作业、考试等方面有些个人感觉很坑的点。选课还请慎重考虑。大多坑点其他人已经说得很明白了,这里补一些我觉得不太合适的地方吧。

  1. 郑老师讲课可谓负责,基本不念PPT,但也许是因为和我的电波对不上,全程听下来体验一直很差,自己看龙书反而效果更好。老师似乎格外纠结于一些莫名其妙的语言的细节(比如++++i啥的),我个人认为,编译这门课最出彩的地方还是在于形式化的思想和整个编译架构的搭建思路,而这些在郑老师的课堂上基本没有。譬如讲到文法和属性的时候,龙书的风格是先告诉你实现编译还缺什么,再去联系实际的语言,最后给出文法的概念和严格定义,而郑老师的风格就是唐突地把定义抛出来再反复灌输抠细节,我个人并不是很能接受这种授课方式。
  2. 敬业的郑老师很喜欢两节连上再拖个几分钟,有些同学可能会觉得全程听下来很爽,不过就咱的体验而言倒是宁可不贪那五分钟,用一点点时间换来第二节课全程打疲劳战,简直就是捡了芝麻丢了西瓜,毫无效率可言。哪怕改成第二节课拖堂我觉得都会好很多。
  3. 由于郑老师不喜欢念PPT,所以他的PPT不管是对于预习还是复习都写得不太友好。实在想拿他的PPT复习需要上课全程用笔记补全PPT,但其实看补全后的PPT还不如啃龙书。
  4. 郑老师讲课喜欢提一些边角旮旯的骚操作,这都是在龙书或PPT上看不到的,而即便如此,龙书+PPT+听课对于写郑老师充满骚操作的作业而言依然是不完备的。这是个很严重的问题
  5. 实验是补全pl0代码,坦诚讲这个实验设计得没啥意义。首先PL0的源码本身就写得没什么参考的价值(反观体系结构、操作系统,同样是代码补全类的实验,学生能在阅读源码的过程中学到不少成熟的设计思想和规范的代码写法),你甚至需要主动去适应那些可读性极差的命名方式和代码文件组织。退一万步讲,写个miniPython解释器要有意义得多。

当然,说白了,与这些相比,实验要求朝令夕改、考试偏题怪题频发才是最大的坑点。我的确认可郑老师在某些方面所体现出的责任心(比如考完试亲自改卷),但这门课也确实极大地消磨了我对编译的热情。也请各位不要抱有任何的侥幸心理,本学期的期末考试出了一个莫名其妙的C数组写法,而这道连环题一旦没猜对就是整道大题直接降一个总评级别的失分。而这个莫名其妙的写法,在此前任何郑老师的讲课、PPT、作业、教材里都没有任何提及。

 

 

3 0 复制链接
二木啦啦 2020秋
  • 课程难度:困难
  • 作业多少:中等
  • 给分好坏:一般
  • 收获大小:一般
  • 难度:困难
  • 作业:中等
  • 给分:一般
  • 收获:一般

只能给到四分。。。

完全放养状态。。。这么重要的一门课一学期只有一次习题课,群里问问题助教不知道是没流量还是咋,永远不回答,课程体验真的不好。

3 0 复制链接
silence 2018秋
  • 课程难度:中等
  • 作业多少:很少
  • 给分好坏:超好
  • 收获大小:一般
  • 难度:中等
  • 作业:很少
  • 给分:超好
  • 收获:一般

更新于2021.3

评课社区已出现循环。建议大家自行判断。当然我是推荐李诚班的,老师人很好,助教人也好,就是可能会比较费肝(毕竟利益相关:我是adsl的

如果你觉得诚哥班卷,不想去,那完全可以换到zql班上。但是期末别后悔。我同意隔壁班的同学说的这句话:

合着是愿意花时间在实验上是错误的?你愿意花2个小时背书我愿意花2个小时写代码我就不配高分?

啥?你想要事少给分高的六边形战士?还有人嫌张信明上课水哩。坤哥os实验也要慢慢变难。今年已经有个文档36页的实验了。


个人觉得,今年zql老师的这门课略微有点水。

首先,我觉得讲课挺无聊的,每次课的前20分钟还勉强能够保持专注,然而过了这段时间就会因为跟不上/讲的太慢等各种原因完全失去了听课的动力,于是只能课后啃PPT。但是啃PPT效果似乎也挺好(

其次就是实验安排比往年水。第一个实验是让你在PL/0编译器中增加while, break, continue, else和连续赋值语句。第二个实验是进行C语言声明语句分析。但是,这种实验布置也拯救了这个爆炸的学期(笑)。实验检查方式:第一次是抽取几组做报告,第二次是每组做报告。

最后,作业的安排也有点问题。自底向上分析、数据流分析竟没留过作业;期中考试之后只留了一次作业,使靠作业预习课程变得困难。

其实老师人挺好的,很欢迎我们向他问问题,我和几位同学考试前一天也去了一趟他的办公室提问。但是,由于前三点原因,这门课总是让我有一种怪怪的感觉。

课程安排:

  • 有一次期中考试,开卷,好像只占总评10分,而且考的太差会有补考。会考一些C语言的内容。
  • 期末考试中期中考试之前的内容占一小半,还会考一些PL/0的内容,以检查实验完成情况。综合大家考后反应来看,本次期末试题稍微有点难。

综合大家的反映来看,给分超好。

3 0 复制链接
匿名用户 2022秋
  • 课程难度:中等
  • 作业多少:中等
  • 给分好坏:一般
  • 收获大小:一般
  • 难度:中等
  • 作业:中等
  • 给分:一般
  • 收获:一般

垃圾助教NMSL

垃圾助教NMSL

垃圾助教NMSL

中后期助教态度好了挺多的,补3分

(最后修改于 2 0 复制链接
手嶌耶 2020秋
  • 课程难度:困难
  • 作业多少:中等
  • 给分好坏:一般
  • 收获大小:一般
  • 难度:困难
  • 作业:中等
  • 给分:一般
  • 收获:一般

首先,老师本人是没什么太大问题的,讲课也还行,甚至还自己一个人卖力地检查实验、改试卷。也很愿意和同学们交流。出的题目有一点点奇奇怪怪的。

第二,助教实在是有很大的问题,发个作业答案也不及时,据说也不为同学们答疑,或者就是回答不会。实验和试卷都是老师负责,也没什么习题课答疑课,工作量完全就是改改作业吧,工资到底发在哪啊???但是这学期经历了xk的课之后,我深刻地认识到,有一个什么都不管的助教是多么快乐qaq(不然我期中之后全抄别人的作业平时分能给我扣没 赞美!感恩!

第三,本人对这种半放羊式教学还蛮喜欢的,实验也不难,当初就是看中这一点才退了英才班而且也没去lc班。感觉还是调了分的,期末卷面估计不超过70,总评90。

2 0 复制链接
Mospiccc 2021秋
  • 课程难度:困难
  • 作业多少:很少
  • 给分好坏:一般
  • 收获大小:一般
  • 难度:困难
  • 作业:很少
  • 给分:一般
  • 收获:一般

上课体验极差,老师讲课想到哪讲哪,逻辑略为混乱,助教十分之摸,到了期末才知道助教的样子(可能是我习题课没听罢)。

怎么说呢,个人推荐能run李诚run李诚,能学到东西,给分也好,但今年似乎大部分人反向跑毒了,zql约定的40%优秀率实现了,给分非常的奶。实验内容比较少(作为一个大实验来说),这学期的大实验是Yacc语言与PL0的编译器的完善,主要难度在于实现数组的声明和初始化,整个实验≈lc1/3总实验量,总的来说不难,但膈应人的是无时无刻在变的实验标准,可能检查一次实验标准变一次,发现某个新样例过不了就得继续改,叹气。

作业一半魔法,只有魔法才能对付魔法,runtime的汇编语言简直是魔法之最。考前专门花了一下午去看汇编魔法怎么写,结果考试还是给橄榄了,只会写最后一个空。助教提供的作业答案不可全信,可能助教也搞不懂这些程序是怎么搞的,如果有疑问建议直接email老师。

zql十分关照学生,上课前进行随机游走来看(gank)大家在干嘛,问问学习过程有没有啥问题,虽然略尬,有幸被zql询问一次。除此之外还有一些比较迷惑的行为,比如期中考的时候二维随机游动到靠走道的人旁边看你答题,然后会提示一下你哪里可能有问题,以及考完期中考还让写期中反思然后不了了之,有高中班主任那味了。

总的来说:想摸鱼来zql,想卷/学东西去lc。

 

PS:最后给了97,真好

 

(最后修改于 1 0 复制链接
zqldsr 2021秋
  • 课程难度:中等
  • 作业多少:中等
  • 给分好坏:杀手
  • 收获大小:没有
  • 难度:中等
  • 作业:中等
  • 给分:杀手
  • 收获:没有

别看了!快跑!!!!

跑啊!!!!!!!!

1 0 复制链接
  • 课程难度:困难
  • 作业多少:很少
  • 给分好坏:杀手
  • 收获大小:一般
  • 难度:困难
  • 作业:很少
  • 给分:杀手
  • 收获:一般

我特地来看鸽王的2333

教的还好,但是我没太听懂。。。

我就记住了他是雷军的校友。。。

踩踩

1 0 复制链接
Fallenwood 2015秋
  • 课程难度:中等
  • 作业多少:很少
  • 给分好坏:一般
  • 收获大小:一般
  • 难度:中等
  • 作业:很少
  • 给分:一般
  • 收获:一般

我也再不随便选课了T_T

1 0 复制链接
flowflow 2021秋
  • 课程难度:中等
  • 作业多少:中等
  • 给分好坏:超好
  • 收获大小:很多
  • 难度:中等
  • 作业:中等
  • 给分:超好
  • 收获:很多

    鉴于郑老师连年差评,我来拉一拉分。

    老师本身的讲课没啥太大问题,无论是当堂听课还是回去自己啃ppt搞懂知识点都完全没有问题。这门课之前差评的原因一直是给分和助教两方面。关于给分,有一位勇士给郑老师发邮件阐述了优秀率给满的必要性并被郑老师点赞,所以今年优秀率应该是给满了。关于助教,仍然拉胯。一共有三位助教,其中一位问问题从来不回,其余两位问题回得较快,但是很多时候他们自己也不会,导致最后我不得不直接给老师发邮件问问题。而且最后发布的习题答案也有几处错误。关于实验,只有一个任务,我们组用两天就全部肝完了,整个学期就这么一个实验(而且github上有一堆参考代码)。关于考试,这次的C魔法考的比较简单,大多数都是老师课堂上强调的考点,认真过一遍ppt和作业问题都不大。关于老师,其实我想说,郑老师挺认真负责的,我晚上11:30给老师发邮件老师15分钟就回了,并不止在邮件中回答了我的问题,还举了很多例子帮我理解,这一点让我挺感动的。

    最后总结一下,这个班是是三个班里面最养老的,实验最少的情况下优秀率也能给满。如果不想太卷,不想每两周做一次实验,这个班是首选。

0 0 复制链接
zeddthegoat 2020秋
  • 课程难度:中等
  • 作业多少:中等
  • 给分好坏:一般
  • 收获大小:很多
  • 难度:中等
  • 作业:中等
  • 给分:一般
  • 收获:很多

讲的莫名感觉不错?大作业也就是一个mini-Python。

但是小测和考试真不是人写的,梗倒是产生了不少,冲冲冲常见梗:人(上人)*

0 0 复制链接
yqy 2019秋
  • 课程难度:中等
  • 作业多少:中等
  • 给分好坏:超好
  • 收获大小:很多
  • 难度:中等
  • 作业:中等
  • 给分:超好
  • 收获:很多

墙裂推荐!

课讲的很好很生动,期末大作业是mini python,理解原理之后并不难。老师精通c语言各种奇怪的语法,受益匪浅

考试题题量我觉得不算小,难度也不简单,期中小测经常有连环题,但是给分很好。

墙裂推荐!

0 0 复制链接
putatio 2019秋
  • 课程难度:困难
  • 作业多少:中等
  • 给分好坏:一般
  • 收获大小:一般
  • 难度:困难
  • 作业:中等
  • 给分:一般
  • 收获:一般

实验写了个mini python解释器,完成基本元素类型及基本函数操作等,其实理解原理了就不难

老师自己也提前花一个晚上写了一份用来展示效果,说大概四五百行吧

然后小组就一共写了一千五百行完成了要求的功能

然而总有大佬几乎独立完成了py全部功能(安详

 

上课基本没听过,自己在下面看ppt,偶尔来兴趣听一会儿就睡着了

两次期中闭卷,范围从开学到考试的全部内容

都是大题,而且后面的题会和前面的相关,就很慌

助教只说都很好,平均分及格了

期末统考删减了一些,会提前划范围,甚至根据群众意见删掉了一块考试范围

感觉自己都没及格,总评3.0已经满足了(

 

ps,老师特别喜欢++和指针的各种骚操作,只有QLcompiler能编译那种谨慎选课

0 0 复制链接
长者 2017秋
  • 课程难度:困难
  • 作业多少:中等
  • 给分好坏:超好
  • 收获大小:很多
  • 难度:困难
  • 作业:中等
  • 给分:超好
  • 收获:很多

这门课难度的确很大,期末考试居然三道题考了一堆稀奇古怪的C++表达式,类似int *(p[])[] 这种,感觉考炸了,差不多0分那种。不过期中考试还好。 实验是根据PL0继续完善一个编译器(生成一个简单的栈机器的机器码,栈机器就在c文件里实现),暴力写了大量递归函数,导致一个c文件长达3000+行,当时老师还和我讨论了好几次 最后给了4.0,跪谢

0 0 复制链接
cmer 2017秋
  • 课程难度:困难
  • 作业多少:中等
  • 给分好坏:超好
  • 收获大小:一般
  • 难度:困难
  • 作业:中等
  • 给分:超好
  • 收获:一般

这门课感觉还是蛮难的,不过有调分(应该吧

0 0 复制链接
lwayjy 2017秋
  • 课程难度:中等
  • 作业多少:中等
  • 给分好坏:一般
  • 收获大小:一般
  • 难度:中等
  • 作业:中等
  • 给分:一般
  • 收获:一般

考完编译原理来答一发,郑老师人很和蔼,给人很亲切的感觉,有时候也蛮幽默。课讲的也挺好的,给分目前还没出分。具体比例是实验35,作业15,期中10(因为本来没有期中,临时加的所以占比比较低),期末40。

实验是老师给一个很雏形的PL0语言,让你添加各种功能和语句。因为是分小组,而且最后检查个人感觉比较水,所以要想划水还是蛮容易的。但是老师期中期末会有较大比例(约40%)的试题是涉及这个PL0的,所以好好做还是没错的。试题的话比较爱出的题大约就是DFA,LL(1),LR(1)文法,语法制导翻译这种。如果单纯应付考试的话,其实还蛮容易的。

0 1 复制链接
夏树请问老师有课程主页啥的吗

立即登录,说说你的看法

runday 2015秋
  • 课程难度:中等
  • 作业多少:很少
  • 给分好坏:一般
  • 收获大小:一般
  • 难度:中等
  • 作业:很少
  • 给分:一般
  • 收获:一般

这门课的实验比例给你说是这么多,实际上基本为0,好好考好期中期末最重要,最后成绩82

0 5 复制链接
我就明确告诉你考试难不难呀
runday文法题出得难,其他偏门部分不难
runday回复 @我就明确告诉你: 双学位的编译应该是张昱教的,水平高,挂人无情,大四挂让你白读双学位
我就明确告诉你回复 @runday: 然而我是辅修,哈哈
我就明确告诉你回复 @runday: 不选这个张昱的课就是了。我课内也有编译原理,在想要不要选计院的这门课呢

立即登录,说说你的看法

郑启龙

教师主页: 戳这里

其他老师的「编译原理和技术」课

李诚 8.4 (45) 2022秋 2021秋...
李卫海 7.0 (2) 2019春 2018春...
张昱 6.5 (11) 2021秋 2012春
未知 2016秋
陈意云 2011春 2007春...
陈意云, 张昱 2010春 2009春...
李诚, 吴思 2021秋

郑启龙老师的其他课

并行程序设计 6.8 (6) 2022秋 2021秋...
编译原理 2012春 2011秋...