Teaching in the Age of AI: Learning Goals and the Goals of Learning

Teaching in the Age of AI: Learning Goals and the Goals of Learning

人工智能时代,编程教学究竟该教什么

Jane Street6 位订阅者

135 分钟阅读1 次阅读Education

【教育前沿】当大模型轻松写代码,工程师还需要学习什么? 本期对话聚焦人工智能如何改变编程教学、开发工具与工程师培养。Aaron Bauer分享从高校教学到Jane Street开发者教育工作的经历,讨论现场讲授、主动学习、反馈循环和掌握式学习的价值,也分析编辑器为何仍是程序员理解与验证代码的工作基地。面对大模型能够完成编程练习的新现实,教学重点正从代码产出转向需求分析、系统设计、测试、代码审查、沟通与责任意识。读者将看到企业如何据此重建实习生课程,并思考AI时代真正值得培养的学习目标。 🎙️ 主讲人介绍 Ron:本期主持人,负责引导对话,围绕编程教育、开发工具和人工智能教学等主题提问。 Aaron Bauer:Jane Street软件工程师和开发者教育家,曾在卡尔顿学院教授计算机科学,长期关注编程实践与教学。 核心议题:人工智能时代的编程教学、开发者教育与企业培训、编辑器与工程师工作流、主动学习与掌握式学习、大模型辅助代码实践、实习生课程重构。 关键词:大语言模型、软件工程教育、代码审查、编辑器、学习目标、Jane Street

章节 1:从小行星编程到走上讲台

📝 本节摘要:

Aaron 回顾了自己从小接触计算机、通过小行星轨道计算爱上编程的经历,并讲述如何在高中和研究生阶段接触教学。他们还谈到科学计算、Fortran、自动微分,以及编程作为解决问题工具的意义。

[原文] [Ron]: All right. Well, it's my great pleasure to have Aaron Bauer with me. Aaron is a software engineer and one of Jane Street's proud but few developer educators. We'll talk a little bit more about what that means in a bit, but thanks for joining me.

[译文] [Ron]: 好。很高兴请到 Aaron Bauer。Aaron 是一名软件工程师,也是 Jane Street 为数不多、但引以为傲的开发者教育者之一。稍后我们会进一步聊聊这究竟意味着什么。感谢你参加。

[原文] [Aaron Bauer]: I'm very excited to be here.

[译文] [Aaron Bauer]: 我也非常高兴来到这里。

[原文] [Ron]: So, I like to always hear a little bit about how people started out. You've done a lot of work which is kind of on the overlap of both software engineering and computer science and teaching. And I'm kind of curious: how did you get there?

[译文] [Ron]: 我总是很想听听大家最初是怎么走上这条路的。你做过很多工作,正好处在软件工程、计算机科学和教学的交叉地带。所以我很好奇:你是怎么走到今天这一步的?

[原文] [Aaron Bauer]: Sure. So, kind of my origin story, you might say, is I've been—I was sort of fascinated with computers from, from a child. Computer programming always felt kind of intimidating. And then I did this summer program before my senior year of high school, creatively named the Summer Science Program, where we went to New Mexico for six weeks and they taught us a bunch of math, astronomy, physics, and some Python. We took telescope observations of an asteroid and then wrote some Python code to take those measurements and compute an orbit for the asteroid. So, really fun and interesting program, but I went into it being like, all these things seem interesting. And I came out of it being like, wow, the programming was just way more fun and really my thing. So, at that time, my small-town high school

[译文] [Aaron Bauer]: 当然。可以说,我的起点是从小就对计算机很着迷。编程一直让我觉得有些高不可攀。高中毕业前那个暑假,我参加了一个夏令营,名字起得很有创意,就叫“暑期科学项目”。我们去了新墨西哥州六周,学习了很多数学、天文学、物理,还有一些 Python。我们用望远镜观测一颗小行星,然后写 Python 代码处理这些测量数据,计算出小行星的轨道。那是一次非常有趣、也很令人兴奋的经历。我参加时觉得这些东西都挺有意思,结束时却发现:哇,编程实在有趣得多,简直就是我真正喜欢的东西。当时,我所在的小镇高中

[原文] [Aaron Bauer]: didn't offer AP Computer Science, but I found a retired teacher on a beach in North Carolina who could take it from there. And then, sort of from there,

[译文] [Aaron Bauer]: 并不开设 AP 计算机科学课程,但我在北卡罗来纳州的一片海滩上找到了一位退休教师,他可以接着教我这门课。然后,也就是从那以后,

[原文] [Ron]: How did you find a retired teacher on the beach? So, North Carolina had an online course program that you didn't have to live in North Carolina to use.

[译文] [Ron]: 你是怎么找到一个在海滩上的退休教师的?所以,北卡罗来纳州当时有一个在线课程项目,不住在北卡罗来纳州也可以参加。

[原文] [Aaron Bauer]: And it just turned out the guy teaching this course was not currently working in a school, but instead was on the beach.

[译文] [Aaron Bauer]: 碰巧,教这门课的人当时没有在学校工作,而是在海滩上。

[原文] [Ron]: Oh, amazing.

[译文] [Ron]: 哦,太神奇了。

