计算之美与乐趣I(安虹) 2023夏 2023春 2022夏 2022春 2021春  课程号:CS151201
2023夏 2023春 2022夏 2022春 2021春  课程号:CS151201
1.7(6人评价)
1.7(6人评价)
  • 课程难度:中等
  • 作业多少:中等
  • 给分好坏:杀手
  • 收获大小:一般
选课类别:通识 教学类型:理论实验课
课程类别:一般通识 开课单位:计算机科学与技术系
课程层次:自由选修   学分:2.0
课程主页:暂无(如果你知道,劳烦告诉我们!)
简介 最后更新:

本课程在科学计算、工程计算和社会计算等领域应用问题的驱动下,探讨算法、编程和系统结构的一体化设计思想,理解程序并行性和局部性的来源,掌握并行程序计算、访存、通信和I/O行为特征分析方法,初步了解不同并行计算系统结构上的并行编程模型和语言,学习综合运用各种编程环境和工具实现对本领域应用问题的建模和模拟,设计大规模并行应用软件。

本课程的授课形式包括讲课、研讨、以团队方式完成课程项目和学生报告。

AI 总结 AI 总结为根据点评内容自动生成,仅供参考

考试

《计算之美与乐趣I》这门课程没有期末考试,而是通过两个主要作业评定成绩。其中一个作业是“折蛋白质”或“流浪地球”二选一,另一个作业涉及超算应用的具体操作和研究报告。

给分

给分机制广受诟病。用户"PtilopsisL"指出,部分学生因为不知道第二个作业实际要做什么而未交作业,结果不及格,甚至有同学为此使用了放弃成绩的机会。另一用户"ay"则表示尽管完成了课程加分任务,但最终评分仍然不及格。整体来说,对于不及格同学的实际情况,多数是因为作业未交或完成不理想。

作业

作业被普遍认为较难且指导不足,尤其是第二个作业。PtilopsisL提到,由于超算节点的特殊认证登录方式,新手很难上手,助教也未能提供有效帮助。同样,用户"ay"指出助教在考后才准备好实验环境,致使实验进展困难。用户"B站大军降维打击"则详细描述了超算应用涉及到的复杂编译任务,认为对大一新手特别不友好。

教学水平

安虹老师在教学上被认为有丰富的经验和教学想法,但课程实施过程中常出现理想和现实之间的鸿沟。以报告为主的课程形式,使很多学生感到难以掌握实际知识。用户"什么昵称"提到课程内容主要是听报告,实际知识欠缺,特别是开学晚,反馈时间不足,导致很多学生在意识到问题时已错过退课时间。

课程内容

课程内容集中在超算应用的科普与实践。用户"B站大军降维打击"提到,尽管课程安排了跨学院的科普讲座和超算实践任务,但这些讲座内容与实际作业内容联系不大,导致大部分学生对课程产生了误解,并难以真正学到知识。用户"Rengin"和匿名用户对课程的整体体验极为不满,认为课程差到极点。

总结

总体来看,安虹老师的《计算之美与乐趣I》课程尽管旨在培养对超算的兴趣并为超算比赛选拔人才,但实际操作中存在显著的问题。主要问题集中在作业的复杂性与指导不足、课程宣传与实际内容不符、课程准备和组织不到位等方面。不推荐对超算无特别兴趣或没有相关基础的学生选课。

排序 学期

评分 评分 6条点评

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

首先是结论:极度不推荐

计算之美与乐趣这门课,既无计算,也不美,更体会不到乐趣。正如神圣罗马帝国“既不神圣,也不罗马,更非帝国”。建议改名为荒岛之美与求生,因为这门课从来不给你讲什么新知识,但是却要求你完成一个项目(第二个作业),对新手,尤其是那些没接触过Linux等等的人来说,非常不友好。举个例子,超算节点为了安全性使用了一种特殊的认证登录方式,导致新手为了登录服务器就得花费半天时间。要是你每天闲得没事干倒是可以来试试,像大部分同学那样每天被作业实验压得喘不过气来的还是趁早跑路吧!

 

---------------------------分割线,以下是补充内容

