查看原文
其他

CSEW'20 | 如何做好计算机系统课程的在线教学?

微软学术合作 微软学术合作 2021-04-28



今年年初,一场新冠肺炎疫情让在线教学成为了常态。


“课堂”体验感较差,师生有效互动难度大,网络状况易影响授课效果……在线教学为习惯了黑板和讲台的老师们增添了许多难点。具体到高校计算机系统课程,又有了与之相伴的更多困难,譬如对服务器的巨大需求、难以规避的硬件及技术问题、实验及辅导课如何开展。


在此背景下,由微软亚洲研究院主办的中国计算机系统教学研讨会发起了 2020 年第一期线上活动,主题为“如何做好计算机系统课程的在线教学”,期待通过分享与探讨,帮助老师们总结、提炼与反思在线教学期间的经验,从而最大程度地普惠中国计算机系统教育领域。


这也是该研讨会举办五年以来首次从线下来到线上,30 余位来自清华、北大、上交大、中科大、南大、浙大、西交大、武大、华科、香港中文等高校的计算机系统教学一线教师在线上畅所欲言,奉献了一场生动精彩的教学经验分享与讨论会。


与会嘉宾云合影


线上应该怎么教?哪些方式和方法可以应用于未来的线下教学?老师们分享了自己的经验,也在探讨中激荡出了许多有价值的观点。


针对学生上网课难以集中注意力的问题,可将授课内容拆分为片段,并通过问题设置驱动学生持续学习;对于师生缺乏互动,可通过板书等增加“课堂感”,同时以微信群组、个人联系、问卷等方式增加互动、获取学生反馈。线上教学也有意外之喜,云实验、Online Judge 等展示出了非常好的效果。


本次研讨会由上海交通大学陈海波老师主持,北京大学李晓明老师、清华大学陈康老师、上海交通大学夏虞斌老师和南京大学蒋炎岩老师分别进行了精彩的主题分享,让我们一起来看看他们是如何进行计算机系统课程的在线教学的。


设定“高预期”,搭好“脚手架”


分享者:北京大学 李晓明老师


北京大学李晓明老师本学期开设了两门课,分别是面向北京大学高年级本科生与研究生的混选课程《社会与市场中的计算问题选讲》和面向广州大学大一学生的《社会科学中的计算思维方法》,授课模式都是以慕课、课程材料、作业、讨论相结合的形式


为了提升线上授课的效果,李晓明老师分享了自己努力(甚至是刻意)实践的五大原则:对学生设立较高预期、帮助学生搭好脚手架、引导学生受问题驱动、了解学生的状态和提高自身工作效率


以广州大学的教学情况为例,李老师介绍了如何在实际教学中实践这些原则。《社会科学中的计算思维方法》是一门社会科学和计算机学科的交叉课程,课堂上的社科学生并未学过数据结构等课程,但李老师仍设定了一个较高的预期。他布置的课后作业对学生的编程要求相当高,第一周的作业就是做一个适合网络节点聚集系数的计算程序。


“高预期”需要“脚手架”来支撑。他没有让基础薄弱的学生去学习遍历、搜索等对逻辑要求较高的内容,而是提示学生“所有与图有关的搜索都可以转化为邻接矩阵和向量的乘法”,让他们不至于觉得课程要求望尘莫及。


广州大学本科一年级的作业有很高的编程要求


李老师认为,编程的最终目的是为了解决问题,因此有“问题驱动”的意识非常重要。为了更深入、全面地了解同学们的实际情况,李老师还将选课学生分成了几个小组,以组为单位进行反馈,力求通过个别联系和集体联系相结合,达到工作效率和沟通效果的平衡。


开课一个月后,李老师做了一次关于学习体验的问卷调查,发现学生尽管对线上授课的形式意见不一,但大家普遍认为在课上学到了许多知识、课程材料和信息很有指导意义、课后作业很有挑战性但能完成等。李老师的教学目标“让学生对计算思维在社会科学中的运用形成较丰富的认知,达到一定深度的体验”已经实现了阶段性胜利。


