非官方网站,与上海交通大学及其任何部门无隶属、授权或合作关系。

吴明瑜 · 编译原理与技术修读档案

共 18 份可公开修读回执

清除筛选
? 最相关怎么排

“最相关”根据评论内容完整度、有用票及课程教学信息丰富程度排序,不按好评或差评倾向排序。

2024年秋季学期 · 吴明瑜、臧斌宇

历史匿名回执 ·

如果不是非保研进ipads,完全不推荐任何人选sys方向,三个课程里只有操作系统有较大价值(这门课书写得很好,自己啃书就够了),其余课程纯纯浪费时间和精力,不如挑个压力小的方向然后伸手要课件自学,sys-track想拿高分难度也挺大。 如果是想就业的同学,也不如把时间精力投给算法方向或者提前学八股和场景,选择面会更广。 真到就业的时候,没人在乎你写的compiler,至于k8s,翻翻往届学长的作业文档也足够把它写进简历应付面试。 应该把精力投到更有价值的事情上。 上面只是一个普通学生的感受,如果志在ipads,而且能力很强,sys-track很适合这类人,但没那么适合普通人。 --- 不过有一说一,好处还是有的,就是简历上能挂一个看起来很唬人的占位项目,这样就只用准备和面试官解释chfs, ebookstore, lsmkv了,至少我是放在简历最末尾,确实也没人问,不问你面试官就默认你真会。 --- ipads体验一流的课给软院全体同学上,屎只喂给sys方向的吃,伟大。 --- 第二轮抢选,再顶,别信课程改革,改革只会抄都抄不到,参考去年后端改llvm,也别指望助教能给你准备多丰富的文档,就那么几个人,去年给的ref要么是巨量官方抽象屎文档,要么是零零散散莫名其妙的PPT,一门连文档支持都没有的课,给分还是{0,100}的分布,完全不提供任何有用信息,全靠自己debug,真别来选(这里点赞CSE助教提供的文档,chfs做起来有明确的给分标准和实现路径)

学生体验,不是官方事实。评价教学,不评价人格。
此回执链接
2024年秋季学期 · 吴明瑜、臧斌宇

历史匿名回执 ·

课程内容:前面同学说过的那套,照抄不打折。 上课自由度:高。 考核标准: - **lab分数**:lab1~4 & lab5-part0 各5分,lab5-part1, lab5-part2, lab6 各25分。迟交3天内扣20%的分。 - **总分**:lab分数 * 0.6 + 期中quiz * 0.2 + 期末quiz * 0.2 - 答辩扣分 --- 先别急着横向对比别家的给分,就这门课本尊,咱一条条掏。 ## 上课情况 来上课的有多少?来的里头在听的有多少?在听的能跟上的有多少?跟得上的能掌握的又有多少?我不知道,像薛定谔的教室——但看目前这些评价,非常稀少。 至少我坐在那儿,get到的不是“哇哦原来是这样完成的”那种开天眼的新奇,而是慢性自虐:每句话单独都能听懂,合在一起就像把一堆正确的零件倒进洗衣机。明明课上理解了,回头再看一眼又开始云里雾里,仿佛大脑自动打了马赛克。课上本该讲清目标、讲清原理、讲清为什么可行、为什么这么做是好的;而不是死磕Lab(很可能同学还没见过)的内部实现。这些东西塞进Lab文档或注释里,才是更优解。 --- ## Lab情况 从C语言的Lab改成了C++版,这是好事。但文档给得不明不白,可以说基本没有,只告诉你改哪几个文件;代码注释也不明不白,孤零零一句 /*TODO: your implementation here. */,等于发了个寻宝任务连张藏宝图都不给。得自己一个文件一个文件翻完全部代码,才知道要干嘛。代码结构划分的那叫一个**复杂**,改一行代码得跨过多少文件、多少命名空间才摸到相关的老巢。 各part的解耦也做得很迷惑,这跟前几个part的测试数据集太弱也有关系。写Lab5-part2时,得**回头大改**part1的内容;写完Lab6,debug时间却基本都花在改Lab5-part2上。这分配真的合理吗?对着测试数据编程,狂加If-Else打补丁,真能提升编程思路和水平吗?我们改掉的,真是那个真正搅事的“Bug”吗? Debug本身也极其酸爽,得跑去一个个测试文件、make文件、以及那些理应毫无问题的给出代码里,挖各种文件的生成方式与逻辑。这些完全可以一份文档统一交代,这也许算个优化方向吧。 另外,每个Lab的**分数梯度差得离谱**(还是出分后才知道的),后3个Lab的占比吊打前面。而且一个Lab内部的梯度也巨大,**完成95%的代码往往还是0分**,写的时候根本没法验证自己这部分对不对,只能全写完对着一屏几百行、可能是几天前写的代码开始人肉debug。这workload无疑是巨型债务,何况我们还得上别的课、做别的作业,不可能一个猛子扎进一个Lab。碎片时间里搞这种Debug已是地狱难度,前面说的返工还进一步把碎片切得更碎。 --- ## 考试情况 **没有任何新意**的出题,一年更比一年**复杂**的出题,我只看到考试对人类的恶意。这样筛出来的,只是**拟合**往年题更稳的“智能”人工,是**手速**更快、更不出错的“电脑”,而不是更有思考、更能解实际问题的同学。我承认高分选手经历了海量训练,也承认他们配得上高分,但这训练和测试的过程有多煎熬,大家都看在眼里。两次quiz里那些模仿电脑执行过程的题,真能考出我们掌握了几成吗?这能力难道不该体现在Lab的代码里?复习阶段我只感到痛苦,没能查漏补缺、了解自己的短板趁机上分;考试又只看到一着不慎满盘皆输的剧本,没有“Eureka!我竟然想到这招”的狂喜。 另外,答辩安排在期末周,前后夹着考试恨不得只有一个脑袋,基本上没时间准备。还有答辩时说只考察Lab是不是自己做,可我这个从头独立干完的人照样被扣了分。再往上,答辩给的分竟然是**直接扣在已经算好的总分上**(与#16400给的给分方式已经大不相同),这大概也独此一家了。