大家可以看看另外一则评课对BJC课程的补充说明,对课程定位与超算有详细的讲解。当超算、郭奖/MIT、保研/出国、奖学金这些元素碰撞在一起时,很难不让人产生憧憬的心情。(当初我或许也是这么被骗进来的)但是这门课让我深深体会到了卖家秀与买家秀的巨大区别。你说好好的一门课咋就开成这个鬼样子了呢?截止目前,所有同学不约而同地给出的1分评价,包括对这些评价的点赞,我认为很是能说明问题的(不包括10分评价,根据内容我推断那是助教给的评价)。我原以为只有我一个人对这门课有意见,结果是“我们大家都不喜欢这门课”。所以,基于那一则评课中的内容,我还是想再来说说自己对这门课从憧憬到劝退的心路历程。

 

安虹老师是一名德高望重的老师,对教学非常有想法。在20秋的ICS(H)课程上,老师向我们展示了未来计算机学院课程安排的变化。变化中包括删除一级大物实验,删除过多的物理通修,ICS课程改为全校通修并分为H/A/B三个等级,加强书院制度对学生计算机能力的培养等。这些课改中的内容都是切中要害并且非常有助于提升同学的计算机能力的,其中还包含了多年呼吁但从未落实的减少物理课程的提议。这些想法中,似乎除了ICS只变成计算机学院通修之外,其余均在21春季学期面向20级及之后的计算机学生落实了。很难得,物理课这工科人的心头大患的的确确是减少了很多,减轻了同学们的负担。老师在课堂上同时也介绍了计算之美与乐趣这两门课,培养同学们对超算的兴趣并为超算队选拔人才。老师培养过成绩斐然的超算队,也培养过几名郭奖得主。老师在ICS最后一堂课上还举了一个曾经工院郭奖得主的例子,那名同学在夏季学期选了ICS这门课(当时是ICS第一次开课,还是请的Yale Patt老先生亲自来科大给学生们上课),因深受这门课的影响在研究生阶段决定转行CS并成功。这个例子确实还是给了我一定触动的。

由上面的例子可以看出,老师对计算机教学有丰富的经验与想法,老师培养出的队伍/队员非常优秀,我抱着一种提升自我的心态(也许吧,我现在已经忘了),选了这门课。基于老师在ICS(H)课堂上的宣传,很多同学也选了这门课,大部分应该是英才班的,应该还包含部分CS系排名前10%的同学。这门课同学的基础都还算不错的

 

那很奇怪了,既然这门课有部分同学基础不差,为什么包括这些同学在内都不喜欢这门课呢?因为这门课的外表与现实之间有巨大的鸿沟,说的/宣传的是一回事,等这门课上下来之后才知道原来是另外一回事;课堂上承诺的是一回事,实际执行下来又是另外一回事。既然这门课在宣传上都做得那么好,为什么就不肯在课程内容上多下点功夫呢?我这里必须得向大家揭示理想与现实的巨大差距。

 

理想:老师曾经带领的超算队那么优秀,在我的艰苦努力下,我也能想出绝妙的点子完成程序优化,说不定能带领队伍走向胜利,混个冠军。

现实:编译运行不通过。(解释:说是有官方文档,结果按照官方文档编译出来的程序运行起来总会报错,你说奇妙不奇妙。拿去问助教,助教回复“你可以分析为什么会出现这种情况”,潜台词就是我也不知道为什么。连运行问题都不能提示我们一下如何解决,你还能指望着他教你怎么优化吗。后续还是某同学换了种方法编译才解决了问题。)

 

理想:课程很亲民,我能从这门课中逐步学到超算知识,从编译、运行再到优化,我能逐步入门并精通,后续能加入超算队实现自己的梦想。

现实:我当初也以为这课程很亲民,不然我也不会选。结果来了之后才知道助教们从来不教你怎么飞,但他们只喜欢会飞的人。

 

理想:我有不会的问题可以问助教,可以问已经优化过程序的人(应用负责人)。

现实:问助教助教忙,无回复;问已经参与优化程序的参赛队员,他表示他也没见过这场面。(解释:他们是在x86机器上跑的,实验要求在ARM上完成。看起来只是换了个平台,实际那可真要了命了,他们对ARM上的情况一概不知,最终还得靠我们自己去解决问题。我们的编译任务他们甚至是没验证过是否可行的,这下真变成荒岛求生了。可以见得“应用负责人”这个优势已经属于无稽之谈了,因为有没有都无所谓,遇到啥困难还得自己扛)

 

理想:在Google上搜索一下,或是翻阅相关文档就能解决问题。

