本条评论以及这个页面下的绝大多数评论已经失去了时效性。虽然信导仍然很糟糕,但 24 Spring 之后的信导已经完全不同。(或许会更糟糕也不一定
UPDDDD:更新了一下给分情况,23 Fall 的给分非常好,有理由猜测之前的也不差。
UPDD:给 19 级和之前的 uu 们科普一下之后的信导整了哪些活:
20 年 Fall:
21 年 Fall:
-
Pros:助教团队彻底换代,查重等处理上阳间了很多(听 20 Spring 的查重感觉确实有点抽象了......)
-
Cons:为了 “减少学术不诚信”,提出现场编程(说实话我本来有点赞同这个观点),实行了一次之后尽管题目(相对)很简单但因为这课众所周知的赶进度大家学习效果很一般,AC 率非常非常低,整个垮掉;然后从第二次开始就改了,但是 ddl 仍然很短,加上题目本身虽然比往年仍然要简单但参考 ddl 还是很难,AC 率仍然比较低;于是第三次 ddl 延长难度也降低不少,总算是出了一次还可以的作业
22 年 Fall:
身为助教我们对此能做的却很少(或者确实,我没有用全部的努力来推动彻底的改变,这对我而言确实是有点无法承受的工作量...)。我们希望有更多的同学能和我们一起努力改变这些问题。
23 年 Fall:
今年做了很多有意义的事情,虽然还是有很多问题,但很开心能让大家的体验好了一些。
尽力了。
出于本人意愿,部分内容已归档处理。
UPD:和猫剩子交流了一下,了解了一下当时 OH 的一些情况。因为我个人的原因没有注意到部分确实需要帮助的同学导致产生了一些误解,对这一点我很抱歉。
Heaticy 所说的关于 OJ 的情况是真的,这是由于我对 OJ 的不了解以及 TA team 的沟通存在一些问题导致的。所以从 22 Spring 开始我们换了个 OJ,在 OJ 的行为可解释性上了解了很多。
我赞同 winlere 评论的部分内容,虽然他连着那些并不真实的言论也骂了一遍;关于麻将为什么能诞生以及为什么最后的结果是这样,这个问题我后面有提到一点,从我的角度来看我觉得无论是谁来出这一次作业,结果可能是类似的。但当然不管怎么样我是出题人而且这题也出现了很多状况,我该接的锅肯定要接。
有一些情况我已经在下文中作出了解释,但还有一些事关具体人物的内容我没有办法在这里说明,毕竟它是一个评课网站。如果你认为我的某些问题与某些具体的人物有关,可以私戳。
希望大家能看到最后。
利益相关:2020 Fall 学生,2021 Fall、2022 Spring、2022 Fall、2023 Spring、2023 Fall 助教
首先应该是因为数据的问题这里只有 2023 Spring 春学期的老师组,这课的老师应该是春秋各有一组,偶有人员变动。
我确实有想过自己在 CourseBench 上的第一篇评价应该是 SI 100B,但没想到它这么快就有这么多评价了......
本来是想先介绍一下 2020 的这门课是长啥样的,但考虑到评论中有对于我的不满,那就先对其已提供的问题说明一下:
下文中的信导可能指代信导 Python 部分,对于其他部分的助教相关的问题我无法解答。
助教生涯
回复
似乎有一篇评论被删除了,但我觉得他 / 她引用的部分还是比较能体现一些问题的,所以还是来引用一下:
我拒绝在 QQ 上回答任何问题,请在 piazza 上提问
这一条是让我最为疑惑的。因为我难以界定你是否真的向我问了问题,而不是你从别人那听说了 “我不愿意回答 QQ 上的问题”。
我个人认为我应该没有说过这句话,如果真的有那这里的描述可以改。但无论是否真的有,如果你真的曾经向我问过问题,那么绝大多数 piazza 上没有的问题我应该都回答了。或者如果你来过我的 extra OH,那么这条貌似也是有点矛盾的。
please check piazza
这句话或这句话的类似形式是确实有过的,我应该发给过不少人。我不太确定其他助教有没有发过类似的内容。
以上两条应该都出自 SI 100B 21 Fall,主要的目的是让大家使用 piazza 这个课程平台,而使用 piazza 这个课程的目的是希望大家能够学会如何有一定效率地使用英文提问或看懂英文的回答,同时(无论最初教学团队的目的是不是这个,其确实具有这样的效果)相当程度上减轻 TA team 的负担。
那么这些内容出现的原因是什么?如果我没有记错的话,最开始的时候确实有很多人向我提问,而且我也回答了他们的问题。但为什么突然有一天我们最后做出了这样的行为,以至于有很多同学对此产生了非常大的不满?
核心原因是 TA 的工作量已经超负荷。PA 1 由于是现场编程,TA 的工作量并不算大,周末的那道题也相对简单。然而对于 PA 2 和 PA 3 来说,每一天 TA 可能会收到数十个同学的提问,且这些问题中的大部分是大同小异的;同时,很多问题其实都可以在下发的 TA 自己制作的文档里搜到完整的内容,而这样的问题让很多 TA 都觉得自己的努力没有结果。SI 100B 明确规定(至少,从老师的角度上看是规定)了使用 piazza 的课程平台,也就是说,使用即时通讯软件来进行问答是从 21 Fall 才开始的,而这最终给我们带来了极大的工作负担。很多 TA 没有办法负担这种工作量(因为这很显然已经超过了正常 TA 的工作时长,而高年级 TA(我当时不算)的科研和学业任务相当繁重)。因此最终 TA team 内部讨论后决定,统一让所有学生在 piazza 上进行提问,不再通过私聊和群内问答解决问题。而在随后的执行过程中来看,的确有相当一部分的问题具有高度相似性且可以通过已有的 piazza 提问解决,这确实减轻了 TA 的工作负担。尽管对于我个人来说,出麻将的那几天都是五点睡的,所以在 PA 2 上貌似也没有减轻什么负担。PA 3 因为我看题比较少应该很多问题都让大家上 piazza 或者找其他 TA 提问了,确实稍微能喘口气。
但与此同时,如果我没有记错的话,对于明确告诉过我已经看过 piazza,找不到问题的同学,我确实地回答了他们的问题(但对于其中一部分对问题没有一个大概的定位导致我实在没有找出问题的或者问题具有相当代表性的同学,如果我当时没有精力再处理,可能会让他们上 piazza 提问)。我认为假如完全从大学教学的角度上来看,这样的处理方式是相对比较合理的。(当然,对于工作量较小或没有类似 piazza 这类平台的课程助教,我认为私聊解决所有问题也是合理的)。然而,从面对新生的角度来看,这一处的观点出现了一些分化:一部分同学觉得既然来了上海铁科,那就应该做好这方面的准备,何况这在所有大学都可能一样;另一部分同学觉得新生需要有过渡期,直接这样处理对于刚接触大学生活的同学(尤其是生源已经发生了巨大变化的情况下)来说有些不近人情。我个人在大一的时候其实反而是支持前面那种观点的,因为那时候感觉都选了上海铁科应该自己心里都清楚了;但是后来慢慢发现,其实有不少同学确实不太了解这所学校就报考了,而既然上海铁科选择了接受,那么我们做助教的貌似也没有必要 “那么” 死守 Hao 时代的某些(对人的能力提升是正向的但无疑会提供巨大压力的那些)文明。现在我更倾向于在力所能及的情况下做一点可能有帮助的引导吧,而且也希望这几年努力争夺到的力量能在未来起到一些作用。
I can cancel your score
这一条出自 SI 100B 22 Spring,不过我倒是觉得这次事件的实际真实的现场情况是一场误会。我其实不愿太多说,因为当事人我早在之前就认识,再提起无疑会可能对他 / 她的生活产生一定的影响;而原说说是毕业的老学长写的,也是熟人的熟人,我们之间也早已解除了误会。
然而无论这是否是误会,这次事件也充分地提醒了我的公开场合的发言并不恰当,尽管有些时候我希望打破传统意义上的学生与教学团队的隔阂,但很显然这样的行为是不好的。如果你是因为这个原因而对我表达不满我完全接受,我将(或者已经正在)不断改良我的行动策略,并且完全接受任何人对我提出建议。
此外,在这之后有一个影响更大但更有乐子性质的事件,既然没有人提我也不再赘述。但我认为发生这样的事情是很令人难过的,比上面的内容都要难过。
出题
有一种想法似乎是认为我以及其他的一些助教会为了出难题而出难题。这个观点的一半是对的,即 “出有挑战性的题对出题人来说是有意义的”,从我个人的角度上来说我也希望留下有挑战性的题。然而,至少对于我来说,我希望我出的题是 “有挑战性的大部分人能做出来的好题”,因此无论题目在出题团队的讨论中的印象(拿 SI 100B 来说,我们一开始整了个题目的 pool,每个 TA 都要在每次作业出一道题,最后大家和老师一起讨论选哪些题目)如何,如果它没有达到预期的目的,那么它一定或多或少存在问题。以麻将为例,本题在讨论时普遍被认为比较简单(在学期初大家的预期甚至都是现场编程)且考点合适因此被选上,在 PA 1 通过率非常难顶的情况下 PA 2 ddl 相对大幅延长(但还是比较短),因此又有了非常简单的 task 2 和有一定难度的 task 3。
但很显然以最后的通过率来看它仍然不合格,这是我们对教学模式和效果的估计出现严重差异导致的。也因此,在 22 Fall 的 PA 2 时,我确实做出了一些努力来控制它的难度。从结果上看是有一定效果的。顺带提一句,我认为另一个不太合格的(我的)题目是 CS 101 PA 2 的 D,它的难度超过了课程内容对分治考察的需求,这在之后的出题中应当被避免。
关于主题 “麻将”,它本身是一种传承;关于麻将的介绍部分我是直接从 CS 100 的作业里复制下来的。如果这里的英文有问题我不粘锅
此外,大家可能会发现 SI 100B 或者 CS 100 的部分题目在描述上会出现很多问题。实际上从出题的角度上看出现题意问题是很难避免的,因为出题人的脑子里已经有了完整的 idea,很难注意到完整的题意可能会存在哪些问题。然而,由于助教人数限制的原因,SI 100B 非常缺少验题的人手,这个问题可能会继续存在,希望之后的 SI 100B 能够想办法改善这一点。
其他的情况
对于一些学习水平本就不错的学生,他们可能并不会觉得我是一个非常好的助教,因为我可能只会投入比较少的精力在他们身上。我也可以毫不避讳地说,我确实一对一帮助过不少同学解决问题(当然是在时间比较充裕的时候)。毕竟,我始终贯彻的目标是 “帮助所有人学习知识”,而确实有一些同学,他们难以跟上教学进度,缺乏独立完成许多作业的能力。然而,在现行的考核标准下,他们必须要寻求他人的帮助,否则,一次作业不完成(尤其是编程作业)对成绩将是巨大的打击。事实上这本身完全没有问题,至少我当过助教的课程从没有一门课程明令禁止学生对作业相互讨论的。然而,在具体的情况中,往往有一些违反甚至严重违反学术诚信的行为 —— 更重要的是,这会导致这些同学没有学习到这门课程所讲授的任何内容,从而对他们之后的学习也会产生很大的影响。在我个人的立场上,我唯一能做的就是在遇到这些同学的时候,尽可能地对他们做一点帮助 —— 因为我至少能清楚地认知到我的帮助是有底线的,我不会帮任何一个人代写作业,也绝对会倾尽全力帮助我帮助的同学理解题目在做什么,学生要做什么,乃至启发他们解决问题。当然,这种帮助是建立在 “该作业预期大家努努力都能拿满分”,也就是作业以练习为基准的基础上的。也就是说,我希望每一个觉得自己有困难的同学一定要多问,无论是找助教还是同学,只要能在提问的时候让其他人看到你的努力,我相信绝大部分人应该是愿意向你伸出援手的。
另外,似乎没有人提到的一个我认为反而是我当 TA 中出现的一个比较严重的问题,就是出现了一些说之后来看然后就咕咕咕的情况。尽管我确实有非常严重的健忘的问题,但无论如何,我觉得承诺了却不做是不好的行为。如果你发现你问我的问题我说过之后回却没有回复,希望能够提醒我,非常感谢。如果我一直没回复那应该是 QQ 的问题,也可以再来提醒我
最后,我看到有评论说 22 级的助教阳间多了。这里确实存在一个让我们非常疑惑的问题:我从来没有在 22 级的任何大群说过不在 QQ 上回答任何问题,有一次作业我们曾经要求过不在大群回答问题,但我个人几乎从来没有拒绝私戳的问题,只在我一时半会看不出问题 / 这题不是我的负责内容所以我没怎么看 / 我见过 piazza 上有类似问题的时候建议他们先看看 piazza,从来没有发过 “please check piazza”,这不是因为老师要求我们在 QQ 上也要回答同学的问题(事实上,老师的态度一直是不鼓励我们用即时通信软件回答问题的),而是我没有必要这么做。无论从 piazza 上的提问情况以及我实际的工作负担上来看,其实我已经有比较充足的精力来回答大家的问题了。(当然这一定与我不再当 head TA 是相关的,因为 head TA 的工作量确实是成倍增长;然而 21 Fall 时我也不是 head TA)这并不是在对任何一个具体的同学表达不满,而是一个切实存在的值得所有以后想成为助教或者已经是助教的同学思考的问题。
学生生涯
如果你吃瓜吃累了,或者单纯好奇为什么很多高年级同学会觉得这样的 SI 100B 甚至是在 “变简单了”,可以看看这一段,我在这里简单地介绍一下我在学这门课时候的心路历程。这一段并不是为了说明 “我遭受了很大的折磨所以当 TA 的时候也要报复”,而是切实地说明我们做了什么,以及哪些折磨可能是一以贯之难以避免的,以及哪些问题是我们做完之后还存在或者新产生的。
我经历的信导是 Hao 时代的最后一点余晖(不一定是好的),也就是 Diao 和 Zhang 时期的信导。虽然这么说,但实际上我并没有见过 Diao 和 Zhang,只能从我们的作业和学长学姐讲述的传说中得知上个时代的故事。
我们当时 Python 直接压缩到四周一起上,非常离谱,但也因此只有两个 PA。PA 1 是对 csv 的字符串处理,写起来相对小清新,大约相当于 22 Spring 的 PA 1 略难一些的难度,比 22 Fall 难的更多一些。21 Fall 由于是现场编程题目难度没有参考价值,当然这个 PA 比当时周末发的要难很多。
PA 2 简直是终极折磨,直到现在我也很好奇为什么当时这道题居然有那么高的通过率。具体来说就是实现几个 class,支持一些比较复杂的表格操作(比 22 Spring PA 2 复杂不少)。我写了大概 8kb,我觉得可能有不少人写了 500 + 行。这题难度肯定远高于从 2021 Fall 以来的所有 PA;当然后来了解到比起 19 年我们的又简单了不少。
两次 PA 都有 30 次的提交限制,第一次体验到居然还有限制提交次数的评测方式。这确实导致我提交变得谨慎了一些,还好最后有惊无险。现在想想,觉得那时候能限制 30 次简直太神奇了。
当然由于 SI 100B 的改制非常多,比如 20 年开始变成了三合一且从大一下学期改成了大一上学期,导致题目难度和数量肯定都下降了很多;从 21 年开始信导秋学期 PA ddl 大幅缩短,导致难度又下降了很多,也因此,我当助教的三次 SI 100B,每一次的作业(不是说我出的作业)都是大部分 TA 认为符合或小于当次作业的难度的。然而,从结果上看似乎并不是这样(21 Fall 是通过率最不符合当时 TA team 的期望的),那么这其中一定有着某种结构性的问题,这是需要之后的教学团队认真考虑的。从我个人的角度上看,我希望把类似 Berkeley 的 “暑假作业” 给加回来,同时认真考虑一下三合一的必要性。当然这些问题对助教来说是很难的,只能希望之后的 TA 们多努力了。
EE 部分 16 次 quiz、SP 部分上课听讲座习题课学知识的情况似乎就这两年来看变化不大。似乎 EE 还多加了焊板子的部分。
Project 部分我当时选的是 AI,或者说表盘识别。这个项目的得分主要看训练准确率以及 Bonus,而看起来我准确率做得不够好同时还以为 Bonus 真的是 Bonus 所以没做,然后就寄了。后来在和选了同样 project 的同学交流发现,对于已知训练集和测试集的训练来说,大家提高准确率的方式也果然是过拟合。甚至有小组做到了 100% 准确率的惊人成绩(当然我不确定在最终的测试集上是否也能有这样的表现),令我大为震撼。这也是我对训练准确率的 project 非常不满的原因之一:对于刚接触 AI 的同学来说,如果给定了确定性的训练集和测试集,那么大家为了准确率好看一定会过拟合,这可能不太符合这个 project 设计的本意。因此,2022 Spring 和 2022 Fall 部分的 Python Project—— 也就是我主要负责的两个 Project—— 都与准确率没有任何关系了。
总结?
总的来说,无论对于 20、21 还是 22 级,应该都可以预见到 SI 100B 将是信院必修课程中体验最差的一门课之一。尽管之后还会有 workload 更逆天的课,但作为新生的第一堂课,SI 100B 无疑是非常痛苦的。我记得在 22 Fall 的第一堂习题课我说 “SI 100B 绝对不是一个好的入门课程,但我们希望尽可能地帮助到大家学会进入信息科学学术生活的那些必备技能”。从结果上看这个目标无疑是失败的,或者说无疑是必定失败的,然而这仍然可以成为所有还愿意成为这门课助教的同学的一个可能的努力方向,无论是 Python,SP 还是 EE。当然,我更希望三合一的历史在下一年终结,只是也许这可能更难做到了。
而对于这门课或者任何一门课中的学生与教学团队的沟通,我更希望看到的是实名的、现场的对话。我认为这是完全可以做到的,据我所知 CS 101 有进行过一次对话,也给我们的课程改革提供了非常有帮助的建议。我愿意相信所有人都是希望教学环节不断变好的,因此无论你是选择从学生的角度站出来勇敢地对老师或助教进行批评,还是从助教的角度尽自己的努力一步步改善一门课程的教学 ,甚至直接毕业留校当 AP 然后自己上课 都是我认为值得被鼓励的。但我仍然坚定地认为实名是最好的第一步、现场是最能提供现实性和价值的第二步。如果所有的沟通都能以这样的方式同时有效率地进行,我觉得即使是 SI 100B 这种逆天课,也说不定不是完全没有救。