学生体验,不是官方事实。评价教学,不评价人格。
此回执链接
2024年秋季学期 · 吴明瑜、臧斌宇

历史匿名回执 ·

这个lab非常ez,请务必别给自己留任何时间做完它。 但咱们的sys😀 稳得一批啊sys😋 谁来都碰不动sys😙 咱们的sys还在持续输出😏 平板第三手pick永远就是这几个Lab!😏 compiler来了!compiler来了!😃 #39299 咱俩!🥳🥳🥳 守住#39299!🥳🥳🥳 守住咱们哥俩🥳🥳🥳 你扛得住CXX那伤害吗?一下一百😎 类型检查在CXX上原地游龙!😄😄😄 哎,EC了!得盯防SIGSEGV!😮 diff被段错误直接吞了😟 而且寄存器要被草飞了!😱😱😱GC这么搞也不好走啊,能回收吗,好像过不了😭😭😭😭😭😭 哇~compiler这波lab是真的要命😨 哇😨 哇😨

学生体验,不是官方事实。评价教学,不评价人格。
此回执链接
2024年秋季学期 · 吴明瑜、臧斌宇

历史匿名回执 ·

编译原理这lab,含金量高得跟工业界的传家宝似的,认真做完直接原地升级,今年还改成了llvm,离工业实践就差把工牌挂你脖子上了,能摸到llvm IR,找工作时这玩意儿往简历上一写,HR眼睛都得亮一下,助教还顺手搭了套cicd,这服务态度放整个教务系统里都得算卷王级别。 上课确实工程化到有点上头,但整体不拉胯,老师也是真备课了,毕竟编译这玩意儿本身没多少原理能掰扯,最后讲GC那种才是纯原理闪现。 助教答疑的耐心程度,值得裱起来。 期末考看得出来助教手动降了波难度,对认真复习的人是实打实的友善。 总的来讲这课非常好,瑕不掩瑜,求老师别被舆论牵着鼻子走,硬核就硬核到底,某些同学向来是撒泼打滚专业户,别搭理。 > 衷心期盼软院课改别一看见AI是风口就急着往互联网课里塞AI intro,能不能真刀真枪把学生的专业水平和竞争力往上抬一抬。 也盼着软院的学生别一瞅见AI热就不肯写代码、不肯debug、不肯碰corner case,转头就想逼老师把课兑水,还美其名曰课下"自由发展",能不能真刀真枪把自己的专业水平和竞争力往上抬一抬🤗 > 我认为唯一能抢救的,就是把期末quiz的分数调一调。 某些同学撒泼打滚,说到底就是惦记着调分,图穷匕见了属于是,事实上系统方向给分本来就比别的方向松出一大截,编译没学明白,倒先把按闹分配这门手艺练得炉火纯青,再次恳请老师别被虚张声势的舆论绑架。

