0 引 言
随着信息技术的发展以及新冠疫情对线下教学的影响,线上线下混合式教学已经成为高校教学改革的必然选择 [1]。线下教学是广大教师课堂教学的主阵地,线上教学代表“数字化课堂”的发展方向,混合式教学就是线上和线下两种教学模式的有机结合 [2],是当下及未来教育变革的重要方向。
Python 语言具有优雅、清晰、简洁的语法特点,已经成为非计算机专业学生的入门级程序设计语言,但是对于非计算机专业来说,分配给该课程的课时往往比较少,一般为 2 学分,同时还 要留出一部分作为上机课时。对Python 语言程序设计这门课来说,如何在有限的课时内,达成对学生实践能力培养的课程目标,是一个亟待解决的问题。
1 Python语言程序设计课程教学现状
(1)教学方法仍沿用传统计算机语言的教学方法。Python 语言是进入人工智能时代的“金钥匙”,学生对该门课的学习抱有较高的热情和期待,但是学习内容和学习进度却与 C 语言程序设 计、Java 语言程序设计没有太大区别。由于受到课时的限制,学生感兴趣的爬虫、数据分析与可视化、数据库操作、Web 开发等内容却很少涉及, 这是导致学生学习兴趣低下的主要原因。对于讲授该门课程的教师来说,存在的问题就是忽视了 Python 语言的语法具有优雅、清晰、简洁的特点,因此应该适当压缩 Python 语法、数据结构相关内容的课时,增加与爬虫、Web 开发、数据分析有关的第三方包及框架相关内容的课时,让学生专注于编程逻辑,而不是语法细节 [3],把更多精力放在解决问题本身,从而激发学生学习的积极性和主动性。
(2)教学内容的更新与学生的学习需求相结合。非计算机专业 Python 语言程序设计课程的教学安排一般是 2 学分,32 课时,在 32 课时中 还要留出一部分用于学生的上机训练,在课时量不足的情况下,教师在课堂上只能讲授 Python 语言最基础的内容。在“中国大学 MOOC”上搜索“Python 语言”,可以搜索到两门国家级精品课程,一门是北京理工大学嵩天等老师的 Python 语言程序设计课程,一门是哈尔滨工业大学车万翔老师的高级语言程序设计(Python)课 程 [4]。同时,在“中国大学 MOOC”上,还可以搜索到3门嵩天老师主讲的与 Python 有关的国家精品课程,分别是 Python 数据分析与展示、Python 爬虫与数据提取和 Python 科学计算与三维可视化。对于非计算机专业来说,很难为 Python 语言开设多门课程,因此,很有必要进一步丰富 Python语言程序设计这门课程的教学内容,通过翻转课堂的形式,通过一门课程的讲授,完成多门课程的效果。
2 Python语言程序设计混合式教学改革方案
Python 语言程序设计混合式教学改革方案如 图 1 所示。
基于混合式教学的 Python 语言程序设计压缩了与其他计算机语言有共性的基础语法部分的讲授课时,将此部分的教学任务前移至课下进行,学生通过数字化教学资源以线上的方式进行学习;将课堂教学的重点放在具有 Python 语言特色的数据结构、表达式、生成式以及与实际应用紧密结合的实战项目上。这就对教学内容、教学模式、教学评价提出了更高的要求。
3 Python语言程序设计混合式教学改革 过程
3.1 教学内容优化
Python 是一门模块化的程序设计语言,模块化是 Python 语言区别于传统计算机语言的重要特征之 一,可以通过模块(module)、 包(package)和框架(Framework)3 个概念,更清晰地了解 Python 语言的学习曲线。
在 Python 语言中,每一个 Python 文件都可以被称为一个 Python 模块(module),在 Python 的模块中可以定义函数、变量和类。如果要调用该模块中的函数、变量和类,直接在代码中导入该模块(import 模块文件名字)即可。在编程实践中,可以将自己或者他人编写的 Python 文件拷贝到自己的项目中,就可以调用该文件中定义的变量、函数和类。
Python中的包(Package),类似于其他编程语言中的类库(library),包的概念是相关功能模块的集合,将多个相关的模块(Python 文件)存放到相同的目录下,并且在该目录下创建一个名字为__init__.py的文件,那么这个目录就是 Python 中的包。用户可以通过 import 语句引入包中定义的变量、函数和类,直接调用即可。
Python中的框架(Framework)是 Python 包(类库)的集合。从功能上来说,框架与包(类库) 相似,一个功能完善的包(类库),就可以称为框架(Framework)。如果用来开发某个领域包的功能比较完善,则这个包就可以被称为框架,框架的包内还可以包含多个子包。为了方便开发,框架会将项目中必须实现的代码直接实现,开发者只须关注项目的个性化需求即可。如果把一个项目比作是修建一座大厦,基于框架创建一个新项目,仅仅通过一行创建项目的代码,就完成了该项目整体框架的搭建,然后根据该项目的个性化目标,编写具体实现代码即可,如 Django 和 Flask(Web 开发框架)、pyspark(大数据框架)、 scrapy(爬虫框架)等,都实现了搭建项目的脚手架功能。
因此,可以将 Python 语言的教学内容分为三大模块(见表 1):基础应用模块、专业应用模块和创新应用模块。
上述3部分内容在层级上是递进关系,基础应用模块主要讲授 Python 基础语法与传统计算机编程语言有语法共性的部分,以讲授知识点为主;专业应用模块主要讲授具有 Python 语言特色的语法与数据结构部分,通过案例教学,可以实现对基础应用中知识点的综合应用;创新应用模块紧扣实际需求,主要结合当前应用热点领域进行Python编程能力训练,培养学生终身学习的能力,可以协助学生申报创新创业项目、参与科技竞赛等。
3.2 教学模式及手段创新
讲授计算机程序设计语言的传统方法往往采用教师课堂讲授,学生再上机练习的方式。采用传统教学方法,在32课时内,即使只完成表1中前两个部分的教学,也有一定的难度。这就要进行教学方法和教学手段的创新。
3.2.1 应用项目式教学方法
在 Python语言程序设计课程的教学中,由于对讲授基本语法、数据类型、流程控制等内容的课时进行了压缩,因此将该部分教学内容录制成讲课视频并制作成数字化教学资源,通过线上自学的方式进行;在线下授课过程中,采用项目式教学方法,将零碎的知识点贯穿起来,通过项目应用,巩固学生对基础知识的掌握。在线下的课堂上,教师一步一步编程实现项目内容,同时还可以演示编程过程中的常见错误和异常,并且通过现场调试程序中的错误,可以训练学生的编程思维,降低学生编写代码的畏难情绪。
(1)要进行线上教学资源的建设。高质量的线上数字化教学资源,是项目式教学方法顺利开展的重要前提。
(2)线下教学要能够检验、巩固和转化线上知识的学习。线下教学采用项目式教学方法,其教学内容是对多个知识点的综合化、体系化应用。通过项目式教学,可以对零散的知识点进行查漏、补缺。
(3)线上、线下教学要有评估。教学活动是一个过程,无论是线下课堂还是线上课程,都要及时掌握学生的学习动态,并根据学生的反馈进行教学质量评估,以此改进线上和线下的教学效果。
3.2.2 建设数字化教学资源
线上教学是将学生的学习前移至线上课堂的工具和手段,因为线上的学习占用的是学生的课余时间,只有高质量的线上教学资源,才能更好地将学生带入线上课堂,因此,线上教学资源的建设非常重要。
1)慕课资源。
如果用中国大学 MOOC 的国家精品课程, 很难和课堂讲授的实战项目进行有效结合;如果给学生指定 Bilibili 或者其他在线学习平台上的讲课资源,学生的学习积极性、学习效果会参差不齐,同时缺乏有效的反馈机制,会严重影响教学效果的达成。
2)视频 +PPT 资源。
教师可以将自己录制的讲课视频和 PPT 课件上传至在线教学平台,供学生线上上课使用。虽然视频录制增加了教师的教学工作量,但是可以使线上学习的内容更好地与线下的项目式教学内容吻合,更好地激发学生的学习兴趣。同时, 线上学习平台也提供了一系列的学习过程管理功能,如学生学习时长统计、登录次数统计、学习记录统计等,教师可以掌握每一个学生的线上学 习情况。该方式的缺点是,由于 Python 语言程序设计课程具有较强的实践性,很难在 PPT 中展示完整的程序代码,导致 PPT 内容与视频内容脱节;此外,由于播放进度不允许拖拽,针对 PPT 中某个具体知识点的回顾,学生须再次看完整段视频,影响线上课程教学效果。
3)融媒体形式的课件资源。
融媒体是指将各种媒体联合起来进行的文字、
及视频信息的传播形式 [3]。为了解决线上教学中,视频课件与 PPT 内容衔接不够紧密、 学生观看视频课件时注意力难以持续集中的问题,将基于融媒体技术的课件引入线上教学中, 通过阅读融媒体课件中的文字、代码和
,可以很好地回顾视频中的讲课内容,通过观看视频也可以更好地理解融媒体中的文字、代码和
背后隐藏的知识点,使静态的文字、代码和
能够与动态的视频信息进行良好的交互与相互促进。打破了“视频 +PPT 课件”教学方式的单调与沉闷,可以更好地激发学生学习的积极性和主动性,使线上学习具有身临其境的即视感,这为突破时间和空间对知识传授的限制以及丰富教学手段和教学模式,提供了有益尝试。
融媒体课件通过腾讯文档即可实现,腾讯文档可以实现在线编辑,是一款支持 Word、Excel、PPT、信息收集表、思维导图、视频、
和代码的全媒体在线编辑器,腾讯文档能自动适配多种不同类型的终端,在电脑端与移动端(手机、Pad)有相同的展示效果,方便学生随时随地学习。腾讯文档可以很方便地分享给某人或者分享到微信 /QQ群中。文档内容实时保存在云端,课件内容可以实时更新,并且提供了信息收集、打卡签到、考勤、课堂纪要等各种模板,方便与学生进行课堂互动。
基于融媒体的课件与传统的PPT 课件相比,有五大优点:①在课件上可以完整地展示 Python 代码,可以作为上机训练指导书使用;②通过文字+
可以很方便地把教学过程中的关键环节展示出来,使学生在课后复习某个知识点时,不必看完整段视频内容;③将每个知识点设计一个标题,所有的标题就构成了层次分明的目录,学生通过点击目录,可以像打开思维导图一样进行知识点的回顾;④课件存储在云端,教师可以随时随地修改课件,分发给学生的课件也能同步更新;⑤可以在课件中嵌入讲课视频,方便学生课前学习与课后复习。
通过基于融媒体课件资源里提供的信息收集功能,可以方便地获取学生对于教学过程的评价,通过评价可以及时更新教学资源,从而使整个教学环节形成闭环。
3.3 教学评价体系立体构建
教学评价是对教学过程和教学结果的测量与反馈。传统课堂的教学评价往往通过学生评教与试卷分析实现,缺乏对教学过程的中出现问题的反馈。混合式教学模式整体上延长了教学过程,教学过程不仅包含线下课堂的课时,还包括线上课堂的课时;而且,腾讯文档提供了一系列插件可以更方便地与学生互动,获得学生的学习反馈。教师通过反馈的信息,能及时地调整教学工作,及时发现教学方法和教学组织过程中的不足,从而为教学质量的改进提供依据。
基于融媒体+项目式教学的尝试从 2020 级信息管理与信息系统专业的学生开始,在课程结束后,笔者进行了针对性的座谈与问卷调查。有95%的学生认为基于混合式教学的Python语言教学改革贴合大数据时代的需求和学生的学习现状;有5%的学生认为自己学习基础薄弱,项目式教学方法使得他们要在课前、课中和课后都投入较大精力进行学习,在学习上比较吃力。在下一轮教学过程中,要适当放缓学习曲线,适当照顾基础薄弱的学生。
与传统“视频 +PPT 课件”的教学资料相比,基于融媒体的课件资源有效降低了线上学习的学习难度,并且,学习不受时间和空间的限制,通过文字 +
+ 代码可以很方便地复现视频课件的讲课内容,方便学生复习并巩固所学知识。86%的学生认为本课程的创新应用部分引领他们进入当下的热门应用领域(网络爬虫、数据分析、Web 开发),并有意向在此领域进一步钻研与学习。
访谈中,大部分学生表示,Python语言是当前最热门的计算机语言,本门课程的学习使自己进一步增强了解决实际问题的能力和信心,并表示在以后的科技竞赛和科研工作中,会将Python语言作为首选语言;他们的共同感受是不但学到了编程知识,更学会了学习编程知识的方法。由此可见,基于融媒体课件的线上教学方法在实践中取得了良好的效果。
4 结 语
混合式教学方法很好地将语法和数据结构的教学内容融入到第三方类库和框架的教学中,以项目式教学带动了基础知识的掌握,但由于经验不足,使用的学生人数还不够多,课程也仅限于 Python 语言程序设计。在今后的工作中,笔者将继续开展基于混合式课堂的教学探索,争取达到更好的教学效果。
参考文献:
[1] 肖海蓉. 数据库原理混合式教学过程数据分析与教学启示[J]. 计算机教育, 2023(1): 184-189, 194.
[2] 万昆, 刘华. 量化学习: 大数据时代的学习方式[J]. 数字教育, 2018, 4(2): 45-50.
[3] 刘盈, 谷建涛, 闫海波,等. 基于OBE理念的Python程序设计课程实践案例教学[J]. 计算机教育, 2023(1): 21-27.
[4] 李芬芬, 高尚兵. 基于在线开放课程的Python语言混合教学模式[J]. 中国教育信息化, 2018(22): 61-63.
基金项目:北京工业大学教育教学研究课题“Python+ 人工智能系列微课资源开发与建设”(ER2020B037),“信管专业 CILIP 国际认证的研究与实践”(ER2020B033);2021 年度北京高等教育本科教学改革创新项目“新文科与数字经济背景下大数据管理与应用专业课程体系设计及教材建设”。
作者简介:孙健,男,北京工业大学讲师,研究方向为离散系统建模与仿真、智能信息处理,gzsunjian@bjut.edu.cn;徐硕(通 信作者),男,北京工业大学教授,研究方向为大数据与智能信息处理,xushuo@bjut.edu.cn。
转自:“计算机教育”微信公众号
如有侵权,请联系本站删除!