| 选课类别:计划内与自由选修 | 教学类型:理论实验课 |
| 课程类别:本科计划内课程 | 开课单位:计算机科学与技术系 |
| 课程层次:专业核心 | 学分:4.0 |
本课程是计算机科学与技术英才班的专业核心课,目的是让学生对程序设计语言的设计和实现技术有深刻的理解,对和程序设计语言有关的理论有所了解,并能把本课程讨论的概念和技术用到软件设计和开发中。本课程介绍编译器构造的一般原理和基本实现方法,其内容包括词法分析、语法分析、类型检查、运行时存储空间的组织和管理、中间代码生成、代码优化和目标代码生成等部分。本课程在介绍编译器各逻辑阶段实现技术的同时,还强调形式化描述技术,并以语法制导的定义作为翻译的主要描述工具。作为原理性的课程,本课程介绍基本的理论和方法,而不偏向于某种源语言或目标机器。与普通班的同类课程相比,本课程重点增强课程实验的难度和复杂度。
教学与课程内容 张昱老师的《编译原理和技术(H)》课程内容丰富且理论与实践结合紧密。课程涉及词法分析、语法分析、语义分析等高级主题,知识拓展较多,包括GLL、GLR等形式文法及LLVM工具链的实际应用。PPT内容充实,但较为冗杂,有时上课节奏偏快。教材被一些同学评价为不易理解,但课程本身提供了足够的深度和广度。
实验与作业 实验以构建一个类C语言编译器为目标,涉及词法、语法、类型检查、中间代码生成等。实验工作量大、难度递增,特别是后期的组队项目,需要独立思考与合作完成。实验帮助学生掌握C++高阶特性、Git和LLVM等工具,有助于培养项目管理和解决问题能力。然而,实验框架偶尔导致配置问题,给部分同学带来不便。作业每周发布一次,题目数量和难度相对合理。
考试 考试对学生的灵活应用能力要求高,题型多样,难度大。期中期末考试设计精妙,题目考查内容的深刻理解,开卷形式允许带电子设备,但考题涉及知识点运用,并非简单记忆与查阅。一般来说,考试中的知识点需要综合运用,常见于作业和习题中。
给分与评价 给分相对严格,但老师在期中期末考试中提供了一定的补救空间(如24分满分按20分算)。实验、作业和最终项目对总评有重大影响,尤其是大作业的表现可能影响最终成绩显著。张老师以“不调分”著称,但会基于学生整体表现出具合理成绩。
总体评价 张昱老师被评价为认真负责,教学质量高,充满热情,关注学生学习体验。课程总体收获丰富,是计算机编译原理领域的重要学习机会,对计算机科学基础和应用都有极大帮助。对于有志于计算机系统层次深入学习的同学尤其推荐,但需有充足准备来应对较高的课程强度和挑战。
最后一次作业是自己设计题目,大家匿评
开始觉得很逆天(无聊),但是为了完成任务还是搜了几个编程范式上比较有名的话题,出了两道题
没想到的是匿评的方式效果出乎意料的好,大家都好有礼貌的在交流,而且基本上都是对一些比较新或者妙的点的观察,评价完别人+回完别人对自己的评价之后感觉挺有收获的。
真不知道该咋说啊,利益一点这门课出分之后学期GPA掉了0.2,但是平常实训和大作业都是认真完成了,看来是期中完全炸裂导致的。
摆了,不要掉到保研线以下就行😋
今天去查卷,着实让我领教了张昱教授道貌岸然的外表下的糊弄本色,也恰巧与其上课作风一致。
虽然这门课对我总G影响很有限,但是为了看看自己死在哪里还是申请了查卷。按道理来说查卷中发生的改卷错误,订正过来是很合理很正常的,本人也做过助教,对这种事向来都持宽容态度。但是张昱教授在查卷时的态度令我恶心,具体罗列如下:
进入大三,我的一些同学纷纷退出英才班。经过我一个学期的观察,在其他老师班上上这门课,要么老师态度很好,要么给分很好。但是英才班这坨shit已经吃完了3/4,怎么办呢,吃完呗。
奉劝之后的同学:学完OSH和CODH就可以退了,大三之后英才班根本没有待的必要。
泻药
老师喜欢班上教育人
例如:你们后面一定能用的到这么课xxxxxx
实验一堆不知所云,简称一坨shit
最后的大实验也很无趣。
研究本来就是兴趣驱使,强迫不喜欢这门课的同学在课上做该门专业的科研研究初步,你觉得是不是脑子里面指定装的不止脑花。
很蠢的课,就是喂学生吃shit。
大三能退英才班的就退吧,别在这班上吃shit了。要修其他英才班的课程你高级替代不香吗?真无语了。
这门课花的时间能占三门课的时间。讲的也没李诚班好,最后一个实验还照搬李诚班的实验,那我为什么不去李诚班,要来这个课上吃shit。
反正这门课后,要恶心我至少一年,怎么有这样迷之自信的老师啊。。。。。
还有:迟到了,在外面站一节课再进来,笑死了。欢迎来到zy老师大班课堂,给你妈妈一样的感觉。
更新:张昱老师真牛逼,我还是有点素质吧,不在这里开始喷你了