同学们的问卷反馈结果


李晓明老师强调,疫情期间进行在线教学最重要的意义之一,是让一些曾经对线上授课形式持保守态度的人也看到了“在线教学也行”。可以想见,广大一线教师的参与,将会在未来真正推动线上教学的发展进程。


主动上线的“云实验”

分享者:清华大学 陈康老师


来自清华大学的陈康老师开设了两门课,分别是是面向研究生的《分布式系统导论》和面向本科生的《计算机组成原理》。陈老师介绍了自己将这两门课“搬”到线上的经验,并重点介绍了《计算机组成原理》云实验平台的亮点。


《分布式系统导论》这门课其实是“被迫上线”的,他参考了 MIT6.824 课程讲义的框架来组织讲课的内容和方法,同时参考了 MIT 教授 Robert Morris 的视频课程来安排教学进程。


在线下教学时,陈康老师能够通过表情、动作判断学生的参与度,学生实时反馈的缺乏是线上教学的一大难点。当然,线上教学也有优势,上课过程可以用录屏保存,方便同学们随时查看。


现在,陈老师的主要教学工具是电脑、iPad Pro 和 Pencil——用 iPad Pro 上的 Zoom 进行广播,用 Pencil 和 Notability 分享课堂板书。因为担心直播时网络出问题,陈康老师会在课前先自行讲一次课,把录屏视频传到网络学堂备用。在实际上课过程中再现场讲一遍,并实时关注学生提出的问题并进行解答,从而最大程度上还原线下教学的体验


[向左滑动查看] 陈康老师的授课工具:

iPad Pro、Pencil、Zoom、Notability、电脑


每次布置实验作业时,陈老师都会留相当充足的时间,也鼓励同学们在微信群里进行交流讨论。


对陈老师而言,如何进行期末考核是这门课程最大的难题。往年,课程普遍采取了闭卷考核的形式,但因为线上考试的监考难度,今年可能不得不改成开卷考。


相比被迫上线的《分布式系统导论》,另一门《计算机组成原理》的上线过程则更加主动。这门课的实验要求很高,课程实验的口号是“奋战三星期,造台计算机”。陈康老师和另外几位老师(刘卫东老师,李山山老师和张宇翔“老师”(刘卫东老师的硕士研究生))一起搭建了一个云实验平台。实践证明,由于消除了硬件实验盒可能带来的不利影响(例如硬件出现虚焊等故障),云实验的效果甚至比线下实验更好


除 CPU 外,该云实验平台具备了其它外围电路和元器件,例如网络,串口和 VGA 单元等。和普通实验板不同的是,实验平台使用 SRAM 而不是 DRAM 作为主存。这部分对学生的硬件访问时序要求相对没有那么高,同时保留了冯诺依曼计算机的特点。学生要做的就是制作 CPU 来驱动板子上的其它硬件。


之前《计算机组成原理》课程的实验环节是直接把实验板发给学生,但由于排插错位、板子硬件受损等各种不可控因素,即使学生的代码没有问题,也可能导致本地结果出现错误。


而云实验平台上线后,学生只要从系统管理员处获得服务器的地址、帐号和密码,可以通过浏览器登录到远程实验系统,传输自己设计好的处理器设计文件即可。系统会自动进行编译并调度到一块空闲的实验板子上进行运行测试。


后台服务器平台


学生实验情况


虽然云实验平台可能失去了一些“硬件”的感觉,但这个平台比线下平台更加稳定。接下来,陈康老师所在的教学团队还在考虑如何将 Online Judge 应用于硬件平台。


化长为短,把握课程节奏

分享者:上海交通大学 夏虞斌老师


如何安排课程内容,既能化长为短,又能保持连续性?来自上海交通大学的夏虞斌老师分享了自己通过内容拆分与编排将课程“化长为短”的经验。他认为,线上教学虽然失去了部分互动体验,但是由于学生能够更方便地录制视频和回看,所以对备课和讲课的要求也变得更高了。