现实:要是Google一下就能解决问题那才真是遇到鬼了。有经验的同学都知道,某些简单的问题在Google上搜一下,点开stack overflow,那确实大概率是能解决的。这课程里面遇到的问题那真的是及其稀有的问题,Google上连蛛丝马迹都没有。是我们不愿意自学吗?你指望我们能用自己的课余时间去给你解决这个?至于文档,前面已经说了,照着文档编译出来的软件有问题,跳过。另外你们自己都没在ARM上亲手跑过你就直接给我说难度不大?

 

理想:分组时间早,有充足时间讨论。

现实:我翻了一下QQ记录,第二项作业各组建群时间位于第10周周五,最后给出超算节点的访问权限是在第12周周五(两周才给权限,可见助教是有多么拖延),给了权限我们才能开始编译的工作。光分组不给我们节点的权限我们讨论什么?让我们尬聊吗?我们的第一门考试位于第14周的周日,随后便开始密密麻麻的考试,考试周之前只剩短短两周时间来完成这个任务,这两周时间得去完成其他课复习、作业、实验等,留给这门课的还剩多少呢?这哪里是等到我们期末才想起来,这分明就是等到我们期末才给环境。虽然说ddl拖到721号,在后面原文部分我也说了时间仍然是不够的原因。(7月份的时候助教居然还在群里面说“但是我们布置的已经非常早了吧”,我。。。已经见了很多助教发表的神秘言论了,习惯了。给我的感受是他们活在他们的世界里,我们活在我们的世界里,我们的痛他们不懂)

 

很抱歉用以上陈述浇灭大家的一腔热血,可惜,我自己的一腔热血同样也是被这样浇没的。

我相信大家在选这门课之前,或许都是抱着试一试的心态进来的。这门课的机会成本看上去是挺小的,如果我正好感兴趣,我就继续参加计算之美II,参加超算队;如果不感兴趣,那我也只需要完成这门课的任务就结束,不会损失什么甚至能赚两个学分。但是实际上呢?机会成本大到部分同学甚至为了这门课用掉了一次宝贵的放弃成绩机会(后面还会讲到)。这门课的自由探究制度隐形给大部分发现自己不感兴趣的同学设置了极大阻碍。如果你本身连兴趣都没有,你会按照助教们期望的那样参与讨论吗?会自主查漏补缺询问助教一些自己不会的知识吗?我认为大部分这样的同学一定是茫然的吧。自学我当然是愿意的,但,我引用群内一名匿名同学的发言——“感觉自己什么都不会但是不知道从何学起”。如果根本就不知道自己该自学什么,助教也不给你说,最多在群里面给你回答一下“这需要自主探究,我们干科研也没有指导”,即便你有满腔热情,也早被折磨没了吧。

 

那个评课把给分排在前面我看着就来气。首先,我对一门课最重要的评价标准是体验,给分好体验差的课我一律不会给高星。其次,说是那9个同学没交实验二报告才不及格。那大家猜一猜,为什么他们不交呢,是因为他们懒,没时间做,还是因为他们忘了还有实验二这项作业?都不是。是因为他们从头到尾都没搞明白实验二到底要做什么,他们为了这门课还被迫使用了一次放弃成绩的机会。他们大一的同学抱着一种学习的心态选了这门课,他们有的希望自己能提前了解到CS的有用知识,有的也许想借此课程了解CS的某个前沿方向,提前定好自己的发展目标,可惜最后收获的是一片茫然,有同学到最后甚至连超算是什么都不知道。别人抱着热情来学习这门课,结果就一句“自主探究”就把他们给打发了?这门课没给别人创造乐趣就罢了,反倒是直接浇灭了别人对超算的兴趣,我认为抹杀兴趣当属第一等严重的过错,或许一个超算苗子就这么告别了超算。虽然说他们最终课程成绩与我无关,但我看着非常痛心。别人ddl前还想挣扎一下,但是助教依旧保持一种不理不睬的态度,别人私聊我求助我都还是回复并帮助了别人的。有些人可以扪心自问一下,你们对得起人家吗?***,退钱!

就算这门课肩负重大的任务和使命,也不是你们乱上课的借口!

---------------------------补充内容结束

 

这门课在教务系统上的上课时间是3~16周,也就是说在开始上课的时候就已经失去免费退课资格了,到后面发现这门课不好想要退课的时候已经晚了。前面第一项作业还算简单,二选一,要么折一折蛋白质,要么完成一个“流浪地球”任务。因为折蛋白质更容易完成,所以大部分同学都完成的是折蛋白质的作业。

 