[原文] [Aaron Bauer]: And then the teaching side comes in that before the summer before I go into grad school, I go back to the summer science program as a TA. And that's sort of my first exposure to writing an exercise for students to do and giving a little lecture on binary search trees. And I was hooked and sort of from then knew that I wanted to do something with teaching. It's it's funny by the way just like the the kind of science and physics hook in programming. That's actually like a deep thing in the history of computer science, right? A lot of the early programming and programming languages and work was all about like, you know, high-end physics simulations. I always every now and then when I like run into like someone who's like, you know, gathering telescope data, just like the hardcore like computer science of like, you know,

[译文] [Aaron Bauer]: 后来,我开始接触教学:在进入研究生院前的那个暑假,我回到暑期科学项目做助教。这是我第一次为学生编写练习,并讲授关于二叉搜索树的小课。从那以后我就迷上了教学,也逐渐确定自己想做一些和教学有关的事情。顺便说一句,科学和物理与编程之间的这种联系,其实在计算机科学史上非常根深蒂固,对吧?早期很多编程、编程语言和相关工作,都是围绕高端物理模拟展开的。我偶尔遇到收集望远镜数据的人,看到他们在那里做一些非常硬核的计算机科学工作,比如奇怪的 FPGA 技巧,总是觉得特别厉害。科学计算领域一方面不断推动技术前沿,另一方面也常常带着一种混乱感——对计算机科学本身并没有充分理解,我觉得这些特点都很明显。

[原文] [Ron]: weird FPGA exploits and stuff that people are doing there, I always find very impressive. There's just like a lot of interesting pushing of the state-of-the-art and also a lot of messy not understanding a lot about computer science that I feel like comes out of that like scientific computing world.

[译文] [Ron]: 那里既有许多推动技术前沿的有趣工作,也有不少混乱之处——我觉得,科学计算领域经常体现出对计算机科学本身缺乏深入理解。

[原文] [Aaron Bauer]: Yes. Something I did in undergrad was work with a Fortran simulation of impacts, kind of asteroids or comets hitting the surface, and this came out of code that was used to simulate atomic explosions in the early days of computing, because the physics of those two situations are not that different, it turns out.

[译文] [Aaron Bauer]: 是的。我本科时做过一个项目,使用 Fortran 模拟撞击事件,比如小行星或彗星撞击地表。这个项目源自早期用于模拟原子爆炸的代码,因为后来发现,这两种情况背后的物理过程其实没那么不同。

[原文] [Ron]: Oh, wow.

[译文] [Ron]: 哦,哇。

[原文] [Ron]: Yeah. Yeah, and there's a bunch of super cool stuff in the early Fortran work like that. You know, we care a lot about automatic differentiation these days, right? Because we write all these machine learning models and you need gradient descent, and for that it's nice to have derivatives.

[译文] [Ron]: 是的,是的。早期 Fortran 的相关工作里有很多特别酷的东西。如今我们非常重视自动微分,对吧?因为我们会编写各种机器学习模型,而模型需要梯度下降;要实现这一点,有导数当然很方便。

[原文] [Ron]: But automatic differentiation goes back to the early Fortran days, where there were a bunch of Fortran compilers that could do this. It was messy. They could do first derivatives but not second derivatives. You would take the derivative of one program, get another program, and if you tried to take the derivative of that second program, God help you. Nothing good would happen there.

[译文] [Ron]: 但自动微分可以追溯到早期的 Fortran 时代,当时已经有一些 Fortran 编译器能够做到这一点。那时的实现很混乱。它们可以计算一阶导数,却不能计算二阶导数。你对一个程序求导,会得到另一个程序;如果你再试着对第二个程序求导,那可就只能自求多福了,基本不会有什么好结果。

[原文] [Aaron Bauer]: Yeah. It's very much computer science is a means to an end. I'm not programming because I love programming. I'm using it just as a tool because it beats a slide rule, I suppose.

[译文] [Aaron Bauer]: 是的。计算机科学在很大程度上只是实现目标的手段。我编程并不是因为热爱编程本身,只是把它当作工具来用;毕竟,我想它总比计算尺好用。

[原文] [Ron]: Right.

[译文] [Ron]: 没错。

[原文] [Ron]: Okay. But you loved programming then?

[译文] [Ron]: 好。不过,你当时确实喜欢编程,对吧?

[原文] [Aaron Bauer]: Yes, I certainly did.

[译文] [Aaron Bauer]: 是的,当然喜欢。

  1. 章节 2:从渲染研究到Foldit蛋白质发现
  2. 章节 3:疫情下的教学转型与翻转课堂
  3. 章节 4:为课堂讲授辩护
  4. 章节 5:反馈循环、掌握式学习与AI边界
  5. 章节 6:开发者教育家的诞生
  6. 章节 7:教育需求不断扩展
  7. 章节 8:编辑团队与“Feature”的含义
  8. 章节 9:编辑器为何成为开发者的工作基地
  9. 章节 10:巨型差异与规模化难题
  10. 章节 11:Python 笔记本的工具挑战
  11. 章节 12:自研还是回馈上游:如何选择
  12. 章节 13:智能代理时代的编辑器变革
  13. 章节 14:Claude Code学习模式与心智模型
  14. 章节 15:大模型时代的编程教学新路径
  15. 章节 16:从训练营到个性化的实践教学体系
  16. 章节 17:以学习目标优化教学设计与学习体验
  17. 章节 18:面向人工智能重塑实习生课程

正在加载后续章节…

更多 Education

查看全部 →