学生体验,不是官方事实。评价教学,不评价人格。
此回执链接
2024年秋季学期 · 吴明瑜、臧斌宇

历史匿名回执 ·

# 取名“串”的那位兄台,咋帮宇!?又咋帮瑜!? 嚯可可可这叫一个纯,敢问你会玩原神吗? --- 埋头做编译;(指写lab这活儿) 转头遭报应;(指写lab全程的亲身体感) 这般苦硬核?(指常言的“系统的课很硬”了) 怎么不赢下来?(指在水源那儿的评语sé好看得很) 此不应当!(学生心头那点波澜不该被轻轻略过,也不光这张课或这个sys方向摊上,是打从大二下学期以后哪哪不留神就碰脸的那些零零总总)

学生体验,不是官方事实。评价教学,不评价人格。
此回执链接
2024年秋季学期 · 吴明瑜、臧斌宇

历史匿名回执 ·

课程内容:从lex一路杀到后端寄存器分配,编译全家桶端上来 上课自由度:高得离谱,偶尔签几次到,你上课干嘛都行(事实上听的人一只手数得过来,这不是修辞,是纪实文学) 考核标准:lab 40%,lab答辩20%,期中期末的quiz各20% 授课质量:单看上课态度,老师是真的尽力了,尽力到让人心疼。但课程安排、lab安排、试卷考察内容,属实难以恭维。这课从分数组成看就是lab当家,可做lab的体验是:1.开局不知所云,压根摸不清该填啥、实现啥,翻开lab只有一行/*TODO: your implementation here. */,后端为例,上课先讲lab架构,可lab还没发布/你还在肝上一个,上课全程问号脸(顺带,这课回放音质也烂,声音忽大忽小杂音拉满,看回放属于双重折磨)。于是翻PPT,PPT贴了一堆代码,但基本得把代码扔给gpt解释,学习曲线陡到像攀岩。能不能学学隔壁CSE,人家文档虽然也说不清,但每步、每个目标、分阶段测试做得齐全,建议Lab文档好好补课。2.好不容易上手,代码快写完,后面就是对着测试集狂堆if else,纯纯浪费时间,对编译的理解、对debug的提升都十分有限。 至于考试,欠喷。AI时代,把自己训练成AI了属于是:拿往年题(测试集)拟合一套参数(和编译本身脱节的做题套路),再去解考试题(测试集)。这套参数教给一个初中生,没听过一节编译课,够细心也能答个八十分。这真是这门课的初衷吗?隔壁ICS也玩固定套路题,但22级期末也变了。 希望课程改良吧。希望软院课程改革别一看AI热门就往课里塞AI intro,真能提升专业水平和竞争力吧。助教把lab往llvm上改也不容易,但还是希望多从学生角度改进,希望这课未来配得上22年水源上对se课程的评价。

学生体验,不是官方事实。评价教学,不评价人格。
此回执链接
2024年秋季学期 · 吴明瑜、臧斌宇

历史匿名回执 ·

回复#39299,也不枉我找了这么久的图片。 ![picture](https://i.ibb.co/MZ5hNfc/picture.jpg) 第三条第四条第六条直接一键三连带走,连挣扎都不带挣扎的。 --- 这门课的槽点多到像编译原理里的状态机,一开口就不知道从哪个状态开始爆…… 刚出考场,先聊考试。我不觉得这种考试能达成**任何**考核目的,题型基本复制粘贴,唯一的变量就是复杂度年年往上叠(期中期末都一个德行),给你一种"我不是来测你学没学会的,我是专门来恶心你的"的体感。真要写完也简单,把前几年的卷子刷成肌肉记忆,所有的图手画到闭关出山,把英雄熟练度拉满,上考场直接依葫芦画瓢,大不了多迭代几轮。但我请问呢,这样考**有意义吗**?都上大学了还在玩高中这套题海,这门课的考核方式是不是有点**过于落后**了? 我不是编译器,我脑子的计算速度也慢,我就是算不过来。电脑越来越快,为什么还要拿人脑去硬算这种复杂度拉满的玩意儿? 再说Lab,看出来助教们是想把它改造成C++了,但手刚伸出去又缩回来。各种Table各种Graph一看就是浓浓的C味,**表面写着C++,实际用起来别扭得像穿了反的袜子**。文档约等于没有,对Lab框架的理解基本全靠自己啃代码。也许有人说,课上不是讲过Lab吗?我请问,Lab都还没发下来,就对着里面几个函数讲这个参数干嘛、那个函数咋写,你是真能听懂哪怕一点点吗?这框架又不是我设计的,函数在哪调用、有啥用我们一概不知,代码影子都没见着就开始抠细节,这听得下去才有鬼。 据往年的学长学姐说,这门课也不捞,考多少就是多少。行吧,只能说选了sys就是选了责任自负。

