点击上方“图灵人工智能”,选择“星标”公众号
您想知道的人工智能干货,第一时间送达

版权声明
转自新智元,版权属于原作者,仅用于学术分享
【导读】AI都能写代码了,大学计算机课程应该教什么?最近,美国顶尖名校东北大学做出一项重磅决定,淘汰计算机基础相关的核心课程,转而主推Python教学。
东北大学Khoury计算机学院,竟宣布淘汰「计算机科学基础」(Fundamentals of Computer Science)课程。基础不教了,那教些什么呢?答案是——Python。支持的人认为,Python是当前最受青睐的编程语言,对找工作更有利。反对的人认为,如果这个改革方案实施,将是东北大学计算机专业走向衰落的开始。有网友表示,「一个时代终结了。东北大学课程体系曾经是独一无二的杰作,而现在,它将变得平庸平淡」。他认为,那些抱怨Fundies课程难度太大,或缺乏就业市场适用性的人,完全是捡了芝麻丢了西瓜。这些课程的核心是设计过程,而使用Racket正是为了帮助学生理解这点。从这门课程受益的校友表示,「很显然,这种方式是成功的,它已经被证明是开启计算机科学职业生涯的一个绝佳起点」。这场改革背后,折射出一个值得深思的问题,计算机教育究竟应该教什么?
对于计算机科学(CS)专业的学生来说,软件工程师是最主要的职业发展方向之一。一个优质的大学课程体系,必须为学生提供能够让其在职业生涯中取得成功所必需的关键能力。
「Putting Your Major to Work: Career Paths after College」2017年众所周知,软件开发领域瞬息万变。如果课程过分追随当前的行业趋势,所学内容很可能在学生毕业之前就已经过时。一个优秀的课程体系应当着重强调那些具有广泛适用性的核心理念,使学生能够灵活地适应在未来工作中出现的全新技术。与此同时,还需要教会学生如何思考软件本质,以及如何系统地解决问题。目前的计算机科学基础课程(简称Fundies)通过教授系统化的程序设计,为解决陌生问题提供了一套行之有效的方法论。这种方法的核心在于,将复杂问题分解成小而可行的步骤,特别是在动手编写代码之前,先要求学生深入思考问题的本质。诸如Fundies 1、Fundies 2、「面向对象设计」和「软件开发」这样的核心课程,着重培养的便是学生对代码的思考能力,而不是简单地堆砌代码。常有计算机科学专业的学生会抱怨,「为什么Fundies 1教的是Racket,而不是Python这种更『实用的语言』」。需要强调的是,Fundies课程的重点并不是教Racket,而是培养可以应用于任何编程语言的程序设计能力。而Racket只是实现这一目标的教学工具而已。实际上,一个在Fundies课程中掌握了核心概念的学生,完全可以轻松地将这些能力迁移到Python,或者其他任何语言当中。况且,在科技行业瞬息万变的今天,仅仅开设教授Python的课程真的明智吗?毕竟,说不好哪天就会有另一种语言占据主导地位了。课程体系的设定,应该更关注那些经得住时间考验的原则,而非追逐短暂的技术潮流。
但现在,在这个近二十多年来最严峻的科技就业环境下,Khoury计算机科学学院却计划放弃这种行之有效的教学方法。如前所述,学院提出的改革方案将逐步取消Fundies 1、Fundies 2和「面向对象设计」课程,转而推出全新的课程体系。新课程将以Python为主要教学语言,学院认为这是个附加优势,因为Python目前是企业实习岗位最青睐的编程语言。

