刊文精选

2022年第38期·Python语言程序设计全英文线上教学探索

来源:教育教学论坛 2023/7/24 15:11:33

[出处] 教育教学论坛_2022年第38期

徐红云,刘欣欣

(华南理工大学 计算机科学与工程学院,广东 广州 510006)

引言

Python语言程序设计全英课程是面向大学一年级非计算机专业全英创新班学生开设的一门计算机公共基础课,该课程通过Python语言介绍程序设计的基本思想,培养学生的计算思维能力,以及利用计算机程序设计方法解决实际问题的能力,为今后从事各个领域的研究和实践工作提供方法和工具。

2020年随着新冠疫情在全球肆虐,导致部分留学生不能按时返校参加学校正常的教学活动,本文通过为留学生开设Python语言程序设计的全英线上教学,探索了该课程全英教学方案、线上教学实施方法和课堂组织方式。通过借鉴Python语言程序设计的线下教学、一般课程的全英教学和线上教学等几方面经验,提出结合美国麻省理工学院的MIT OpenCourseWare平台上的开放课程资源、腾讯会议课堂直播以及自行研发的辅助教学平台的在线多元混合教学模式。

全英教学的目标是培养具有国际竞争力的高素质人才,因此在教学理念和教学方法上应和国际一流大学接轨。关于Python语言程序设计课程的全英教学,从目前公开发表的文献资料看,尚没有这方面可以借鉴的经验。教材方面,目前国内没有开展Python语言程序设计全英教学的合适的引进版英文教材,如果采用英文原版书作为教材,如比较经典的美国麻省理工学院出版社出版的,或者美国No Starch出版公司出版的,价格都比较昂贵,大大增加了学生的经济负担,不符合我国国情,不是主流的选择。

教学资源方面,为满足学生线上学习的需求,应尽可能为他们提供电子版的学习资源。国外著名高校开设的MOOC课程是开展全英教学一个良好的参考和借鉴,但这些课程不能作为全英教学使用。国外主流的MOOC平台,如EdX、Coursera、Udacity等,从2017年开始陆续从免费转为付费模式,即使平台提供了“旁听者免费”的服务,但旁听一般都有时间限制,例如Coursera平台只提供7天的免费体验,EdX平台不同课程的旁听期限不同,从2个星期到3个月不等。所以,直接基于国外的MOOC平台上的课程资源开设Python语言程序设计全英课程,不具备可行性。

国内清华大学学堂在线平台引进了麻省理工学院开设的“Introduction to Computer Science and Programming Using Python”课程(简称“MIT Python课程”),供学习者自主、免费学习。该课程可以引入供校内教学使用,但该课程使用的授课语言是Python的 2.7版本,而目前Python的主流是3.0以上版本,Python 3系列版本比Python 2系列版本有较大的改进,而且并不兼容Python 2系列版本,为了让学生学以致用,应选择使用更广泛,更符合发展趋势的Python 3系列版本。

经广泛调研,本文拟采用MIT OpenCourseWare 平台上提供的相关课程开展Python语言程序设计的全英教学。平台上的“Introduction to Computer Science and Programming in Python”课程使用了Python 3.5版本,免费提供了美国麻省理工学院在2016年开设该门课程的全部教学资源。采用该课程开展全英教学,能借鉴美国顶尖学府之一的麻省理工学院在Python语言程序设计课程上的教学理念、教学方法和教学手段,很好地使国内的计算机基础课程的教学与国际接轨,利于培养具有国际视野的创新人才。

一、Python语言程序设计全英教学方案

Python语言程序设计课程通过Python语言介绍程序设计的基本思想,旨在培养学生的计算思维能力和用程序设计方法解决本专业问题的能力。具体教学内容包括:程序设计基本方法,基本数据类型,程序的控制结构,函数和代码复用,组合数据类型,文件和数据格式化、程序设计方法论和Python第三方库等方面的内容。课程2学分,总学时40 学时,其中课堂教学32 学时,上机实验8学时。

