非官方网站,与上海交通大学及其任何部门无隶属、授权或合作关系。
高级数据结构 · 修读回执档案
共 32 份可公开修读回执
? 最相关怎么排
“最相关”根据评论内容完整度、有用票及课程教学信息丰富程度排序,不按好评或差评倾向排序。
按有可靠绑定的教师调档
2026年春季学期 · 戚正伟、董明凯历史匿名回执 ·
课程内容:每堂课往你脑壳里倒高级数据结构,SkipList、Splay Tree、Red Black Tree、Bloom Filter、Cuckoo Hash 一顿咔咔乱塞,然后顺手灌点并行编程的知识。24级的 LSM Tree 直接给扬了,换成 KV Cache 之类的推理加速 Project,外加一个图数据库 Lab,还有8个homework,工作量少了一大截,感恩24级以前的学长学姐们冲塔冲锋流血牺牲,24级是最后一届需要吃高级数据结构这口饭的了,25级及其之后的小灯的培养计划已经没这课了——从此ADS成绝响,人间不见LSM。
上课自由度:qzw每天都签到,点名回答问题时如果发现已签到但人不在的,会被蛐蛐两句,但最后签到好像没有算分的样子,属于签到签了个寂寞。
考核标准:卷子跟数据结构宛如亲兄弟,10个选择,每个3分,共30分。6个简答题,每个5分,共30分。Lab Project 有少量代码填空和大量简答题,占30分,最后来个10分的线程安全并行数据结构,24级抽到的是读写线程安全的循环队列,体感简单到我以为自己开挂。
授课质量:qzw讲课质量还是一如既往低,稳定发挥,言出法随。
# 感谢曾经付出时间精力冲塔、努力改良ADS降低逆天工作量的学长学姐,24级的ADS工作量能变得正常全靠你们的努力。
这也是软院学生最后一次吃ADS了,也算是体面退场,相当于宴席散场前最后一口压轴菜。
学生体验,不是官方事实。评价教学,不评价人格。2024年春季学期 · 戚正伟、董明凯历史匿名回执 ·
上=白上,这门课的气质就是你上了个寂寞。唯一的有效产出是lab和project,其余全是浪费学生宝贵的时间,时间像被扔进回收站还清空了回收站。
学生体验,不是官方事实。评价教学,不评价人格。2024年春季学期 · 戚正伟、董明凯历史匿名回执 ·
课程内容:查重这玩意儿,我的评价是——你要查就查,但能不能别掐着考ics的点来搞我心态?本来就没人明文写"禁止参考开源项目",字缝里甚至还飘着一股"你随意"的味道……有些话我觉得提前摊开讲明白更省事(你看人家sep,白纸黑字讲得明明白白);再说了,这查重本身站得住脚吗?撞进同一个仓库的就被揪出来示众,抄到冷门仓库的就跟开了隐身buff一样?既做不到一视同仁,又不肯特殊处理……那我请问,这尺子到底藏在谁兜里?
上课自由度:0
考核标准:0
授课质量:0
学生体验,不是官方事实。评价教学,不评价人格。2024年春季学期 · 戚正伟、董明凯历史匿名回执 ·
课程内容:0
上课自由度:0
考核标准:0
授课质量:0
谢谢老师,四个零凑一桌麻将,我这就是来交学费看老师打牌的
学生体验,不是官方事实。评价教学,不评价人格。2024年春季学期 · 戚正伟、董明凯历史匿名回执 ·
本来懒得开麦的,因为说句良心话,那些项目虽然任务重,但好歹能让自己涨点本事,作业也能靠csdn这类地方自学自救。
但是期末复习的时候我发现了
# qzw你是真不干人事啊,你就不能好好做个ppt,有那么难吗???
看你的ppt,那感觉就像**在品鉴一坨然后反推它生前吃过什么**。
学生体验,不是官方事实。评价教学,不评价人格。2024年春季学期 · 戚正伟、董明凯历史匿名回执 ·
课程内容:
上课自由度:这自由度属于是薛定谔的猫看了都摇头,nt。
考核标准:逆天,翻译成人话就是nt(你也可以理解为脑瘫,反正这俩内部是等价的)。
授课质量:课堂十不存一,听的人比大熊猫还稀有,恍惚间以为自己在看《三国演义》里"生民百遗一,念之寸断肠"的情景剧。但显然伟大的软院人面sx教授qzw好同志不会痛,更不会断肠——毕竟痛的是我们。
我只想打0颗星,如果可以的话,评教能不能支持负数充值?
学生体验,不是官方事实。评价教学,不评价人格。2024年春季学期 · 戚正伟、董明凯历史匿名回执 ·
这门课我其实早就想上来叨叨两句,但转念一想,评价这玩意儿又不是符水,往课上一泼它就能飞升;一门课的建设本身也得像熬老汤,慢慢精炼。不过看到董老师也发话了,说明这楼不是无人区,评论区有人在看,正如鲁迅所说,“我正有写一些东西的必要了”。
很多评论拿这门课和“IPADS”开的课摆擂台,事实是戚老师和董老师本来就是 IPADS 门下的,不信就点[Members [IPADS]](https://ipads.se.sjtu.edu.cn/pub/members)查族谱,这课怎么不算 IPADS 出品?
ICS 的那两门课借鉴了国外的某几门课(具体课程我忘却了),Lab 也基本上来自他们现成的 Lab,我感觉其中应该对一些 Lab 做了些小修改,也算一部分优化吧。但从某一些 GitHub 仓库来看,这些 Lab 也属于“经久不变”型化石:一方面说明它们很经典,能很好配合 CSAPP 那本书,加深理解;另一方面,内容可能没法与时俱进,并且后面几个 Lab 的说明文档质量出现了明显下降。
ADS 这门课的 Lab,我并不清楚是否也借鉴了某些地方,但基本上能发现每一年都有在更新。比如这个学期的 HNSW,就来自某一篇论文,也是图搜索里很好的算法。不过缺点也有:文档里的说明不太够,害我花了许多时间去理解文档里各种 Magic Variable 的含义;但它附上了论文出处,如果再去查阅一下论文,理解就会好许多。至于前两个 Lab……里面有一些我无法理解的奇怪操作……所以我就在思考,助教设计这些 Lab 的时候,自己是否写过这个 Lab?如果切身写过的话,应该能发现其中不足,并做出一些优化才对。这里不再举例子了,事实上我在提交的报告里的“建议”章节都写上了。
正如大部分人认为的那样,客观地说,这门课真正的问题在于其工作量,以及理论课“不着边际”的讲课方式。明明 SEP 的工作量也比较大,但为什么几乎没人去“谴责”?其一,它知道自己工作量比较大,所以把一部分内容移到了大一下;其二,它有一个比较完善的测评方式,可以“刷分”,满足了大部分人的“分数满足感”;其三,Lab 在写的过程中不会感觉有很大的卡顿点,因为它更偏工程,是在使用数据结构去实现一些功能,而不是去手搓一个数据结构。从这个意义上说,不仅能带来更高满足感(做出东西来了),实现起来也更轻松。话题偏了,下面说理论课,为什么我说它“不着边际”?回顾一下 DS 那门课的讲课方式:先从线性表讲起,接着到树,然后融入一点散列表知识,最后到图。每个章节下面分很多数据结构,讨论它们的作用、优劣、怎么改进,这是一个很好的体系。而 ADS 这门课,上来就是跳表,然后讲布隆过滤器,再之后 Splay Tree,后面不举例了。我想问这三个东西有什么关系?我们到底为什么学它?已经有了红黑数为什么要学跳表?跳表的优势在哪里?尽管一部分问题上课已经解释了,比如跳表就拿了篇论文出来阐述为什么要使用跳表,但后面讲解时并没有向这里靠拢。
学的知识不成体系,相当于每节课都要重新学习一个新的、毫无关联的知识点,这导致复习起来也很困难。并且,讲到集合和图论部分时,缺乏了很多相关知识,比如用到的并查集是个啥,一般的 Prim 算法怎么做,这些东西我们都没有前置知识,就被硬塞了更高层的内容:使用并查集来实现一个什么(忘记了对不起),使用并行分块来优化 Prim 算法,这些还基本都是一节课之内讲完的。大部分时间在讲解代码,但代码没有一个整体的“大局观”,怎么去理解其中的一个函数?
我知道有一些同学是带着怨气来评论的,但更重要的应该是我们怎么去解决、怎么去协商(尽管我们这一级的这门课已经是这样了)。这不是 LSMTree 的答辩已经被取消了嘛,也挺好,咱就是说学到了东西才是最重要的。数据结构本身可以去调别人的包,这固然很不错,但学这个东西,更重要的是借鉴某些设计的思想。像键值存储模型,那么多 DB 已经出来了,自己写是一件多不划算的事情;但在写的过程中,可以体会到怎么样从零构思起一整个项目,怎么设计项目里的每一个函数,怎么用比较底层(C++)的方式实现分层,怎么实现优化以达到优化目标,这都是这个 Project 的目的所在。
评分是无意义的,就算有再多 1 星评价,只要这门课还是必修,SE 的同学就都需要学。也希望这门课可以越来越好,也希望 SE 的培养计划可以越来越完善。工科试验班也还没出现几年,也都还在发展的路上(第一年不允许加专业课)。这和写代码为了一个功能去重构一样,培养计划也是需要重构的,尽管国内的高校教育都是在“比烂”了。我之前也和几个老师聊过,感觉也都是希望 SE 的学生出去更有竞争力,事实上看往届学生,也确实是这样。大部分老师也都不想去刁难学生,主要是环境太卷了,后面就不说了,应该是不太能说的话题了。
学生体验,不是官方事实。评价教学,不评价人格。2024年春季学期 · 戚正伟、董明凯历史匿名回执 ·
掏出3分纯粹是为了董明凯老师和助教这两人,换别的我早开喷了。
学生体验,不是官方事实。评价教学,不评价人格。2024年春季学期 · 戚正伟、董明凯历史匿名回执 ·
# 董老师真好,谢谢谢谢您
----
我真的蚌埠住了,workload大我忍了,写报告写测试我也从了。
期末周答辩是什么地狱笑话?????录视频???17周周末的ddl????我期末周是长了三头六臂吗???????????有没有搞错,这司马树不过是3学分里的30%的某一块啊????????你非得挑期末周来上强度???????????啊????????
要答辩你早说我也认了,写完立刻开录,16周突然空降通知,你演我呢???
真要抓代码抄袭,难道不会先把代码嚼透了再录吗?又不问答,,,,这波操作的意义是打算感动谁??
学生体验,不是官方事实。评价教学,不评价人格。2024年春季学期 · 戚正伟、董明凯历史匿名回执 ·
授课质量:
集结了讲课烂,作业多,工作量大,倒扣分等众多buff于一身的软工金课,堪称六边形战士(指缺点)。
实用性不如互联网,抱大腿不如软件工程,讲课质量比不上ics,据qzw课上发言来看捞人程度更是远远不如其他课程。
至少对我来说,大二下生不如死有这金课一半的功劳,但是没有这金课,我就不会生不如死,属于是痛并快乐着的薛定谔状态。
学生体验,不是官方事实。评价教学,不评价人格。2024年春季学期 · 戚正伟、董明凯历史匿名回执 ·
看一个点评有感:不管怎么说,Copy代码在我们这个专业是零容忍的吧,这条线踩了就是拿前途拼夕夕砍一刀。
---
**PS**: 董老师真的很好,看完选课社区的反馈后把答辩拍视频取消了,我下面喷的是qzw的签到和教学质量,以及这门课及其不合理的workload🥲,与董老师无关。就冲这个调整速度,董老师是直播间里唯一不断播的那个。
---
某戚上课讲的一坨屎,跟ipads的神完全没有可比性,16周上课签到13次,节节课前强调上课的重要性,拜托,要不是为了那点可怜的签到分,没人会来吃你这坨屎的!签到13次,比我上一周早八的出勤都勤实,我上高中都没这么老实过。
3学分的课,好好好,每周一个Homework,几周来一个Lab,整学期贯穿一个LSM-Project,1500行代码+2500字报告+答辩,作业不算分,不交或者迟交还要倒扣分,这3个学分真tm难拿。一个作业点明明说是3个学分,结果塞进来装了一个中国小当家的满汉全席,不是你这三学分是有30个零吧?
不过在这里倒垃圾也没屁用,所有软院的学生都要被这课折磨一遍别无选择,没被操到退学就不错了。
如上。
学生体验,不是官方事实。评价教学,不评价人格。2024年春季学期 · 戚正伟、董明凯历史匿名回执 ·
是这样的,本人就是今年作业部分的那位助教,属于利益相关方,按理说评分(推荐指数)这玩意儿我该闭麦,可不选它就不让我发,这点先求各位高抬贵手。我来给问题里我能答的两块儿defence一下:
- 作业这块,预期完成时间就是每个作业半小时左右。作业要求里那句“倒扣分”“漏做或者质量严重偏低会酌情扣分”,翻译成人话就是——正常做了就行。这话我在没什么人来的习题课上also讲过,同学们真不用为作业头秃,我对作业的态度就是你自己觉得满意就好(不过因为压根没什么人来,所以应该也没几个人听到吧)。要为作业报告这玩意儿肝上一两个小时,我都觉得不值,除非你自己真觉得这样能给自己回点血,真那样也挺好。
关于作业正确性,以前同学点评里说的错误讲义问题今年避掉了,今年作业的雷是作业1在布置第2天发现(修改)了一个低级bug,另外作业6有一小问掺了点超纲知识。
- 授课这块,我没什么想法。上这课的同学应该能体感到,这门课定位是达标型,内容不多,工作量全靠实验撑着,最后复习课要是把水分挤一挤纯讲,估计半节课就能收工。可排的课时里上机课只有1课时,理论部分上2课时的课我是真想不出怎么上才不尴尬。说实话ICS的课我当年上也是课上不听,学习全靠做lab(或者说SE的课,除了没让我学到东西的课,其它课感觉都是这个套路)。我不是不认差距,肯定不能也不敢跟ICS比,只是授课质量我觉得罪不至此吧。还有口音,我没啥感觉……
我听说(无可靠来源)明年软工的课程设置会有调整,不知道这门课会咋样。我是希望理论部分也能每两周讲一次,不然这课学时我觉得不合理。
最后吧同学们要是这门课真没学懂、作业每次真连半小时都搞不定,助教是欢迎来问的,至少我这学期遇到的来问我的同学都挺和善,我自认为我解答还挺友好的吧(不过期末季才刚开锣,这话是不是不该说太满……)。期末快到了,祝大家都能有好成绩。
学生体验,不是官方事实。评价教学,不评价人格。2024年春季学期 · 戚正伟、董明凯历史匿名回执 ·
update4:啊这,楼上大哥,不参考难道不是学术诚信的底线吗?又是那套祖传的“抄github不算抄”是吧,软院哪门课给你发了抄袭许可证啊?查重锤脸上了还搁这嘴硬,我的评价是别把学弟学妹往沟里带,搞得跟受了天大冤屈似的,建议去翻翻academic integrity,看看国外抓到抄袭是怎么给分的,是不是直接送你一个挂。说句公道话,抄了就抄了,虽然我lsm从头到尾没有任何形式的“借鉴”,但我也能理解。可你借鉴到查重都给你标出来了还嘴硬,被抓了还跳脚,还嫌老师考ics的时候干扰你了,还不服气凭啥别人没被抓,搁这上小学呢?我的评价还是大明神脾气太好,给你宠的。
---
update3:唉,董老师我真的哭死,发长文解释,我的评价是这波怨气大头是qzw攒出来的,他装死跟同学对着干,就留董老师一个人挨骂,what can i say。视频又取消了。我昨天凌晨录的视频又白录了,不过取消了总归是好事。还是那句话,我对大明神没有任何意见,评教也给满分,但我对qzw意见非常大,真别让他教了。
---
update: TA说半小时做完是认真的吗……hw1实现跳表+写实验报告,原始框架代码还带bug……半小时是指课上全听懂、调试一次通、测试代码像AI一键生成、实验报告随手糊一把梭吧。实际是:上课完全不知道qzw在讲啥,下课自己上网看懂数据结构,一小时没了;要是碰到推导和应用接着看,又一小时没了。开始写,实现一下数据结构,半小时没了;写测试加debug,又半小时没了。要是测出来结果离谱,再debug或者硬编一个解释,又半小时没了。写完实验报告,再半小时没了……
---
update2:**期末周又给你拉坨大的,我是真无语了。先是答辩改成录视频,录牛魔的视频。录视频能查出个JB抄代码,还挑期末周录,脑子是不是不清醒。要么直接上代码查重moss分一打,该0分0分,要么助教答辩问细节,录视频我是真绷不住了,抄代码的不会问AI把这段弄懂?就是问被抄的人怎么录都行啊!太幽默了,[流汗黄豆]**
我不认为这玩意真自己写的需要特意准备,本身就这么些点,自己写的要是不对必然调过bug,录个视频纯加工作量。
---
**这门b课**
得分开评价。
**某戚,负100分。不是你教成这样怎么好意思睡得着觉的?ppt已经很烂了,更烂的是你的教学;你的教学已经很烂了,更烂的是你节节课点到,还要把课上讲的问题写进期末考试试卷——**
助教,3~5分。lab0、lab1的助教3分。lab0基于哈夫曼树写压缩解压软件,问题主要在于文档太抽象+测试给得太少太怪,这么个破需求浪费的时间有点多。lab1写radix tree,支持节点压缩优化,再跑个测试框架和红黑树比较。问题有几个,第一还是测试太少,第二是radix tree从上往下建树非常怪。
但这些都还在能理解的范畴,无可厚非。
lab2-3,五分。
实现向量数据库里的HNSW算法。
zxs也有类似的 https://skyzh.github.io/write-you-a-vector-db/cpp-06-02-hnsw.html
论HNSW为什么是神:
其一是完整的文档,伪代码算法齐全,测试框架也给你搭好,总之不让你为文档的不足浪费时间。
其二是体贴的耗时,我lab0因为b文档写了好几天,lab1也写了两天,lab23合一一两天写完,工作量也就300行左右,这让被各个lab还有量子力学等金课轮番轰炸的我热泪盈眶。
其三是有趣的内容,这个lab有新的东西(作为vector db的初窥)、也有老但重要的东西(比如并行优化里简单的c++线程池),工作量不大却能体验不少东西。
LSMKV,4.5分。
先说LSMKV为什么好:
- 文档5分,这文档简直把饭喂到嘴里,9面页页干货,比ics那9页8页废话的文档不知道高到哪里去了。
- 董老师5分,讲得非常清晰;也很体贴同学,不断地延时。
- 内容5分,比起v1.0,键值分离和gc的加入让这个proj逐渐完整,而键值分离又是比较新的东西(看开源db就能发现有些甚至还没上这个),并行优化的选做也让这个项目更能写到简历上——实际上有学长向我要过v2.0的文档来完善简历。
- 提供最新版本的cpp体验,也算是modern cpp的练习。
再说LSM的缺憾和不足:
- 测试:测试指导太缺乏,助教(给的部分)测试过于简单暴力——没有单元测试,没有随机测试,键值的值选了个没法debug的“ssssss.....”,要是能用gtest之类的测试框架重构,这个项目体验能上升很多。
- 实验报告:比起v1.0,要测的东西实在太多了,而且像有没有缓存这种测试个人觉得没必要——一开始就做有缓存的不就好了。这个实验报告后期让我非常恶心。
- 某些细节的灵活度:比如我觉得DEL不需要查完整个内存+磁盘,只查内存就好了。磁盘不管有没有都不影响写个delete_symbol进去的正确性。
- 只能用c++写,毕竟你只给了一个api,做多语言也就是包一层的事,估计会有人想用rust之类。
这么看是不是感觉这课还行了?
**但后来的同学们先别急,这就是门金课。**
**这门课核心问题就两个**
1. 工作量与学分数严重不匹配
2. qzw讲得实在太烂了,还天天点到
网上有唐妞不等式:我接受礼物≠我同意。SE有ads不等式:**你写作业不等于你有分。**
没错,即使我们的ads有如此大工作量的lab和proj,即使我们的ads只有3学分,可我们的ads还是搞出了惊天地泣鬼神的hw制度——12个hw(截止第15周),倒扣分制,**hw写了不算分,写不好还在总评上倒扣!**
牛魔的qzw你是不是加工作量加上瘾了,写一个hw平均也要两三个小时以上,又要实现数据结构又要自己写测试,写完测试还要写实验报告,写你个牛魔的实验报告,结果还倒扣分?阿弥诺斯的,我能不能你上得好不发钱、上不好倒扣你的钱?
再者我这学期只有你一门课?web、ics、ads三门专业课全是要写一堆的,math4cs和量子力学两门金课左右夹击,软工原一来就啊啊啊啊啊啊!**你TMD是3学分,不是13学分!我感觉你就是一门13学分的课!!** 这学期别的课加起来跟你工作量差不多,你是真不要脸啊!**写那么多实验报告写牛魔酬宾,不知道的还以为我在上一种很新的电路实验!**
每次上课被签到硬控,课下还要写总量大概在**150个小时**以上的作业(LSM 80、lab0-3 40、12hw 40+),最后结果也就是三学分的50%呢,还有50%是沟槽的期末考试呢,我们ads的分数实在太金贵了呢。
要是改成删掉lab01,写完LSM和HNSW满分,hw不需要写实验报告,没有期末考试,上课不点到,换大明神来讲课,我会打5分。
**现在?软院最傻逼的课,超越电路实验的存在,是谁呢?就在ads和无人系统设计之中一较高下吧!**
学生体验,不是官方事实。评价教学,不评价人格。2024年春季学期 · 戚正伟、董明凯历史匿名回执 ·
课程内容:
1
上课自由度:
1
考核标准:
1
哈哈哈期末考这波我先给自己上香了,但我是真的一万个不想明年再把这坨史原味回锅一遍啊,助教geigei们行行好拿个漏勺把孩子从锅里捞出来吧呜呜呜。sb qzw你教的这是啥啊。还有一件事,能不能让董老师来接管理论部分啊,肯定比某戚好多了,那位简直是不知所云(阴暗地爬行)
-------------------------------------------分割线--------------------------------------------
闹麻了,还有答辩。。哈哈哈,这下真·答辩了(20%的大作业,2500字的报告,极大的workload,你告诉我lsm还有答辩,闹麻了,我们期末周还排着软工原的答辩和web的答辩呢,这是答辩主题乐园吗。。。哈哈哈,彻底疯狂🐂🐂🐂)
-----------------------------------------------分割线-----------------------------------------
不是哥们,为什么还要测这个没有缓存的性能啊,写个B报告我居然还要把自己的代码拆了重装是吧?
客观而言、SE大二下后半学期的workload是不是有点超载了呢?单说ads的作业量吧,12个hw(里面也有几个不是省油灯的homework,比如linear select、quick select的作业和Thread safety的作业量不能说少吧?剩下就是为什么要写这么多报告、做这么多性能分析啊?)4个lab(前面说过了、质量整体还不错,尤其是最后两个lab质量很好。但还是很吃时间的吧)1个大作业(不评价了,纯纯时间刺客,这B玩意真挺折磨人的,看到测试集挂那几个数据还调不出来真就很恶心,在虚拟机上跑得还慢,调一次就十几分钟蒸发了,😄)但要是只有这些也不至于这么破防、难道ICS WEB、软工原就没事干吗?ICS 6个Lab、WEB和软工原两个网页开发,这俩B玩意代码量不下1w行,CSMath两个LAB还有量子力学,去TM的吧,老子现在只想赶紧冲进期末周然后躺平,MD。ads理论部分也讲得一坨,我现在都不知道他讲了啥,说实话我一节课没落、但感觉老师就是一个人在上面说单口相声,还特别爱签到点名MD(我还统计了一下,截至目前签了13次,真有你的)。。真就纯金课,电路实验、电路理论都没给我整破防、你是真行👍(不说了,肝报告去了,哈哈哈,真要炸了,这里建议尊贵的高级数据结构最好改成10学分,不然看学弟们不冲爆你hhh)
----------------------------------------------分割线---------------------------------------------
授课质量:下周两个lab加project,还要写三篇报告,还有线程安全的代码作业,当其他课是空气吗?我要阐述你的梦!
破防了来评。这workload真就3学分??真就3学分???
其实冷静下来再看,虽然lab的workload确实很赶,工作量很重,但是质量还是很高的,董老师和助教们的lab设计得还是很用心的。(而且每年的lab和project都不一样,所以几乎一点借鉴的机会也没有,这也凭空叠了很多工作量)除了第一个哈夫曼压缩编码的实验文档描述有些问题导致磨了些时间,后面的基数树的lab和HNSW向量算法与并行优化的lab还是相当nice的,符合软院Lab一向高质量的特点,也非常贴合ads这门课设计的初心。HNSW算法和最后键值分离LSM-KV tree的project也都是向量数据库和数据存储目前比较流行的技术理论,所以虽然调试程序到头秃,但感觉做完lab以后还是收获颇丰的,于实验部分而言我觉得这门课还是值得一个高分的。
但总而言之还是不推荐这门课,主要是ads理论部分讲得实在稀碎,老师还特别爱疯狂点名签到,作业还是倒扣分制,难道是怕学生分数太高吗?之前第一节课还说什么这门课每年都有人挂,想拿这个来敲打我们好好学,还在那儿鼓吹国外高校专业课都设置了不合格率,试问您上课的质量比得上国外名校教授的教课质量吗,为何要来刁难学生呢?点名发现学生没到也在那儿阴阳怪气,之前好几次连点快十个人都没到,说实话要不是您在那儿疯狂签到,绝大部分人都不会选择到教室上课吧。90分钟的线下听课真的不如线下自学,既然用清华邓俊辉的教材为什么不干脆直接放他的课呢?
学生体验,不是官方事实。评价教学,不评价人格。2024年春季学期 · 戚正伟、董明凯历史匿名回执 ·
董老师是人间小天使,ADS助教也还算靠谱
qzw咋评呢:PPT里60%是从清华邓俊晖那儿搬来的,25%是论文截图,15%是不知所云的中英混合天书;讲课讲得像在做法,底下一群人满脸问号,连平时认真听课的都主动往后排迁徙,虽然看他样子也不是摆烂,但频繁签到加上解释签到的理由,让我DNA动了想起wxz老师。。。(不是,难道坐在教室听90分钟天书就能保证不挂?还是说就算听不懂,人在教室好歹算自学,所以必须来?
_______
这边建议给大学老师的授课要求打个补丁,有的老师就让他专心科研不好吗,别来上课了,点完名就开始PUA“有的同学已经进名单了,都是那些不来的,这些人根据历史经验很可能挂科,大家要注意听课”。合着盯着PPT画符就能开悟是吧,交大学生可太聪明啦!
_______
发现qzw每周任务清单:
1. 上课前强调不来听课会挂,强调外国大学有挂科率,强调没来的都很危险
2. 举一些神神叨叨的例子,比如交大学生算法能力不如外校、实习要求(行吧这个不算神叨)等,让大家意识到课的重要性,所以得来听他讲
3. 点名或直接抽人提问,且点名命中率不足20%,现在他好像也发现了,开始自言自语
________
感觉最后这个答辩问题,助教和老师有点里外不是人,线上被喷、改录视频被喷、又要验证不抄袭,可能大家被这门课折腾得太惨了,再加工作量就是压死骆驼的最后一根稻草。。。
________
我直说了,qzw,你配得上董明凯老师吗?
________
复习时发现PPT给的代码有些bug,似乎是陈年老bug,尤其并行那块的,cuckoo并行put没加锁、kruskal并行传边没保证等,连助教都绷不住了。看PPT也难受,就硬啃代码,或者看邓俊晖的“伪代码”,或者看不知所云的中英混杂文本,那PPT就是不想让你看懂的感觉,我完全无法接受两种PPT风格拼一起,而且两种都挺抽象的
这个期末的语言表述能力有待提升啊,个别题目不是很清楚在问什么,比如红黑树的第二问。考完了,不用再上这门课了,希望这门课越来越好吧,付出的时间对得上收获的东西。
学生体验,不是官方事实。评价教学,不评价人格。2024年春季学期 · 戚正伟、董明凯历史匿名回执 ·
感觉不如ICS……人家卷子出得是真有水平。
——
都考完了,那就跟着塌房的心情一起无所谓了。
de一个ppt的bug,希望下届能补上这个祖传肿瘤:
布谷鸟哈希给的put代码有严重的逻辑硬伤,大概率掏出:
```C++
hash1(k1)==hash2(k2)
```
然后当场把CPU送进死循环————**仅仅是因为没查另一侧的hash1(k2)**。
学弟学妹看不懂?没关系,明年这个时候自然就开悟了,别又被硬控半小时就行。
```
就这样吧这课,嚼进去了点东西,但没嚼透。
付出了非常大的痛苦与努力,有收获,但有货不对板那股劲。
```
最后收场就看董老师和助教怎么打了,qzw就不列入幻想范围了。
---
所以到底是源码填空or伪代码填空呢.....
老实说,写lab2和lsmkv的时候,很多库函数都是现场去网上现捞的,名字根本背不下来,与其左右开弓两边拷打(我觉得手写源码难度绝对比手写伪代码难吧),不如就地取材写伪代码,互相放过彼此。
---
qzw你让我怎么复习啊……
我先我哭为敬,董老师真的好温柔,直接明牌告诉你:我就考你LSM的compact和gc的实现。
byd **qzw你能要点脸皮吗?**
---
加个一星,但qzw,这一星跟你没有一根毛的关系,纯粹是看在董老师替你拾掇烂摊子的份上给董老师补的。
正话说,如前面哥们所说,不管大家是揣着怒火来倒垃圾、来吐苦水,还是来老实测评,一边是这学期的大量黑泥必须排出去,但更重要的一边是,我们盼着软院的课程质量能往上走一格。要是明年这课能把我们叨的这些问题改完,我到时候改回5分也不是不行。我们图的就是它变好,毕竟它是有机会变好的。
去年的评论里,chp老师的web是暴雷滩,今年的评价好转不少,因为他每年都在翻身;包括sbj老师的课也一样,还在造火箭,但把各种边角料任务砍掉了。对face it,ads就一点没动吗?我觉得还是动了的,助教前面说过的把ppt里的错误代码修了,lab2塞的新论文新知识,都在表明这门课在动,可它还是被骂得狗血淋头,我敢断言我们这届骂得最凶的就是它,凭什么呢?是因为它没改?不是,是因为它没改够吧。chp能当场砍掉vue、放下签到、顺手updemo,sbj能把平时作业直接砍掉,那你qzw能不能退一步,自己去水那种没有实质内容的上机,把能把理论讲明白的董老师放出来讲课呢?(再强调一句,我所有的平静都只献给董老师这样乐意和学生搭话、巴望这门课变好的老师,不献给每节课都要阴阳没来的人的qzw)
最后,lsm报告里有一段是吐槽这门课和这个lsm项目的,不带开玩笑地讲,这一段是我昨天写得最久的(当然其它确实水了相当多部分),我是真的、真的写了一大堆我期待这门课能变多好,它又塞给了我多大的失落。助教要是看报告把我盒出来也无所谓,我相信董老师这种愿意和学生连线的老师不会介意,而且我也门儿清我身边巨量同学在这一点“吐槽与感想”上,你说是有感而发也罢,积怨已久也好,反正都挥洒了很多字,真心希望助教和老师真的能翻翻我们的感受和碎碎念,而不是这一节只是报告上挂着的装饰品。
最后盼着从下一届开始,ADS一路好转照财行运吧
---
董老师这么长文一回应……唉……
其实这门课的火气80%都该记账到qzw头上吧?但我也得诚实说,LSM本届的要求,特别是**报告测试要求**根本立不住,但是:
```
像是“LSM测试太多且复杂”这档子事,其实也是能精简一点的,只是我知道大伙感受到的时候已经是最后一节课了,这个节骨眼上也不好改了……
```
emm……好吧,这波确实是。还是盼着下届能改。
ps:要查重了,哦嚯嚯,我好像帮同学调了gc来着,不会查到我这个选课社区最能叫的头号显眼包头上吧,感觉是凉的预告……
---
冷静分析一波,这个录视频是个好意头……说白了就是:你可以抄,但你不会全盘照搬,你抄的那片儿得看得懂、并且改成你自己的(我这里的抄前提是抄往届的代码嗷,抄本届那……算了),不避讳地讲,我这次的代码运行链路就有参考往届的,但要是不懂你压根没法抄,因为往届value是塞在sstable里的,并且offset的格式表也是另一套,抄的工作量真不比重写轻(别问我怎么顿悟的)。可落到实处就长出了一种里外不是人的精神分裂感。
要我说,如果你真要默许抄还给人留条活路,你不如一步到位改成答辩,但是别死磕着你家那compact,每次就随机点问,解释代码,每人五分钟上下,那点时间随便挤。你要是本人从零手搓的直接放行,你要是***参考***之后认真通读改过的也能张口就答,你要是全无损照搬同学、肚里一点理解没到的,就回去重铸。
这是不是才是助教和老师真正想开的花呢?这门课老给我一种“**我要膈应的就是你**”的味道,合着你也想当差评版耐耗王是吧?**是的孩子们,张峰也干过这活。**
事已至此,先翻开量子力学定定神吧各位,这题辩到底也没啥意义了🤡
---
报告算是码完了?(安心,里头一堆都是压根不合格的,人得和自己握手言和)
我只想说一句话,如果让学弟学妹下一轮还是这种上课体验,那这课真就别开了吧,把lab和pojo的体验优化完打散到别处去,没必要硬支棱这门灶。
---
题外话,董老师第一次还是正面接了选课社区的质疑,这大概也是为什么同学们乐意跑来选课社区补评价的原因,可这回明明都烧开锅了却半憋着不说?是觉得报告要求合理纯属同学们一整个乱轰?还是说自己也拿不出修复方案了?不管哪个版本都不对味吧!
---
所有笑我红温的人最终都会被收编成红温战士,这可不就是一种回旋镖😀😡😡
这门课也算得上一绝了吧,理论和上机两位老师,两套活,各显神通地把学生惹到红温,难道他真的是个人才?
---
再次为我红温上头后在选课社区泼垃圾道个歉,本意真的是来评价这门课,但一瞅见这报告要求就没绷住。
以及,虽说前面措辞不对、语气过于上头,但内核没动:我认为至少我们这一届的测试要求不太站得住,很多点实际上更像:你还没写完的时候来一发,写完了再回头补一发的那种,如果测试要求写成这样,至少我认为完全能配一份参考测试代码扔给同学吧,这学期workload实在是压得人喘不过气,光高级数据结构就往身上摞了相当一大坨,我觉得这个时候不妨手松一点吧,起码别让同学从头把一门课骂到尾QAQ。
---
多谢源友提点,是有点上头了,不过这套测试确实离谱,这学期结束了这测试也该开源了吧(如果我到时候真动笔补了的话),这种答辩没必要一届届端上来硬赤了
---
~~# 沙茶!我直说了~~
~~起手我就写完了期末前本来打定主意不开喷,你丫的,你自己睁眼躺平看看你那个测试要求是不是有点离大谱!!!!!!改缓存?那我干嘛不在还没写完的时候就测呢?等全套整完了反而要时间倒流回去砍代码,就为了配这个破测试?你不要缓存、不要布隆过滤器,你不能开场就先吼一声吗????!非等我啥都落地了,才拍拍我肩膀说,咱们测试要测这些东西还没写完的现场?那你咋不顺手慈眉善目地配一份测试样例代码砸我脸上呢?我从零码的工作量可不比compact少哇!~~
~~# 我阐述你的梦~~
### 大概吐完LSM之后的一点总览:
骂貌似也骂不动了,因为已经骂到泛滥成灾,不用再喷你也早知道这门课有多魔幻。那就最后甩点不成熟的小思路吧:
- 盘了一圈和同学的讨论,发现scan实际上可以直接用暴力遍历上,耗时没多离谱,本身就走得踉跄的同学没必要死磕性能,能过就谢天谢地。
- 不端compact也能过活,直接用一层level-0就能解决,写着卡壳的同学可以优先用level-0撵过测试,多少也保住底裤分。
- 别太怕动手入场,我大致点了点自己的代码量,整体约1000+行,不到1500,这还包括我注释占了40%的体验卡,实际码量并没有脑补中的那么险峻(当然,狂躁程度和码量是两码事,这绝对真)。
- 其实这条链路的核心反而是skiplist,这玩意整对路,后面几关的痛感就低多了。要是对自家skiplist没自信的,不如去github扒一模板参考一下子。
最后,你能搓出来本身就相当可以了,别硬卷性能,这学期都这么鸡飞狗跳了,不如饶过自己。至于别的,登——走你,狗屎qzw,狗屎ads,狗屎se
---
呃,看到你这个期末占比重……也就是说拼死拼活磨出一整块lsm,不如期末多哐哐翻两眼课本、多答对一道选择题?
真会开黑色玩笑啊老铁
---
课程实验合计占比30%,装下发际旱的树和4个lab……emmm那照着说,后面横了不写,连带的问题是不是也没那么大点啊?
---
这个**发际旱的树**是真给人写进玉玉剧本……核心雷点是它的测评和调试函数实在太少,每回敲字全跟蹦盲盒一样,不到某个阶段彻底落定,你都不知道自己是资是粪。
---
byd是不是骂狠过头了,我不骂了行不行?求求你了,赶紧宣告发际旱的树延期吧,你这一波lab2+lab3齐发就算了,发际旱的树也硬卡着不延期,前面只发一个lab的时候它还会往后挪挪,这波一口气走俩反而贴上了,连戏都懒得演了吗,真搓不完了哇,我也知道自己差不多菜,可是围着我数一圈搓不完的也不缺人呐……救救孩子吧……
***(就这大家还能给我点踩,踩的人奖励再补两个lab加一个lsmtree)***
---
***update:(红温示警,教评我必掏机关枪扫射分,上一个把我杠到冒烟的还得是张峰)*** 到这一刻我可以堂堂正正放话,这门课,就是软院烂到现在最**金痛**的一面旗,没有之一!怎么?你说sbj上手造火箭?那也是她的平时作业没打算冲你连环恶心一整援轴,没有额外的lab和hw,清一色看迭代推进;怎么?你说chp的ebook会飙血压?可人家把前后端代码摆到开源案板上,后端也在讲堂上讲链路,每周上作业,只要你按着作业往前滚动,你的迭代**相对**会平缓出一大截。
### 嗯?你说哪门课连这些基本面都守不住?真有课专门按着学生的泪腺痛呢?猜猜我在敲哪门课?咳,这不就高级数据结构嘛,你这一提我还寻思是哪名老哥,还以为是张峰杵着他的电路实验来批发了这效果呢。
***ps:别再惦记你那把点名了,点十个到场没有一个的缘由随便掰掰脚趾很难想吗?纯粹自我陶醉过头的余波。你要是骨子里觉得这脸面还挂得住,那请继续端出来,反正点到我我就应声一投站起打个“不会”,这落的面子是谁的呢?都是十个人点出十个鸽还觉得很体面?是不是学生太骨软,听不动你这振聋发聩的高级数据结构大讲堂?***
---
**以下为旧回答:**
---
董老师会说改≠放到qzw手里会改,扒开唠透,各位其实心中早有数:这门课讲得确实是没捋太顺qwq
顺嘴补一刀,lab0文档不是说得不够细,那是从头到尾带着隐疾,别和我抬,抬就是你对,原文抄一句给你凿——“返回值的后续部分为text压缩后的比特流”,这就来认领一下哪些大冤种一身社死地去比特流输出吧(˵¯͒〰¯͒˵)。我身边几只一手实捶按比特流推进的,还有人嘴边上说输出明明符合预期的hh,问题是文案还真是这么印的,拐到最后要的偏偏是字节流而非比特流啊……前后串不上线啊……
我也不是说你得写到像素级详尽,起码得让人能对这需求提得起对……不过既然今天董老师当堂拍板要动刀,那就先攒一份相信吧,我也才不信这玩意儿是全心全意故意卡着学生——照理说多少是落笔时歪记的行迹
---
和几周前的自己一刀两断(ads评分还是免谈,它讲功也就那样,单这事,绕过来对董老师俯身道个悔)
我交个省思,以前不该对着伟大的董老师出言无状的话头置我一身别扭矛盾——到了真相悬在时辰上终于通脉:原来当时他那句“***前几次作业不查内容*** ”是掷了多大的分量应承和大赏啊。谁当初不是整出一腔交白卷就当笑话看的兴冲,可等ics lab配合ebook开始对着你轮换上浮狂轰,才被人拍了脑壳般醒觉——**允许交空文件**是多顶几层厚的宽宥。前周抬着个空目录文件冲上去的段子,直直扎中几周后的眉心。
---
三学分的体段,拎出的lab去和被五学分ics lab结下的工程对抠,还真有点玩嗨过火的意味,但把lab铺下来就没再搭个hw,这事算是难得带人味的花活儿
---
**话说,你有想过写不出lsmkv这棵柱的人该按什么姿态评级么,怎么嗅着越来越昏且险🥶🥶,给什么扶持花洒哪怕封个敷衍分兜底也行啊**
学生体验,不是官方事实。评价教学,不评价人格。2024年春季学期 · 戚正伟、董明凯历史匿名回执 ·
***软院金课,web和软件工程原理与实践在他面前都是弟中弟,连抬轿子的资格都没有。***
hw助教终于松口承诺不为难大家了,可喜可贺,但我先磕一个为敬
但是hw要真想做好代码,那还是挺多挺难的吧,属实是嘴上说简单手上写核弹
而且我想问问lab质量变这么差呢?文档写详细点不行吗,多写几个字累着你了?是键盘烫手还是word收费?
lab0哈夫曼树的要求过于细了吧?要求哈夫曼树唯一,助教倒是省事了,直接把同学们的工作量拉满。还要求输出字节流,还用小端法,这和哈夫曼树有什么关系吗???单纯想增加工作量?这是哈夫曼树还是哈夫曼的俄罗斯套娃?
lab和project董老师说会改进,好评!这波是甲方终于回复了乙方
希望这门课越来越好吧!
(鉴于这门课工作量和内容这么多,而且高级数据结构确实要学扎实,建议可以和SEP一样增加学分和学时,但是
<font size = 20>***不要把硬课全堆到大二下了,要是能整体把专业课往前移,从大一就开始注重代码、不跟工科大平台就好了*** </font>qwq orz)
qzw基本次次签到,还变着法签(有时候课前,有时候第一节课课间),签到签到做成了彩票开奖。想靠签到留住同学们是没用的,还是多考虑下怎么提升讲课质量吧,出勤率刷不出来熟练度。
----------
破防了,这b课真的闹麻了,LSM还得答辩,我答*****b,你不知道这门课多少学分吗,不知道LSM占比多少吗????真把人往绝路上逼是吧???我****
这一门课把软工课程质量和师生关系不知道拉低了多少个等级,属于是双向奔赴的塌方。
***别人ICS虽然难,但是老师是真心不落下每一个同学,努力让大家及格。这门课,是头一门让我感到老师和课程内容都不想让我及格的课,主打一个劝退一条龙。***
---
还行,只需要录答辩视频。还算是听进去了同学们的反馈,至少不是现场答辩,能节省点准备时间,也算从现场处刑改成了云处刑
学生体验,不是官方事实。评价教学,不评价人格。2023年春季学期 · 戚正伟、董明凯历史匿名回执 ·
课程内容:
AVL树、红黑树等一大堆树,跳表,Median算法等一系列算法,拓扑排序,并发编程等等,植物园和算法批发市场合一。
上课自由度:
这学期最低的之一。每节课都签到,包括上机课。每节课都会点不少名,不过被点到直接说不会也没啥事,属于点名点名,点的是刺激。
考核标准:lab+project(40%),含稀疏矩阵乘法、无旋treap、拓扑排序、并发编程(这学期因为课程压力大取消此lab的编码,但仍要用文字答题与分析),project是LSM-KV键值存储系统,吃掉的时间不是开玩笑,不建议拖到ddl再开冲。
期末考试(60%)这学期感觉相对还是比较简单的。
平时作业每周一个,一般是写代码+测试数据,但测试数据的工作量似乎有点喧宾夺主了吧?每周光这玩意儿当天至少塞掉半天甚至一天,代码其实不怎么久,全像是在给人类找重复劳动,在大二下本来就离谱的工作量上再加码。更离谱的是这玩意不直接算分,反而是倒扣的——就是说你做不够好,是要在最前面40+60上继续倒刀的,很难相信这是人脑子想出来的版本。
授课质量:个人感觉不太行,听几次就自动失焦了,感觉不如自己在csdn之类的地方自学;ppt更是大boss,主打一个让你当场坏轨,有时候PPT上的代码都是错的。
学生体验,不是官方事实。评价教学,不评价人格。2023年春季学期 · 戚正伟、董明凯历史匿名回执 ·
课程内容:
缝补thu邓俊辉《数据结构》,主打一个赛博丐帮,别人是学数据结构,我是看老师在线打补丁,补丁还是从隔壁thu身上扒下来的。
上课自由度:
极低,每节课点名,想翘课?门都没有,点名器比食堂刷卡机还勤快,你人不到,它记你名,你人到了,它还要你看看这ppt能有多缝合。
考核标准:
hw x13(不计分但不做扣分),lab x4,project x1,期末考试,这一套组合拳下来,你的命也是命啊,13次hw就像13道催命符,不做不扣分,但做了纯纯是在给自己的生命值做减法。
授课质量:
非常低,ppt质量很差,基本上是缝合怪来的,没有逻辑可言,像极了用复制粘贴拼出来的清明上河图,远看有东西,近看全是bug;授课质量差,第一节课听了十分钟之后一个学期再也没听过,那十分钟是我给这门课最后的尊严;最破防的一次是上课拿着错的代码讲了两节课,我当场就想把编译器的报错截图打印出来贴他脸上;workload极大,但平时作业的设计极为敷衍,除了测运行时间整不出任何其他活,基本上完成作业就是在浪费生命,测运行时间测到我怀疑人生,感觉我不是在写代码,是在给程序做心电图。我的评价是上课和做作业体验完全不如大一的数据结构(本人上的是俞勇老师开的课,当时觉得没什么,但是现在一对比觉得当时无论是授课质量还是作业设计质量都是真正的顶级),当年嫌俞勇老师严,现在才知道那叫严师出高徒,现在这叫高徒被逼疯。
学生体验,不是官方事实。评价教学,不评价人格。2023年春季学期 · 戚正伟、董明凯历史匿名回执 ·
学生体验,不是官方事实。评价教学,不评价人格。返回合同及回执摘要