“流浪地球”有待我用一段来吐槽。这项任务是某一位助教布置的,这位助教也堪称神秘。他布置的“流浪地球”,最后似乎只有不到十人完成了这项作业,并且符合他标准的只有少于5人,他在课堂上讲解这项任务的时候展现出对我们失望的神态。其实仔细分析一下也能知道,这种状况也是他自己一手造成的。他的实验文档里面基本上来说只有任务要求,没有任务指导,可以说连一些小提示都没有。如果你想达到他的标准去完成这一项作业,你得花大量的时间去深入思考,投入的时间很大一部分可能都打了水漂。这位助教的内心假设是,大家都有兴趣和大量时间去研究这个问题。但是实际情况大家也清楚,除了这门课之外,我们并不是无所事事,我们还有很多别的任务要忙。而他认为呢?我们得把时间花到这门课上,要是不愿意花时间就等着收获一张司马脸吧。这门课的助教始终保持着一种“fly bitch”的观念,就算你没有飞行基础,我也不教你怎么飞,但就是要强行要求你飞起来。最后课上老师再大力表扬那些飞得精彩、飞得漂亮的同学,甚至还会给予一些额外奖励,这就是这门课的现状。可以说,这门课极差的体验很大程度上都归功于神秘的助教,后续我还会继续补充我说这句话的原因。

 

后面就是课上陆续请一些老师过来做相关科普,没有干货知识,随之而来的就是第二项作业。这门课的主要槽点主要都聚集在这第二项作业上,布置晚,不告诉你要做什么,不给你做指导。此外需要注意的是,教务系统上的退课申请(就是得使用一次退课机会的那种)在最后一次课程上完后截止,而这门课第二项任务因为布置得晚,ddl在第20周。当你后期发现第二项作业是如此神秘的时候,甚至连课都不能退了!

 

这里再统一说一说这门课的问题

  1. 只有作业,没有教学。如上面所说,这门课请老师过来讲都只是讲相对应的软件的应用场景,这些内容和科普没什么区别。等到你完成作业的时候(尤其指第二项作业),发现居然还需要计算机的专业知识,而这些知识之前根本没接触过。尤其对那些大一同学来说,你们的起跑线就比别人落后很多。有的助教可能会说,之前有个某某同学不会用make,他来问我我还不是给别人讲明白了。首先,你既然知道有很多人存在基础知识缺失的情况,那为什么不在群里面说一下,给那些不会的同学都统一讲一遍?其次,对选这门课的同学来说,这门课的先修知识还得自己去发现,自己去询问,不会觉得既浪费时间又累吗?这直接导致很多无基础同学在完成作业时感到迷茫与痛苦,群内充满了迷茫与痛苦的匿名发言。又有的助教可能会说,我们第二项作业的要求已经很低了,你就调研一下这个软件的应用场景都行,没非让你做编译优化。想想都知道做调研的分会高吗?
  2. 作业时间安排不合理。这门课继承了ICS(H)课程布置作业的特点:本来能早点布置的作业非要等到期末。20年秋季学期ICS(H)课程有六个实验,如果我没记错的话,这几个实验都是从期中之后才开始布置的。更加令人难受的是,大约有四个实验等到最后一个月才批量布置下来。临近考试周+大堆实验的酸爽只有经历过的人才懂。这门课的第二次作业也是临近考试周的时候才布置下来的,所以说平时基本上也没时间去完成作业上面的内容。后面尽管把ddl推到了7月21日(教学日历第20周的周三),但是像大二后期算上搬寝室、完成其他一些拖延课程的任务等等(指考试周结束后还要完成课程的任务),留给完成这门课任务的时间也只有不到一周时间。这一周时间里面你总不可能完全没什么别的事情要做吧,真正留给作业的时间能有多少呢?另外,大二学生春季学期是第16周结课,可能第17周多一点就考完了,后面还能稍微多剩点时间出来。如果你是大一学生,春季学期课程第18周才结课,等你考完试说不定第20周都结束了,哪里还有时间忙这个作业?
  3. 助教都很忙,忙到可以说没什么时间来理你。这也是这门课体验非常不好的原因之一。这一点前面第2条也能反映出来,老师在课上早早就说要给我们开放机器权限,开始实验操作了。实际情况就是一直硬拖,拖到差不多快考试周的时候才给权限。此外还有一个例子,8号我们提出想要算例跑编译好的程序,经过多次提醒后终于在15号发放了下来,就弄一个算例真的需要七天时间?算例发下来之后发现之前编译出来的程序老是有点问题,后续也没多少时间给你重新解决问题了,要是早点发下来会产生这么仓促完成任务的情况?我们在群里面正经讨论遇到的问题时候没有任何助教参与发言,等到后期又进来批评我们不积极,为什么不早点开始讨论。面对这种情况,我始终处于一种流汗黄豆状态。
  4. 作业太过于开放。开放到什么程度?甚至连个实验文档都不愿意给你。通俗地来讲,你连这项作业要干什么都不知道。这就好比,不说告诉我们修房子应该按什么步骤来修也就罢了,甚至连你的任务是要修一座房子也不告诉你。你能想象一个不告诉你要做什么,但就是要收作业的课程吗?来这里你就能见到了。在群里面问了几次文档的事情,得到的回答要么是“啊?我以为课程上已经讲明白了”,要么是“作业是开放式的,等你以后干科研,会有文档来给你照做吗?”,最后直到ddl,也没等来一份文档。课程上讲了什么内容我前面已经说过了,就是请一些老师来做一些简单科普,根本就没提第二项作业要干什么的事情。再说,就算在课上说了,你弄个文档出来也能让我们清晰知道该干什么,早上说过的话晚上能一字不漏记下来?这里的“开放”是本课程的最大笑话,没有之一。高情商:这门课的作业都是自由发挥,没有标准答案。低情商:实际上我们也没测试过可不可行,哈哈,你们自己去玩去吧。另外,可能助教也已经忘记了,这门课只是一门2学分的课,不是什么科研。如果是科研我当然愿意去花大量时间研究东西,可是你愿意把大量大量的时间都花到一门两学分的课上吗?平时满课,作业、实验都做不完的你愿意吧时间花到这上面吗?就算是做科研也得有老师指导一下你吧?你做科研不找导师?
  5. 编译环境太烂了(首先需要说明的是,根据我和群内一些大一同学聊天得出的结论,对很多没基础的同学而言,接触的编译概念还停留在程序设计课程中的简单编译,而这里所提到的编译会复杂很多,所以说这门课对那些没基础的同学来说非常不友好)。那台机器是ARM不是x86的,本身就会有一定的局限。再加上各种奇妙的环境缺失,你没有root权限还得请求别人帮你去安装。再加上第3点说的助教很忙,就算你有需求也不一定会理你。本身简单的编译任务就会变得格外困难(这里的简单也是基于有基础的同学而言),给你一种奇妙的喂屎体验,把时间都浪费在不该浪费的地方上了。
  6. 还有些不想说了,累了。

 