MIT OpenCourseWare平台上的开放课程被视为一项庞大的、网络出版的麻省理工学院教材。本文从该平台上选用的“Introduction to Computer Science and Programming in Python”课程,免费提供课堂教学视频、讲义,和讲义配套的程序演示代码,课堂练习,课堂练习讲解视频,作业等内容。这些教学材料与教材内容完全一致。采用该课程组织教学,任课教师针对某些知识点进行适当的补充和扩展,即能满足本校全英教学的需求,解决国内目前没有合适的英文版引进教材、没有合适的教学资源等问题。

MIT OpenCourseWare 平台上 的Python 课程教学大纲和本文所述课程的教学大纲基本一致,表1给出了两门课程教学大纲内容模块的对比情况。由表1可知,关于程序设计的基本方法和Python语言的基础知识(含基本数据类型、程序的控制结构、函数和代码复用、组合数据类型、文件和数据格式化、程序设计方法论)部分,两门课程的教学大纲基本一致。不同点主要在于表格第8行所列的4个学时,本文所述课程的教学大纲内容是Python第三方库,要求通过介绍Python第三方库的应用,帮助学生理解与掌握计算生态;而MIT OpenCourseWare平台上的对应课程栏目的内容是面向对象编程、类和继承,而系统介绍第三方库的使用方面的内容缺失,所以这部分内容需要任课教师补充。对于该不同点,为满足本文所述课程教学大纲的要求,任课老师可在Python第三方库的网站上,找到丰富的关于第三方库功能的介绍和使用示例,作为课程的补充资料,对课程进行扩展。

表1 教学大纲对比

另外,MIT OpenCourseWare平台上的“Introduction to Computer Science and Programming in Python”中关于面向对象编程基础的介绍,有利于学生更好地理解字符串的操作函数,组合数据类型的操作函数,以及库函数的使用,因为这些都是面向对象编程中对类的方法的调用,所以可以借鉴该课程这部分内容,对本文所述课程的教学方案进行适当地调整,用2学时介绍Python第三方库,2学时介绍面向对象编程的基本思想。

二、线上教学的实施方法

Python语言程序设计全英课程线上教学在开课前,创建班级QQ群,方便教师和学生的线上沟通。直播平台方面,主要考虑腾讯公司的腾讯会议和腾讯课堂,通过对二者的调研和对比,发现二者都能满足线上教学的基本需求,但各有优势和侧重点。

在腾讯课堂中,要实现课堂互动,需要老师先发起举手功能,然后学生申请语音,主要适用于老师对学生的提问,是一种学生较为被动的互动。全英教学提倡采用国际先进的教学理念和教学方法,在教学过程中,鼓励学生随时对老师讲解不明白的地方发问。在腾讯会议中,学生可以随时发言,能营造一种主动互动和讨论交流的学习氛围。全英教学主要面向全英创新班学生和留学生开设,这些班级通常都是小班教学,班级人数在50人以内,学生素质也比较高,不会因为学生可以随时发言而造成课堂秩序的混乱。另外,在腾讯课堂中,只能老师一人共享屏幕,而在腾讯会议中,所有参会成员都可以共享屏幕,该功能对于程序设计类课程的线上教学较为重要。程序设计类课程是一门实践性较高的课程,学生要通过编程,动手实践才能掌握程序设计方法。初学者在开始编程时,难免遇到各种编程问题,通过屏幕共享,老师能更容易地帮学生发现和解决问题,达到线下在实验室机房上机的效果。屏幕共享功能也方便学生进行项目展示。

综上,根据本课程的特点,腾讯会议比腾讯课堂更便于开展课堂互动,更适合程序设计类课程的线上教学使用,所以本文所述课程决定采用腾讯会议作为课堂直播教学平台。在线上教学的实施中,还借助了自主开发的Python语言程序设计辅助教学平台。该平台具有课前预习、课堂小测、课后作业、作业互评、期末考试等功能,可以对学生课前、课中和课后整个学习过程进行记录和评价,并形成良好的教学反馈。另外,Python语言程序设计辅助教学平台的考试系统,具有身份认证、考试期间限制浏览网页、作答客观题时限制打开Python集成开发环境等功能,能较好地满足线上机考的各项要求。