学生体验,不是官方事实。评价教学,不评价人格。
此回执链接
2024年秋季学期 · 吴明瑜、臧斌宇

历史匿名回执 ·

今年quiz那是直接开地狱难度,明显比近几年难出一个次元,助教的出题哲学就俩字:题型不能改,那就把复杂度给你嗯叠成千层饼,同一套逻辑让你在考场上多推多算,狠狠多转几圈。 --- 同意 #39299 的观点~ llvm IR,找工作的时候那真是猛猛加分 最后考试反倒狠狠降难度了,能看出来你是一位认真准备的同学,向你学习 系统方向给分太比其他方向宽松了!!!唯有感恩

学生体验,不是官方事实。评价教学,不评价人格。
此回执链接
2024年秋季学期 · 吴明瑜、臧斌宇

历史匿名回执 ·

This lab is very difficult, please leave yourself enough time to finish this lab.” “This lab is very difficult and hard to debug, please leave yourself enough time(at least two week) to finish this lab.”这两句就跟游戏开场暴击红字一样:跑!人家预早警告你把命续上。

学生体验,不是官方事实。评价教学,不评价人格。
此回执链接
2024年秋季学期 · 吴明瑜、臧斌宇

历史匿名回执 ·

编译这玩意儿,我这辈子算是跟它结下梁子了.jpg 写代码写出快乐?我上一次有这感觉可能还在娘胎里.jpg Lab5-part2 硬磨了将近30h,耗时差不多是Lab5-part1的一半,人已经半只脚进土了 —— 这就是编译原理啊,把自己当CPU使唤、当寄存器调度、当流水线运转的编译原理啊! 我特别好奇之前那两位哥们是咋整出五星好评的,天生的系统圣体是吧? —— 某些shabby玩意成天惦记着分,就觉得凡是有人指出课程问题那都是冲着分去的?到底谁图穷匕见了?课程有问题还不让说了?说部分Lab引导不到位、逼得学生动笔前得额外砸大把时间去啃,这算闹?说课上讲代码底下听不懂,这算闹?那你可真够幽默的,但凡把问题摆出来就扣个"按闹分配"的帽子,合着不是所有人提这些都心里揣着那点破分数。 考完个quiz就飘了是吧。 同学们喊太难,不代表不想学那套所谓的"屠龙技",也不是想让这课注水,而是这门课学习曲线陡得跟悬崖似的,就盼着有更完善的文档引导把整个学习过程给抹平点。同学们吐槽考试机械化,是因为这门嘴上说重工程的考试里头有40分是刷题刷出来的,而教学内容压根不给"考试技巧"指路。更别说刷这40分的过程中,经常能撞见卷子答案里不对的地方,纯纯白费时间。更别提考试那会儿寄存器分配甩一大堆指令列表写in/out,纯拼手速,是个人都得红温。但凡把考试题目从"量"上砍一砍呢? 看见你这种shabby我是真急了,编译lab没把我逼急,考试没把我逼急,但看见你这种shabby我是真气笑了。看见你这种课程舔狗又好气又好笑。往那一放贴个编译原理标签的假洋剧,你是不是能舔上好几个小时。 —— 这下一粉顶十黑了,串的、黑的,永远干不过真情流露,笑死。 —— 《三字经·战编译》 战编译 无眠夜 赞编译 伪美誉 众抱怨 无满意 真不易 吾命硬 —— 这门课程,结束!芜湖 —— 最近正好在选课,这边这么多评论劝退,你要是选了进来吃矢吃噎着了可别怪没人提前打招呼,不是奔着底层研究去的赶紧溜

学生体验,不是官方事实。评价教学,不评价人格。
此回执链接
2024年秋季学期 · 吴明瑜、臧斌宇

历史匿名回执 ·