这门课的表面功夫做得很足,计算之美III都做了海报宣传,计算之美II开班时甚至还上了学校微信公众号平台。不过实际体验嘛你也懂的,看这门课评价就知道,金玉其外罢了。

38 1 复制链接
Gone上面几乎所有问题(除了那个超算秘钥验证)都是助教导致的,建议把这门课的助教们名字挂出来,让大家看看都是何方神圣。
立即登录,说说你的看法
Rengin 2021春
  • 课程难度:困难
  • 作业多少:很多
  • 给分好坏:杀手
  • 收获大小:没有
  • 难度:困难
  • 作业:很多
  • 给分:杀手
  • 收获:没有

快跑!!!!!!!!!

 

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

8月14日补充: 看了一下同学的补充,想了半天,我现在只能先说: 对不起,这门新课的设置确实有不合理的地方,计划的很好,体验不好,明年需要重新规划。 等想明白了再说。

分割线~下面是原回答。

作为全程旁观这门课的立项到诞生到第一次开课和结束,我对这门课的定位,任务,其中的合理与不合理之处肯定是有发言权的。

然后我打5分,并不是想让大家都选这门课,而是让大家注意到这条评论,并正确的认识这门课和超算方向,最终判断适不适合自己。仔细看看,对之后计算机方向选择都有好处。

关于超算与超算比赛的简单介绍(基于个人理解)

超算

计算机的学生应该都知道超算机器"神威太湖之光","天河二号"超级计算机,而在这种独特设计架构的CPU/GPU集群上跑的是,各种语言写的物理、化学和地理天气预测等高计算密集的应用。

超算方向主要就是了解物理化学背景,掌握超算架构特性后对应用进行并行化、针对机器硬件架构的独特优化和扩大运算规模的工作。

然后对超算工作人员的要求就是

1. 掌握底层硬件架构

2. 不同语言的并行化编程

3. 不同编译器的使用

4. 各种算法优化

5. 应用的物理化学背景