三、线上教学的组织方式

在Python语言程序设计全英课程线上教学的组织上,借助MIT OpenCourseWare平台上“Introduction to Computer Science and Programming in Python”课程提供的免费教学资源,使用了翻转课堂的教学方法。每周课前任课老师通过QQ 群向学生发布本周的教学内容,要求学生在平台上观看规定的教学视频,完成课程预习。在课堂上,主要开展小测、重点难点解析、课堂练习、扩展讨论等环节的教学,下面以两学时(90 分钟)的课堂教学为例,说明线上课堂教学各个环节的组织情况。

在线课堂教学的第一个环节是在自行研发的辅助教学平台上进行10分钟的小测,测试内容主要涵盖上次课所讲授的内容,题型包括选择题和程序填空题,题量为10道左右。测试结束后,辅助教学平台能对课堂小测进行即时批改并统计每道题的班级正确率,方便任课教师及时了解教学班各位同学对有关知识点的掌握情况。然后,任课老师针对学生错误率较高的题目,进行约5分钟的讲解。

接下来进入第二个环节,任课老师对本节新课的重点知识内容进行约45分钟的讲解,主要使用MIT OpenCourseWare平台上对应课程所提供的课程讲义,以及与讲义配套的程序演示代码。借助腾讯会议的共享屏幕功能,任课老师能方便地将课程讲义(即授课PPT)和在Python集成开发环境下开发程序的步骤及程序代码分享给学生。在讲解过程中,使用腾讯会议的批注功能,其中的激光笔和线下课堂教学使用的激光笔一样,能引领学生视线,抓住学生的注意力。通过使用批注中的画笔、荧光笔和图形等标注工具能在屏幕上进行写画说明,达到与线下课堂在黑板上写画相同的教学效果。

任课老师对重点难点内容进行讲解之后,即进入第三个环节,开展约15分钟的课堂练习,此处,使用MIT OpenCourseWare平台上对应课程对应章节所提供的课堂练习,学生直接登录网站作答提交,并能即时查看结果,该练习由学生自主完成,完成之后,学生通过腾讯会议的屏幕共享功能,向全班展示自己的答题情况并进行讲解。

最后,任课教师针对本堂课使用的程序实例,提出扩展要求,即要求学生在已有代码的基础上,进行扩充和改进,大约15分钟完成。例如,在介绍程序的控制结构时,任课老师使用一个求立方根的实例,通过该实例同时介绍了猜测检验法、近似法和二分法的使用,所提供的实例代码对大于1的正数求立方根有效,但不适用于负数和小于1的正数,在扩展讨论环节,要求学生对代码进行改进,在15分钟之内,给出更完整的求立方根的程序,任课老师根据学生的完成情况进行点评和总结。

结语

Python语言程序设计全英课程的线上教学,目前尚没有可以借鉴的公开发表的文献资料,也缺少合适的引进版英文教材等必要的教学资源,本文借助美国麻省理工学院MIT OpenCourseWare平台上的开放课程“Introduction to Computer Science and Programming in Python”所提供的免费学习资源,探索了Python语言程序设计全英课程的线上教学方案、实施方法和课堂组织方式,将线上教学划分为四个教学环节。通过引入国外知名高校的课程,学生能从课堂教学方式、课堂小测、课后作业等多个环节体验国外高校的教学过程,开阔学生的国际视野,培养学生的创新能力。为了提升在线教学的效果,文中提出了采用腾讯会议、QQ群以及辅助教学平台相结合的多元混合教学模式。本文的做法对类似全英课程在线教学的开展具有较好的借鉴意义。


本文版权归教育教学论坛杂志社及本文作者所有,未经同意,不得转载! ——《教育教学论坛》查稿电话:0311-85178286