清华大学电子系大一暑假小学期总共 9 个学时的 Python 课程

清华大学电子系大一暑假小学期总共 9 个学时的 Python 课程

更长远来说,继之前自动化系大作业上乎、计算机系小学期考试上乎(后者热度远低于前者)后,我就一直在等电子系上乎。现在它来了,只是本以为是《媒体与认知》或《数据与算法》,没想到是《计算机程序设计基础(2)》(笑)

我看到这个作业后也发了条朋友圈,除了多数人表示离谱外,有少数 AI dalao 表示这个作业并不难,调几个 Python 库即可云云(刚进 AI 相关实验室时无非也是如此)。但我觉得这么评价它是不合适的,这个大作业之所以让很多同学感到难以接受,个人认为关键在于以下几点:

  1. 对同学们基础能力预估过高。电子系本非以对软件编程高度依赖的院系,同学们大一时大多只接触过 C/C++ 的基础版(C++ 不讲 STL 不讲 C++11,大作业不少同学单文件完成),没有培养大家自学、自主找资料的能力,现在突然速成 Python 并完成大作业,对很多同学来说是非常困难的,也不像计算机系同学一样多少能找个室友抱大腿
  2. 忽略了 AI 领域前置知识确缺失问题。虽然“调 pytorch 随便写几层 CNN,不追求准确率” 这件事对 AI 圈的人来说好像确实只是个简单的 demo 水平,可是别忘了,大一小朋友们并没有接触过 AI 这个领域,他们不知道什么是 pytorch 什么是 CNN,相比之下贵系的人智导好歹真的有一学期的课告诉大家人工智能的发展史一章的课告诉大家神经网络相关的理论知识。我们经常说的 fly bitch 课程通常指上课讲了点儿理论后,不给具体的实验指导即让大家动手实践,而倘若一门课在毫无理论的情况下直接让人直接实践,这已经不是 fly bitch 了,这听上去更像是教学事故
  3. 忽略了算法知识缺失问题。有同学指出题面上也没有非要炼丹,用 SVM、最近邻之类的也可以,这一点我认可,但这并不代表这个作业就合理了,因为无论是 SVM 还是最近邻这些都属于需要了解过才能知道的算法,我们不能指望多数人具备“自己拍拍脑袋就创造出了简单算法”的能力,“人非生而知之者”
  4. 需求理解难度高。现在的任务和大家的预期相差太远,Python 除了用于人工智能外主要用于各种脚本、工具,它可以用于自动化很多本需要繁琐人工操作的事情,如果我来布置 Python 作业,我可能会侧重于爬虫、表格处理或者其他带有批处理性质的任务,这种任务的特点是多数同学们能够理解我们到底在干什么,如果没有 Python 我需要怎样的手工过程完成任务,有了 Python 我可以省略多少人力让它们自动化。可惜老师选择了多数同学毫无经验的人工智能领域的问题,同学们既不熟悉 Python,也不熟悉任务,更不熟悉任务所需要的其他工具,很有可能即便最后磕磕绊绊写了份代码,也不知道这份代码到底在干啥
  5. 老师对大作业的布置没有足够重视,缺少调研和实践。据说老师的原版是要求不允许使用第三方库的,这也是第三条“不允许直接使用开源项目提供的已训练好的模型或已写好的现有代码”的来源(实际上这个要求三是有些别扭的,尤其是后半句即是 “不允许抄袭代码”,这本就是不必明说的基本学术规范,尤其是它竟然和前一条并列了)。老师原本要求不允许使用第三方库,结合第二条,即是指望同学们找几篇 paper 直接造轮子开始复现。我已经可以想象老师预设的路线了:为了复现一篇 paper,去看 paper 的 reference 里的 paper,不断递归查找总能找出基于最原始的 Python 甚至是伪码的 paper(比如提出 pytorch 的 paper),然后不允许用这篇 paper 的开源成果,同学们自己造造轮子就好——这不由让人想起去年《数据与算法》课程中要求用 C++ 造 CNN 轮子的做法,或许某些老师就乐在其中?早从我经历了贵系小学期后,就经常说:教务应该规定,布置实验/实践型作业前必须由老师或助教先行完成一版能够取得 95 分水平的,否则就算是教学事故。我很好奇在老师看来是他自己还是它的助教能不调第三方库写神经网络?当然,最终助教还是阻拦了老师的疯狂想法,至少现在能用 pytorch 了

联系此前几起离谱作业/考试的事件,我还是主张这一点:教务应该规定,布置实验/实践型作业前必须由老师或助教先行完成一版能够取得 95 分水平的,否则就算是教学事故。注意这里我没有说 100 分,有老师认为清华大学这么多优秀学生应该总能出一些出师的,这我没意见,但是不能因为期待这少部分天选之子的出现而不把多数人当人看——一个人有成长的过程,有学习的曲线,人不能,至少不应该,被期望用一周的时间从知道什么是 Python,什么是分类问题,什么是训练集,什么是 CV,到完成一个人脸性别识别大作业

当然人也不该被期望在一周里从知道什么是 Python,什么是 HTML,什么是爬虫,什么是数据库,什么是中文分词,什么是倒排文档,到完成一个从爬虫到搜索引擎前后端的大作业。所幸几年下来贵系小学期课改总算是有了效果,可是无系小学期今年课改元年直接整这么一出,属实把我看呆了。

对了,既然提到了课改,顺便提提这门《计算机程序设计训练(2)》的课改情况:

  1. 这门课是大一下课程附带的小学期,大一下学 C++ 暑假做大作业,往年安排是小学期两周时间不上课,完成两个 C++ 大作业以考察对类的使用,对有多少 OOP 知识运用有量化标准,大作业选题一个是学生成绩管理系统(或类似管理系统),一个是自主选题,码量要求是 400 行以上,两周写不完可以往后拖,可以拖到暑假结束(不扣分),总的来说属于要求繁琐但工作量不大的作业。
  2. 今年课改,删掉了 C++ 的自主选题,改为拿两周中的一周上三次 Python 课(共9学时,1学时是45分钟),并加了 Python 三次小作业一次大作业。作为一个 AI 型大作业自然是不看码量了,但它也和“计算机程序设计基础”几个字渐行渐远了。老师倒也没有说大作业一定要这周交,但是对比之下往年的大作业真的是可以一两周写完的,现在这么改无形之间是暗示了很多同学暑假继续烧时间。我也知道多数同学付出暑假里几周的努力后肯定是可以搞定这些的——只是这合理吗
展开阅读全文

页面更新:2024-06-20

标签:电子系   学期   清华大学   神经网络   爬虫   作业   学时   助教   人工智能   不允许   轮子   程序设计   算法   暑假   同学   老师   课程   代码   基础   科技

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top