可能你会说怎么这么一看,什么都要会。确实,因为你的目标就是优化加速,不管你是从底层硬件CPU超频、内存硬盘化、指令流水线或者SIMD还是应用层面算法优化,只要你对同一个例子计算所需时间更短你就赢了。

可以看出对能力要求是全方面的,参加超算比赛,收获也是巨大的。以前的学长参加了比赛,成绩好的都是郭奖和去MIT(当然,你也可以认为只有能力强的才会参加)

看到这里,可能你会害怕了,想说这太难了,在下告辞。

哎! 且慢,这就是这门课程的开设意义了。请跳转课程定位。

超算比赛(只对选课有兴趣可以先跳过这部分)

国内外比赛种类和重要性

国际上比赛每年有3个,中国ASC,欧洲ISC,美国SC。后面两个是要出国的(疫情除外),5-6人组队,时间分布大概是5月,6月和下半年,比赛时长都是一周左右,价值百万的服务器机器都是自己手动从零组装。

国内是PAC,CPC,IPCC,全国并行应用挑战赛(PAC)

国产CPU并行应用挑战赛(CPC)

ACM中国-国际并行计算挑战赛(IPCC),都是在下半年。

可能有其他的。

国际比赛只要是冠军,出国随便,大二出国实习经历都不需要了。毕业华为阿里也都是绿灯。

在校内,这几个国际比赛也是评优、奖学金和保研占比权重最高的,没有之一。校内的考试也是可以申请缓考。(因为美国的打压,计算机体系结构方向的重要性凸显)

校队历史成绩

我们学校作为多次冠军(最近的是2020ISC,虽然没有清华多),肯定是十分有实力的。(我十分推荐和高年级去参加比赛,不仅可以学到很多,假如混个冠军,嘻嘻)

而且你遇到的对手都是别的学校最顶尖的学生,比如清华队,今年派的就是清华特奖得主(相当于我们学校郭奖),计算机系三年GPA第一名张晨。

比赛基本内容

一堆公司把自己优化后或者没有优化的正在用的软件丢给组委会,组委会选几个不同方向的,物理化学生物AI(AI可能自己出问题),每个队员一个(外加个基准测试程序HPC类似的),然后来骗,来白嫖我们参赛队员的优化成果。(冠军有几万美元,其余没有)

要求:

1. 一般是3000W总功耗,大概功耗只能用8台纯CPU服务器,或者4台(或者2台)搭载2块A100的机器。

2. 给几个不同的例子算,时间短,高分

3. 最后做个英文展示,评委提几个问题。

课程定位

作为学院改制的计算机学院的新课程,

1. 超算由于天生具有"计算机+"的属性,"计算机+物理","计算机+地空","计算机+生物","计算机+化学"都是so easy的。可以说是跨学院活动的不二选择,凸显学院制的优越性的示范工程。

2. 基于超算要求很高的事实,也需要一个更亲民的课程来吸引大家,同时也是一个超算入门课程,在设想里学生完成计算之美1、2,经过训练应该就有参加比赛的计算机能力了。

3. 同时希望打造一个训练的闭环:从低年级开始参加计算之美1、2,高年级时候参加国际比赛,之后再作为助教参于计算之美1、2的教学。

4. 但同时在定位上也支持学院的学生自治的理念----提倡自学风气

5. 超算还属于计算机体系结构方向,属于在美国限制下,国家大力支持的方向

6. 今年为了和华为合作,用的还是华为ARM的CPU(对课程难度还是有提升的)

课程目标

培养、选拔超算比赛候选队员(10-15名,因为国内外比赛这么多,除非你打算超线程)

课程内容与任务(计算机之美1)

每周才一节课,为了体现跨学院的优越性,每次都是其他学院老师的应用科普讲座,还要提倡自学。(你总算明白了为什么不讲超算干货了,根本没时间,将道理理解应用物理化学背景对计算机之美1的实验是没有一点帮助的,对优化可能有一点帮助)

但是每次其他学院老师讲完,有一个今年负责这个应用优化的参赛队员讲他的经验,他是半年前赛题一发出来就开始接触应用并且已经正常运行并开始优化的,他是最懂的人,你有问题问他啊

课程实验特点:没考试+两实验

两个计算机相关有趣小实验 + 一个可选超算应用运行任务并交一份学习研究报告(讲道理,看上去真的任务不多,虽然要自学,就2个,前面是2选1。后面那个是只要运行起来就行。)