GitHub 2024年度编程语言榜单中,Python继续霸榜但是,我们不能仅仅因为一门语言在业界当前流行,就把它作为教学语言——我们必须选择具有真正教育价值的语言。选择Racket是因为它有专门的「教学语言模式」,可以随着学生对设计原则的理解逐步引入新的语言特性。虽然新课程最初使用同样具有教学导向的Pyret语言,但在第一门课程中就会迅速过渡到Python。而Python却没有类似的渐进式学习特性——学生不得不在掌握如何清晰高效地使用这些特性之前,就必须先接触复杂的语言特性。另外,Khoury学院表示将允许持有大学先修课程(AP)计算机科学学分的学生免修新课程。现行课程体系之所以不允许这种做法,是经过深思熟虑的——AP课程并不包含系统化的设计能力训练,因此与入门课程并不具有同等的教育价值。Fundies 1和Fundies 2通过小型问题的实践来训练设计思维,这为学生在后续的面向对象设计和软件开发课程中处理更复杂的项目打下基础,同时也为他们的实习工作做好准备。如果允许学生跳过这些基础课程,他们在后续的高阶课程学习和未来的职业发展中都可能会遇到严重的困难。
从这些变更来看,虽然Khoury学院表面上认可设计范式,但实际上并未致力于将系统化程序设计,作为课程的核心要素来维护。正如Fundies 1教材中所说,当前课程所强调的程序设计能力是「区分野路子程序员和专业软件开发者的关键」。如果Khoury学院放弃以设计为导向的课程体系,将无法培养合格的软件开发人才。这次变更的主要推动力,似乎是想让核心课程变得更容易。有一位教授告诉学生,学院希望减少从Fundies 2和「面向对象设计」课程退课的学生人数。虽然这种想法可以理解,但为此删除课程中最重要的部分显然是得不偿失的。「面向对象设计」课程的前任助教Derek Kaplan称,自己见过许多学生在这门课程中挣扎。但也见证了这些学生通过学习这门课程成为更优秀的程序员。学期末的「代码互换」(code swap)作业,要求学生在其他学生的代码基础上进行开发,这是学生最难应对的作业之一——但它教会了学生如何在他人编写的代码库中工作,这是他们在未来职业生涯中必须具备的能力。此外,对许多学生来说,这门课程提供了他们首次参与大型软件项目的经验,这与他们在实习期间将要从事的工作很相似。我们不禁要问:大学究竟是为了让学生轻松拿到分数,还是为了真正培养人才?至少,Khoury学院管理层在计划对核心课程进行任何改变时,都应该咨询有经验的助教。助教们拥有独特的视角——他们不仅亲身体验过这些课程,还在帮助其他学生成功的过程中积累了宝贵的经验。助教深知什么是行之有效的,可以帮助确保在进行有利于学生的改变的同时,不损害核心教学原则。Derek Kaplan表示,「如果Khoury学院执意作出这些改变,这无疑将标志着东北大学计算机科学项目衰落的开始」。https://huntnewsnu.com/82511/editorial/op-eds/op-ed-northeasterns-redesign-of-the-khoury-curriculum-abandons-the-fundamentals-of-computer-science/优秀Python教材推荐:
董付国编著.Python程序设计(第4版·微课版·在线学习软件版),ISBN:9787302663799,清华大学出版社,2024年6月出版,2024年12月第3次印刷(本书前3版印刷34次),定价69.8元,山东省普通高等教育一流教材
,国家级特色专业、国家级一流本科专业“计算机科学与技术”配套教材,山东省一流本科课程“Python应用开发”配套教材,2019、2020、2021、2022、2023、2024年清华大学出版社畅销教材

图书内容:154个例题、140节微课视频(含课程思政),内容涉及Python基础、Office文件操作、GUI、图像处理、计算机图形学、音视频处理、数据分析与科学计算可视化、密码学、数据库、网络编程、多线程与多进程、逆向工程、Windows系统编程与安卓编程等领域。
页数:372
适用专业:计算机类所有专业
适用层次:研究生/本科/专科
配套资源:教学大纲、电子教案、课件、源码、数据文件、习题答案、题库,在线练习软件,支持课程思政,支持工程教育认证
适用学时:64/96/128
《Python程序设计(第4版)》教学大纲
Python程序设计教与学(教学大纲+教案+实验教学大纲)
《Python程序设计(第4版)》章节习题答案(65页)
===============
教材信息:
董付国著,《Python程序设计基础(第3版·微课版·公共课版·在线学习软件版)》,ISBN:9787302611035,清华大学出版社,定价59.8元,2023年1月出版,2024年12月第9次印刷(本书前两版累计印刷27次,已退出历史舞台),国家级一流本科专业、国家级特色专业“计算机科学与技术”配套教材,全国高等学校计算机教育研究会“十四五”规划教材,山东省高等教育优秀教材,山东省普通高等教育一流教材,山东省一流本科课程“Python应用开发”(线上线下混合)配套教材,山东省一流本科课程“Python程序设计基础”(线上)配套教材,清华大学出版社2019、2020、2021、2022、2023、2024年
畅销教材

图书内容:Python基础,正则表达式,文件操作,数据库操作,数据分析与科学计算可视化
配套慕课:中国大学MOOC、智慧树,搜索“董付国”
配套微课:43小时
配套资源:教学大纲、课件、源码、数据文件、在线练习软件
页数:310
适用专业:非计算机专业(偏理科)、选修课
适用层次:研究生/本科/专科
适用学时:48/64
配套资源:用书教师可以免费获取教学大纲、教案、课件、源码、习题答案、慕课、在线练习与考试系统。
《Python程序设计基础(第3版)》章节习题参考答案
==============
温馨提示:
关注微信公众号“Python小屋”,在公众号后台发送消息“大事记”可以查看董付国老师与Python有关的重要事件;发送消息“教材”可以查看董付国老师出版的Python系列教材(已累计印刷超过220次)的适用专业详情;发送消息“历史文章”可以查看董付国老师推送的超过1400篇原创技术文章;发送消息“会议”可以查看近期董付国老师的培训安排;发送消息“微课”可以查看董付国老师免费分享的超过700节Python微课视频;发送消息“课件”可以查看董付国老师免费分享的Python教学资源;发送消息“小屋刷题
”可以下载“Python小屋刷题神器”,免费练习5869道客观题和891道编程题,题库持续更新;发送消息“编程比赛”了解Python小屋编程大赛详情。