期末考完了,回来给这门课做个尸检。这次考试纯纯粪题。前面还能苟,函数式编程画图那块属于玄学现场,书本、助教、老师、提问的同学四方会谈,各说各的经,越讨论越像在解梦,也没人出来一锤定音。前一问也够恶心的,怕时间不够直接弃疗。最后寄存器分配是矢中矢,考试不就想看看大家学没学会吗,搁这叠复杂度是图啥?学生学不懂只能像炼丹一样对着往年题硬拟合,结果往年题一堆错,相当于给AI投毒,出题人怕你拟合完不会也能蒙出来,就死命加复杂度。没完没了。好在quiz占比不高,我选系统方向的时候就已经心理建设过了,不在乎分数了。但确实被恶心到了。 ---- 分割线 ---- Lab难度大,毕竟我们是第一届,没有前车之鉴,往后可能状况会好点,起码学弟学妹做不出来能抄抄我们的。就说今天lab5-part1,我从周四肝到周日,在copilot的辅助下,连死四天(只有今晚熬了点)才写完。就希望ddl能松一点(lab5不是分好几个part吗,为啥不能所有part共用一个ddl呢?)。助教确实给足了提示,答疑也及时耐心,也提前说了让大家留够时间。但这时间是我说留就能留的吗?默认大家这段时间没别的要紧事?没别的作业?CSE的raft我还一点没动呢我靠。 软工系统方向学生课余workload过大基本是共识了,别老怪什么“量化派”散布负面情绪。同学们没时间实习没时间活动,一门心思扑在编程上,当合格“耗材”倒是容易,可要怎么做真正有创造力的人呢。赶紧改革减负吧。 (二编:水源上有人说“不做lab哪来的创造力,天马行空吗”,那我就问隔壁计算机要做这么多lab吗,科技圈那么多大佬,有几个人的能力是靠天天赶作业和lab的ddl赶出来的?多留点时间给大家自由探索不好吗。我觉得离散数学的bonus lab机制就挺好,做出来加分,做不出也不影响。成长路径那么多,怎么就默认最累的那条最适合所有人)

学生体验,不是官方事实。评价教学,不评价人格。
此回执链接
2024年秋季学期 · 吴明瑜、臧斌宇

历史匿名回执 ·

量大管饱的实验室狂欢节,se等于把人类社交功能格式化:没有社交、没有娱乐、没有生活,只有lab lab lab lab在单曲循环——

学生体验,不是官方事实。评价教学,不评价人格。
此回执链接
2024年秋季学期 · 吴明瑜、臧斌宇

历史匿名回执 ·

- **极度不合理的上课内容**:上课本该讲概念、算法、原理这些人类的胃能消化的东西,而不是直接甩代码,甩得人不知所云,找不到重点。老师水平再高也没用,授课效果一言难尽。课上ppt展示的代码,搬到lab文档里去它不香吗?效果应该会更好。 - **遮掩模糊的lab文档**:lab确实让我学习了很多,我认,但这过程中浪费了太多时间,每个lab都该配一份完备文档,把目的、接口、伪代码详细写清楚,看完就能懂这个lab 80%的内容,而不是像lab5-1一样,得同时翻课本、ppt、注释、助教的“答疑”,让同学做无用功。 - **极度公式化、模板化的考试**:这一点并非对所有课程都是坏事,但对这门可以称为计算机领域一大核心课程的课来说,是一个不可否认的败笔。计算机和人脑构造差别巨大,适合的任务也大相径庭,在一个人工智能时代,还让学生以极度公式化、模板化、机械化的方式“拟合”考试题目,用人脑复现算法,用铅笔橡皮运行代码,是时代的倒退,这么筛出来的绝对不是社会需要的人才。 - **新旧参半的架构**:整个教学体系有一种割裂感,尤其体现在编译后端,主要在两个方面: - 考试:如前所述,考试不仅过度侧重于机械化的训练,还塞了大量已经过时的内容。出卷人还不愿意改试卷结构,而是简单增大每道题的计算复杂度,省了老师的时间,废了同学们的时间。 - lab:众所周知,lab原先是C语言版本,后来被一位助教重构成C++版本。然而这重构并不完全,还留着裸指针、过程化等C语言味道,与现代C++开发范式还差着一条马路。 --- 真正好的课程应该与时俱进,而不是一味守旧,觉得稳定执行多少年的东西就是好的。