两个计算机相关有趣小实验是:蛋白质折叠和流浪地球的行星运行模拟。我不知道评分这么样,就不评价了,难度应该是不高的。而且几位优秀的同学,都去开放科技周展示自己的实验了。

后面是小行星发现presto,第一性原理原子模拟GPAW, 分子动力学模拟lammps, 大气天气模拟WRF,生物基因mhm,AI自然语言理解bert。六选一。是不是头大了,因为这就是今年ASC和ISC的原题,是不是妙极了。如果你有心,可以提前半年,9,10月份,你就知道了春季学期的实验内容

能力要求(我保证只要你会下面几点,3.7还是随便拿的)(计算机之美1)

如果认为很难,对大一没接触计算机的新生:

啊,确实很难!

你需要掌握

1. Linux系统常用命令、静动态链接库、环境变量、cmake、make、configure(操作系统会讲)

2. slurm超算作业调度系统(超算基本知识)

3. module环境管理系统(超算基本知识)

4. 编译器gcc\icpc及其相关选项(c语言课程,组成原理会讲?)

5. 可能的mpirun的使用(并行计算会讲)

6. Latex的使用(毕业论文通用模板,李向阳老师算法课作业格式)

虽然有些是大二,大三才学的,但是都是些其余课程里的相对简单基础的东西,但怎么说,至少对大三以上的学长肯定是so easy的。

我不知道,对于大一这些需要多少课时讲解。

据我所知,第二个实验很早就已经分好组了,学生应该是知道自己实验二负责哪个程序的,理论上有足够时间来学习完成。但如果你留到考试周,你是绝对没时间自学并完成的。

总结

如果你完整阅读了整篇内容,你应该能感觉到,这门新课程肩负的任务和使命是不小的。(1.跨学院交流 2.超算人才培养计划的一环 3.学院制学生自学能力的体现 4. 我校对计算机体系结构方向的实际支持)

课程任务简单来说,低年级提前自学一部分计算机知识跑一个程序和"趣味小实验",可能课程很多,没时间自学很难,那就不适合你。但是一是有每个应用都有官方文档可以查阅安装运行,二是每个应用都有参赛队员跑过讲解过,三是你也可以直接问参赛队员和助教。理论上自学难度是不高的。

但实际过程中确实缺失了几次课程指导,虽然助教在群里问,需不需要答疑也没人回应。

大三之后,跑一个程序和"趣味小实验",还不要听课,白嫖学分。

针对性回应(请大家理性讨论这门还有许多不足的新课程)

给分与实验二

据我所知,给分是按照最高给的,但是前面确实有那种真大佬,实验二报告写了26页,有理有据,逻辑缜密。而且他也没有优化,只是运行,把遇到的问题和解决方法都详细的描述了出来,就写了这么多。(虽然其中一半图片和代码,但是还是给了满分)

给分的时候,只要你能体现你为了正常运行程序遇到的问题以及对应的思考、探究和寻找答案的过程,不管你最后有没有成功运行,分数肯定不会低的。

看了最后的分数43个人,11个90分以上,21个85分以上的,9个没交实验二的,肯定是不及格(就两个实验,最重要的你还不交,怎么可能及格)。优秀率接近一半,除去实验二都没交的,21/34的优秀人数,很高了。

自学模式的一系列连锁问题

1.关于任务量,就2个任务,而且属于超算最基本的内容(就是把程序跑起来),从设计的角度上说,基本都有官方文档,应该难度不大的。(但是还是有天坑的,我后面说)

2. 任务布置时间,实验二是很早就分组的,目标就是跑起来交报告也说得很清楚,当时是为了考虑(当然,可能是因为没发QQ公告。只发了消息,有人没注意,这确实是助教的疏忽)如果到期末才想起来这占比一半的实验二,那我可以想象到你的课程体验相当糟糕。

3. 关于作业开放,首先这个6个任务都是当年的比赛新题,助教也没接触过,而且中途改用华为ARM的机器了,也不能保证程序能在ARM上正常运行,所以实验二的要求很低,只要你能体现你的探究精神和投入了相应的时间就行

4. 关于教学,各种科普讲座就不评价了。为什么不统一讲基础知识呢?因为有6应用,分别是python,c,fortran还有cuda写的,不同的应用有不同的对应问题,所以最后才分了几个各种的应用qq群来私下讨论。

天坑(可能的问题吧)

1. 实验环境由于是校内超算,申请需要时间,