有研究表明,成人的注意力高度集中时间仅为 20 分钟左右。因此,夏老师指出,学生在家中集中精力听 90 分钟的网课并不现实。为此,他把一个半小时的授课内容拆分为 6 到 12 个片段,每个片段是 7 到 15 分钟,既能化长为短,提高同学们的注意力集中度;又能加快节奏,保证授课内容的连续性。


夏老师以面向大三本科生的《操作系统》课程中“多核与多处理器下的同步性能”为例,介绍了自己的经验,主要包括两个方面:一是根据不同的知识点,按照平行或者递进的关系进行拆分;二是以问题为驱动,对每个知识点做进一步细化的拆分,最后回到问题本身,还会根据情况留下讨论的时间。


夏虞斌老师的授课思路


夏老师表示,在把握课程节奏时,最应注意的是如何通过问题驱动引发学生的兴趣。他注意到,一旦讲到细节的部分,同学们的注意力时间就会缩短,容易使他们在学习中出现知识间的割裂,从而将整体的知识碎片化。因此,涉及细化内容时,夏老师会有意识地提醒大家,在活跃气氛的同时引导学生们主动地去思考问题,从而带领学生体系化地将新的知识点建构到自己的知识网络中。


妙用OJ,助力在线教学

分享者:南京大学 蒋炎岩老师


来自南京大学的蒋炎岩老师介绍了自己在《操作系统》线上课程中通过 Online Judge 对代码组织做出硬性要求的经验。


刚开始进行在线授课时,蒋炎岩老师遇到了没有足够好的助教团队进行支持、课程准备工作量大、不同学院的学生基础不同等一系列挑战。一开始讲课时也觉得非常不习惯,甚至代码演示经常“翻车”。通过集中注意力、分析代码演示失误原因等方法,蒋老师逐渐找到了节奏。


蒋炎岩老师的“直播装备”


蒋老师的《操作系统》课程的直播平台是bilibili,同学们通过弹幕提问的方式与他互动。课后,他也将录制的视频上传B站,方便同学们复习。


蒋炎岩老师在bilibili直播《操作系统》课程


疫情冲击之下,不少老师担心学生负担过重丧失学习兴趣,而降低了一些教学要求。但蒋炎岩老师则反其道而行之,通过引入 Online Judge 对代码组织作出硬性要求,期待破除相当一部分同学对于课程作业抱有的“得过且过”、“不求甚解”的心态。


事实证明,Online Judge 带来不少意外惊喜:不仅是“强迫”同学阅读手册的效果很好,大家对基本概念的理解加深了很多;而且 OJ 还能更好地帮助他处理作业抄袭问题——在两次编辑之间粘贴了大量代码,则会暂时被标记为抄袭 (至少出现一处异常)。当然,如果学生坚持是自己独立完成的,蒋老师也会予以无条件相信;但如果后续检查中发现确凿的抄袭证据,就会对同学予以严惩。


蒋炎岩老师因此登上“南京大学表白墙”


“不得已而为之”的在线教学实践,让大家看到了“在线教育也行”。而一线教师们在系统研讨会上的分享与碰撞,也帮助他们总结经验,互相启发。


还有许多问题尚有讨论空间:如何更好地进行考试与考核?源自在线教学的崭新教育理念、教学方式与教学路径,如何普惠未来的线下教学?思考与探索都将继续,也期待不久的将来再次齐聚研讨会,激荡出更多灵光。


关于中国计算机系统教学研讨会


在图灵奖得主 John Hopcroft 的倡议下,中国计算机系统教学研讨会自 2016 年开始举办,通过集聚国际一流的计算机系统教育者和中国高校教学一线的计算机系统教师和研究者,总结出一套前沿可实践的适合中国学生的计算机系统教学内容,以期进一步实质性提升中国计算机系统教育和研究水平。


    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存