学生体验,不是官方事实。评价教学,不评价人格。
此回执链接
2024年秋季学期 · 吴明瑜、臧斌宇

历史匿名回执 ·

# lab这玩意真的存在什么意义吗,不如直说毫无意义!!! debug……debug……真的不会de求了…… --- 这个世界上根本没人真正会写lab吧,哭啊。 --- 整门课散发着一种气息:如果本来就懂他要讲什么,会觉得老师倒确实点出了重点;但换一个纯新手坐到那个泥里面,基本等于听天书。 刚一开始老臧老师上课的时候,全程线,不知道他在讲什么还可以安慰自己看看书也行; 但随着后端课程设计改得亲儿子都不认识一件,连翻书也翻不懂。感觉wmy人讲得十足认真,听得出来人家真的在认真讲,只是,咱们真就听不懂,呜呜。 ---

学生体验,不是官方事实。评价教学,不评价人格。
此回执链接
2024年秋季学期 · 吴明瑜、臧斌宇

历史匿名回执 ·

## 课程内容 Modern Compiler Implementation in C + 词法分析(Lexical) + Lab 2(**5'**): Lexical Analysis + 现学 `flexc++` + 文法分析(Parser) + Lab 3(**5'**): Parsing + 现学 `Bisonc++` + 语义分析(Semant) + Lab 4(**5'**): Type Checking + 逃逸分析、活动记录(栈帧)、翻译IR + Lab 5 Part 1(**25'**): Escape Analysis and Translation + 现学 `LLVM` + 指令选择 + Lab 5 Part 2(**25'**): Tiger Compiler without register allocation + 生成有临时变量的x86汇编 + 活跃分析、寄存器分配 + Lab 6(**25'**): Register Allocation + 垃圾收集 + 面向对象 + 函数式程序 ## 评分 *没有**正规**的期中期末考试,没有**平时**分* |项目|占比| |--|--| |Lab分数|60%| |期中Quiz|20%| |期末Quiz|20%| |答辩|0%(可能总评**倒扣**20分)| ### 迟交扣分 # 迟交3天以内扣除20%,7天以内40%,之后50% ## 上课自由度 高,偶尔签到。但全勤也白搭,因为根本没有平时分这个物种存在。 # 请直接翘课! 教室安静得像进了图书馆的静音自习室,上面一个人念经,下面一群人各玩各的各睡各的。 课后也偶有人鼓起勇气提问,但基本上问的都是这节课前20%的内容——后80%嘛,人类早已全体鸽化。 依旧——一片死寂。 ## 授课质量 低穿地心,讲不明白。PPT直接往几十页代码一贴,课堂上人类的眼睛完全跟不上这种闪现流。 理论部分举例子糊成一团,然后难度还明显低于考试。 ---------- ## Quiz质量 ### 期中Quiz成绩分布 |分数段|人数| |--|-----| |50-59|1| |60-69|7| |70-79|12| |80-89|8| |90-100|11| ### 期末Quiz成绩分布 |分数段|人数| |--|-----| |50-59|0| |60-69|6| |70-79|11| |80-89|11| |90-100|12| **ICS、算法考笔试**那套是课堂上讲题目做题目,给你现场标本。译的答案是连写都写不清不白,过程?不存在的。 就拿那些算法来说,执行流程毫不统一,做题这回事纯纯玄学靠猜。 也不是没在课程群里求教过做法,然而老师只说,绝不下笔,助教也打死不肯给出哪怕一份过程。 期中考试光是给你画个Grammar分析就得让人类去B站擦考研题当伴奏,考试时只要看漏一个符号,一半分当场蒸发。 ------- # 建议 1. 每周**课上就直接带我们刷题**,另外**再加习题课**,要不再出一本**辅导讲义**。(参学ICS,人家同样有Lab有Quiz,人还能每周专排一天讲题) 2. 给**Lab文档**修修补补,请给出**看得懂的人话**,说实话一旦弄懂怎么做了,这些Lab吧就干瘪得像句废话。 3. 评测体系得搞逻辑,按步骤给分,而不是玩那种你做到90%然后盯边界条件补不补的ALL-OR-NOTHING梭哈游戏。 --------- # 总结 不少工作量就是硬塞进去的,本来就不需要耗费那么多时间,故意搞得像迷宫。 + 故意让课堂效率跌破地平线,疯狂蚕食学生那本来就不丰裕的课余时间 + 故意让lab代码不给注释,注释全躺在PPT里 + 故意让考试难度离谱,远远砸过授课难度那条线 讲的和考的和写的完全三条平行线,谁也挨不着谁,看完云里雾里不知所云。 一门好课配得上是这样:课上告诉你世上某物存在,写Lab时它确实现形并且和理论对版,考试又再帮你想深一层这回事。 而这里呢,理论上天入云,手搓的全部是原始手凿,考的可能全是不配备脑子翻译的机械内容,这课到底是来搞教学的还是来搞人格改造的? 这门课一辈子都会记得,全链条从教学到考试到实践全都稳稳踩在最低水平上不掉线。 要选的话请死磕评分规则,对着打分做定向储备,千万别让一门课把你整个计划撕碎扔了。 记住:把老师当和你对着干的假设对待,不要指望老天怜悯仁义爱心打捞。 最重要的弹药其实是那PPT,它其实是套路式的变形版文档,但我就是没搞明白这文档怎么只能以PPT的封装出现。 实操上确实学到了汇编代码生成的流程,但你是要花10个小时才能动手第一行,再10个小时才过第一个测试,又10个小时才能把它全过掉,活活一场服从性折磨游戏,真的完全没必要吧??? 无数段岁月献祭进入——永远看不见回报,特别是在Lab做到中途的那一坨无法形容的陷阱感。 这课程真是想出了人类新高度。 别的同学夸的是这门课在就业上有些输出。 但即便你把就业直接砍出去不谈,一个曾经完全认真地相信软院培养计划大纲的普通学生,也得把这份信任的幻灭按在这门课上结账。