2. 超算编译环境一般比较难用,这个我承认,出于安全性,没有root也没有网(wget和git clone一般用不了)。如果要自己编译安装,需要本地下包,scp或者sftp之类的传到超算上去。

3.不同应用安装难度差异很大,简单的python应用GPAW,安装个库,然后pip install就解决了。难的应用,比如presto,是一堆小计算工具的集合体,每个都要安装各种库,而且有些库有兼容性的问题,可能2003年就停止更新了,而且官方文档也没有,这个应用的负责人中途还跑路考托福去了。

关于神秘

有同学说助教神秘,实验神秘。助教不回你,大概率他不负责这个应用,他不会。负责这个应用,具体的问题如果Google不到,不登上机器调查,是很难弄清的。

关于宣传

基于这门课的定位,给了相应的宣传。

回应部分的总结

虽然课程要求很低,但是由于是自学研究导向的(有问题问应用的负责人),如果你因为遇到问题而迷茫烦心,对Google答案、翻阅相关文档和问应用的负责人觉得很困难,那你的体验是很糟糕的。

理想中我们需要你能遇到问题,自主学习,解决问题。在这个循环中达到超算能力的提升,顺便收获这2学分。

9 3 复制链接
Rengin深得春秋笔法精髓,我从未见过如此厚颜无耻之人
这课程要求真的很低吗?
jqtlg实话实说,对超算有兴趣的同学要是真的上这门课估计也没兴趣了。
立即登录,说说你的看法
什么昵称 2021春
  • 课程难度:困难
  • 作业多少:很多
  • 给分好坏:杀手
  • 收获大小:没有
  • 难度:困难
  • 作业:很多
  • 给分:杀手
  • 收获:没有

每周上课就是请个人过来作报告,第一次实验是玄学搭蛋白质,弄了两天弄不出来。

很坑的一点是这门课第三周才开始上,所以当你意识到事情不对的时候已经不能免费退课了。后悔选了这个课,在第一次实验ddl之前退课了(开学的时候是58人,我退课的时候还剩48人,学期结束还剩41个,就是说1/3的人都退课了

另外,这门课开课的时候,老师为了让更多的人选课也是花招用尽:又是在ICS课上说什么“玩游戏就能拿学分”,又是食堂外小海报宣传,又是短信宣这门课+邮件通知,还让班主任在班群宣传了一下。这开课质量真的对得起这个宣传吗(

(7.15更新,这个课的第二个实验ddl在7.20号,公布ddl在教学周结束之后,就导致有几个同学在第二次实验ddl公布之后想退课但是退不了了)

8 1 复制链接
什么昵称突然发现,把这门课退了,可能是我上学期做的最正确的决定(
立即登录,说说你的看法
ay 2021春
  • 课程难度:简单
  • 作业多少:中等
  • 给分好坏:杀手
  • 收获大小:没有
  • 难度:简单
  • 作业:中等
  • 给分:杀手
  • 收获:没有

这是我上过最糟糕的课 。 第一完全学不到什么。每次都是讲座,听得一头雾水,实际的知识没有。 第二实验sb,态度极差,实验环境在考完试后助教才准备好,简直了,离ddl只有一周了,快截止时助教发现了自己给的实验的一大堆错误,我tm一周多的努力都白费了。感觉课程准备的极差,态度不端正。 第三给分杀手,md做了加分,但助教根据自己的看法,说什么不合格,感觉和一开始说的不一样,实验也是做的一头雾水,佛了,感觉这课就纯浪费时间。 除非你想搞超算,否则别报。

08:05:35 [图片]

7 0 复制链接
匿名用户 2021春
  • 课程难度:困难
  • 作业多少:很多
  • 给分好坏:杀手
  • 收获大小:没有
  • 难度:困难
  • 作业:很多
  • 给分:杀手
  • 收获:没有

差到不能再差的课了。

0 0 复制链接

安虹

教师主页: 戳这里

其他老师的「计算之美与乐趣I」课

未知 2022夏 2022春

安虹老师的其他课

高性能处理器体系结构 8.5 (2) 2019秋 2018秋...
计算机导论 6.0 (1) 2013秋
计算机系统概论 6.7 (3) 2011夏
计算机系统概论(H) 6.5 (34) 2024秋 2023秋...
计算之美与乐趣II 1.3 (3) 2023秋 2022秋...
计算系统概论A 3.3 (26) 2022秋 2021秋
多核计算 2008秋
虚拟机技术 2006秋
高性能计算 2024秋 2020秋...