学生体验,不是官方事实。评价教学,不评价人格。
此回执链接
2024年秋季学期 · 吴明瑜、臧斌宇

历史匿名回执 ·

10.29原评论: 真·讲得不错吗?修仙求解:正课=听天书,回放=逐帧扒细节依然一头雾水,PPT来回刷到快包浆也就悟出一句“大意了”。掏心窝说,我不觉得这全是听众的锅;但compiler我都已经听不懂到连自己哪块没听懂都定位不了,不是下课后攒了一肚子疑问那种,是全程掉线、想发问都不知道从哪个bug开始调的那种。 11.23评论: 后面换吴老师上,能看出还挺上心的,概念/机制能帮我拼出个大概。可他自己也说了“讲代码本来就枯燥”,何况听的人八成也不知道这些代码之后会被怎么用(嗯,就是我),所以整体听课体验也就那样,不过比前半阶段确实顺一点。 前半段呢,听过别的同学的说法“有基础的去听还是听得懂的”,言下之意……没基础的同学就自求多福呗。我个人感觉问题可能出在:讲某个原理/机制的时候跑题跑到外太空,把人绕得原地螺旋;compiler本来就枯燥;中英文名词乱飞,频繁的英文名词(甚至一堆不明所以的英文动词)让CPU温度直接拉满;举例也不太给力,等等。 本人水平有限,在compiler这门课上也只能算阴暗爬行,理解也不深,提不出什么建议,只能粗浅唠唠自己的体感?前面原回答留着,是因为跟我同款状态的其实不止一个;我也不觉得提出跟主流夸软院ipads不一样的声音就是诋毁,毕竟要实事求是。ipads的实力没得黑,课程设计也是用了心的(工作量虽然真有点难顶,但搭框架更不容易),可这门课惨不忍睹的出勤率,加上我和我了解到的其他同学的体验,让我实在做不到无脑吹。 12.6评论: 上课听不懂(再复读一遍,**我不觉得这全是听众的锅**),半知半解就开始硬刚lab,上古文档,yi问GPT接口都可能不对(毕竟也不知道上哪去查这些接口是啥,当然lab5-0还能薅点接口抄一抄),各种藏得极其隐蔽、没提示基本无从得知的特殊用法,又是第一届用LLVM,连个前辈都借不到力。助教是真的辛苦也是真的耐心,但说实话,我们本来不必这么地狱。这lab的工作量和难度很成问题,吾辈已经all in 5天、翘掉本周绝大部分课,依然没写完,学个编译原理真得押上这么大代价吗? 期末考这事儿,感觉就是在大脑里拿往年题+答案当训练集、蒸馏出一个compiler期末做题专用小模型:虽然也有提问与解答环节,但大部分时间还是纯训练。 我是真想不通,这种答辩一样的课往年咋没一个人出来喷,夸的声音还一大堆。上课体验稀碎、lab又难又跟你玩捉迷藏让你猜接口怎么用、考试靠拿往年考卷和答案往死里拟合,还难到爆炸。除了耗我时间、摧残我身心,我到底从这门课里捞到了啥???号称重视学生意见,就是往互联网倒AI是吧,编译原理那么多意见你们是眼瞎看不见吗??? _______ > 能用llvm IR,对找工作也很有帮助呢 大三下再回头看编译原理:后端咱就不提了,后端估计压根不面compiler;我这面的大多是基架岗,十来场了,没一个人问过compiler(就华为ICT面试官当场扫我简历写了啥问啥那种除外):一来我刻意把面试官往lsm和chfs上带,因为我一复盘就玉玉,它给我留的伤太深了;二来面试官主动问的项目里也没compiler,兴许面试官自己也不太会呢 ______ ## 扩容开闸了,当下就是逃离编译的最后窗口期!听劝,赶紧跑!!

学生体验,不是官方事实。评价教学,不评价人格。
此回执链接
2022年秋季学期 · 吴明瑜、臧斌宇

历史匿名回执 ·

课程内容:虎书前12章+垃圾回收+函数式+面向对象,一套流程走完,比虎书还像虎书。 上课自由度:每节签到,但不算分,纯属点名界的电子宠物。 考核标准:期中期末各20%,lab(c++写tiger语言的编译器)60%。快学期结束才知道lab竟然还有答辩20分,快出分才知道lab7改为bonus。总评 = min((lab1+lab2+lab3+lab4+lab5-part1) * 0.04 + (lab5+lab6) * 0.1 + lab7 * 0.02 + (20+答辩分数) + 期中 * 0.2 + 期末 * 0.2, 100),这里答辩分数指扣分——翻译成人话:你以为是考试,其实是拆盲盒,拆到最后发现盒里还有一张答辩罚单。 授课质量:还行。感觉虎书的思路在某些地方还是有些杂乱的,上课基本就是按着书的思路讲,会另外补充一些例子。臧老师语速慢,吴老师语速快,讲得都不错。期中期末考不算难,每年题型几乎不变(除非改授课内容),开卷,做做往年题轻松90+。 感觉这门课最好的地方就是真要自己手写一个编译器,包括词法语法分析、类型检查逃逸分析、生成IR树汇编、寄存器分配、垃圾回收。整个编译器代码量在1w行左右,自己动手写的在5k行左右。很有成就感,但压力是真的大,lab5-lab7难度剧增,每个只给两星期(但是final ddl应该在答辩当天甚至之后,不过不知道会扣多少分)。另一个比较好的地方就是虽然虎书特别特别老,但是这门课的助教把二十年前的c代码完全重构为了c++代码,可以用c++17还有stl,写起来方便很多。这门课顺便还能熟悉git和docker的使用——相当于买编译器原理课,附赠一段被git merge和docker build混合双打的赛博人生。

学生体验,不是官方事实。评价教学,不评价人格。
此回执链接
2022年秋季学期 · 吴明瑜、臧斌宇

历史匿名回执 ·

课程内容:讲编译器是怎么回事、怎么从零长出来一棵语法树,课程主页https://ipads.se.sjtu.edu.cn/courses/compilers/index.shtml。垃圾回收之前是臧老师的地盘,之后就交棒给吴老师了。 上课自由度:会有签到,后面人越来越少加上网课的原因,签到签得那叫一个持久,但签到本身不算分。 考核标准:期中20+期末20+Lab60。主角是Lab,而且不给补考(老师原话是编译器的Lab才是真正的期末考,期中期末顶多算两次quiz)。 授课质量:感觉还可以,基本照着课本念经,但课本讲的是C,而Lab几年前就已经偷偷重构成C++了,所以课还是得老实听;有些地方上课当场没整明白,回头做lab时还得自己把知识点捡回来重新盘,原理不搞清不行。前三个Lab不用自己写代码,属于开局送温暖;后面难度直接坐火箭,要花很长很长的时间,时间一定要留够,最后的Lab7是第一次算分,做的时候是真有点痛苦;据说之后中间的部分还会有调整(不让你抄前面的抄得太舒服,嘿嘿)。

学生体验,不是官方事实。评价教学,不评价人格。
此回执链接
返回合同及回执摘要
修读回执受理窗口