融入工作过程系统化理念的Python课程应用场景构建
2023-09-14金兰陈苏红
金兰 陈苏红
摘 要:分析传统的Python程序设计课程教学存在的不足,提出“工作过程系统化”课程设计理念,重构教学内容,以案例驱动为主线,以问题为导向,将知识融入案例教学中;构建基础级、理解级和应用级三级Python应用生态,帮助学生理解知识的应用场景;按照知识、任务情景、任务描述和版本迭代四个步骤更新教学方式;采用线上线下混合教学模式,引入互动讨论、翻转课堂等环节激发学生的学习热情。经实践证明,取得了较好的教学效果。
关键词:Python程序设计基础课程;工作过程系统化;应用生态;任务情景
中图分类号:TP39;G642.0 文献标识码:A 文章编号:2096-4706(2023)13-0189-06
Construction of Application Scenarios of Python Course with the Concept of Systematization of Working Process
JIN Lan, CHEN Suhong
(School of Information Science and Engineering, Wuchang Shouyi University, Wuhan 430064, China)
Abstract: This paper analyzes the shortcomings of the traditional Python programming course teaching, and proposes to introduce the course design concept of “working process systematization”. It reconstructs the teaching content, takes case-driven as the main line, takes the problem as the guidance, and integrates knowledge into case teaching. It builds Python application ecology at basic level, understanding level and application level to help students understand the application scenarios of knowledge. It updates teaching methods according to four steps of knowledge, task situation, task description and version iteration. And it adopts online and offline blending learning mode, introduces interactive discussion and flipped classroom and other parts to stimulate students' enthusiasm for learning. The practice has proved that good teaching effect has been achieved.
Keywords: Python programming basic course; work process systematization; applied ecology; task scenario
0 引 言
工作过程系统化是在总结德国工作导向课程的基础上,根据我国职业教育改革的特点与经验提出来的一种教育理念。它以学生为中心设计课程,学生在完成工作任务中获得基本知识与技能,并培养其职业生涯中所需的能力和素养。在我国,工作过程系统化理念已经在高等职业教育中得到了广泛的应用,但在应用型本科中还没有得到推广[1]。“满堂灌”的教学模式在很大程度上只教会了学生如何获得知识而不会应用知识;只教会了学生如何在学校里学习而不会基于工作过程来学习,即工程教育脱离了工程自然,很难形成大学生的工作能力[2]。“工作过程系统化”的课程设计理念以工作任务为线索开发课程,是目前国内比較成熟的课程开发范式。范式强调通过比较学习方式,实现迁移、内化,进而使学生学会思考,发现、分析和解决问题[3]。
Python越来越受到大家的青睐,其已经逐步被工业界广泛使用,国内外高校也纷纷开设相关课程。Python具有语言简洁、高效和生态化等特点,可应用其快速构建解决问题的方法[4]。调查分析了行业内在Python程序设计课程做得比较好的典范,例如北京理工大学在该课程中设计了“海龟绘图”和“人物出场统计”等实用有趣的案例及教学实践方案,以“理解计算生态和运用计算生态”的理念构建了内容分层的Python课程[5];武汉理工大学提出通识和专业相融合的教学模式,针对不同专业背景需求设计不同的案例[6]。他们也将Python应用场景融合到案例中,案例也追求实用有趣,构建了Python的应用生态,但缺乏一个系统的、完整的分层设计[7,8]。
另外,随着在线教学资源的丰富,线上线下混合教学模式变得越发流行。线上线下混合式教学的核心是将线上与线下教学进行有机的融合,一方面通过网络为学生分享大量的教学视频和学习素材,学生可以随时随地开展线上自主学习,也有利于学生差异化学习;而线下教学则以增强实践动手能力为核心[9]。
综上,有针对工作过程系统化的研究,也有针对Python生态的研究,但将工作过程系统化理念与Python生态应用场景相结合进行研究的几乎没有,如何很好地将工作过程系统化理念融入Python生态应用场景的构建之中便是本文研究的关键。同时,课程组采用线上线下混合教学模式来实施教学,以工作过程系统化理念构建的Python生态应用场景案例讲解的视频、配套课件、在线练习题及其答案等为线上教学资源,同步开展线下课堂讲授。
1 教学改革方案
1.1 教学理念
传统以知识传授的教与学存在弊端,学生的多样化学习需求得不到满足,知识传播的多样性得不到体现。《斯坦福大学2025计划》提出的轴翻转教育模式的含义是将“先知识后能力”反转为“先能力后知识”。大学要从以“知识传授”为主的教育向以“培养学生能力和素养”为中心的教育转变。
2019年教学团队制作“案例驱动式Python基础与应用”慕课课程,并上线超星学银在线,目前已开设8期。该慕课课程围绕能力本位,着力架构“以能力聚合知识”的核心理念体系,融入工作过程系统化教学理念,重构教学内容、构建应用生态、更新教学设计、改进评价方式,探索教育范式的转型。
1.2 教学内容重构
“案例驱动式Python基础与应用”课程前期对证券、银行、科技、教育和外包五家公司和企业进行调研和走访,了解公司和企业对于Python相关人才的需求,为课程案例的设计和建设提供了较好的方向性和指导性意义,避免课程案例内容与社会需求脱节的弊端。课程重构教学内容,引入工作过程系统化理念,为每个章节设计一个层层递进、版本迭代的趣味性案例。案例在设计的过程中,将思政元素无痕融入,引导学生树立正确的人生观、价值观和世界观。章节教学以案例为主线,问题为导向,围绕案例所需的知识点,先速讲基础知识,再将案例模块化分解讲授,接着反补知识夯实技能,最终实现模块化知识体系和应用场景的构建。
课程总共设计了10个案例,涵盖基础级、理解级和应用级三级生态,包含的知识点为:Python基础知识、控制结构、字符串及其方法、函数、组合数据类型、类和对象、tutle库、pygame库、数据分析与可视化、Python网络爬虫。生态-案例-知识点的对应关系如表1所示。
1.3 教学设计
1.3.1 总体思路
教学设计上先给出案例任务描述,提出问题,列出所需知识点。课程中的10个案例均按照如下4个步骤完成设计:
1)列出案例所需的知识点。
2)基于学习情境的任务,以任务驱动的方式将知識点拆解为多个版本。每一个版本的案例都是一个学习情景,都完成一个独立的任务。随着学习情景版本的迭代,教学的内容趋于复杂,对学生能力的要求也越来越高。
3)对每一个版本的学习情境,先描述任务是什么,然后介绍要完成这个任务需要的知识点,接着用Python代码来实现,最后给出测试数据和运行的结果。
4)随着版本的推进,后一个版本在前一个版本所学知识的基础上,又融入新的知识点,又解决一个新的问题。直到最后一个版本的完成,所有案例涉及的知识点全部涵盖进去,并各自解决了各个独立的任务。以工作过程任务为导向,情景式引导学生探索问题,既提高了学生的学习兴趣,又层层递进地解决了具体的问题,形成了一个个完整的应用场景,将知识较好地融入了应用中。
1.3.2 以“居民身份证案例”为例
“居民身份证”案例先给出案例任务描述并提出问题,再给出知识点。
居民身份证是每位居民的唯一身份标识,18位的居民身份证号的信息包含省、市、区、出生日期、派出所、性别和校验码等信息。身份证号的倒数第二位为性别信息,其中奇数为男性、偶数为女性。例如,某居民的身份证号为:420111199808120045,各位对应的信息如表2所示。
本案例要解决3个问题:
问题1:如何提取身份证中的出生日期和性别信息。
问题2:如何实现对身份证上的出生日期信息进行遮盖。
问题3:如何实现格式化输出多位居民的身份证信息。
1.3.2.1 知识点
知识点内容有:
1)字符串的索引与切片。
2)字符串的方法。
3)字符串的格式化输出。
1.3.2.2 基于学习情景的任务驱动式知识点拆解
“居民身份证”案例的任务与知识点的对应关系如表3所示。将“居民身份证”案例拆解为V1.0、V2.0和V3.0共三个版本。便捷水果店案例的任务与知识点的对应关系如表3所示。每一个版本的案例都是一个学习情景,都完成一个独立的任务。随着学习情景版本的迭代,教学的内容趋于复杂,对学生能力的要求也越来越高。
1.3.2.3 居民身份证V1.0任务和实现
居民身份证V1.0任务和实现的内容有:
1)任务。居民身份证是每位居民的唯一身份标识,18位的居民身份证号的信息包含省、市、出生日期和性别等信息。如何按需提取身份证中的出生日期和性别信息呢?
2)代码实现。
card = '420111199808120045'
birth = card[6:14] # 出生日期
gender = card[-2] # 性别
print("出生日期:" + birth)
if int(gender)%2 == 0:
genderOut = "女"
else:
genderOut = "男"
print("性别:" + genderOut)
3)运行结果。
出生日期:19980812
性别:女
1.3.2.4 居民身份证V2.0任务和实现
居民身份证V2.0任务和实现的内容有:
1)任务。任务1:将火车票上会对身份证号的关键信息用*替代,实现关键信息的遮盖。实现身份证号上出生日期的遮盖;任务2:将多个居民身份证号存放到一个字符串中,对该字符串进行分割操作,得到居民身份证号序列,并依次输出每位居民的出生日期和性别信息;任务3:居民身份证的出生日期信息中年月日之间用“-”间隔输出。
2)代码实现和运行结果。居民身份证V2.0的代码实现和运行结果略。
1.3.2.5 居民身份证V3.0任务和实现
居民身份证V3.0任务和实现的内容有:
1)任务。将多个居民的身份证信息按照格式化形式输出。
2)代码实现和运行结果。居民身份证V3.0的代码实现和运行结果略。
1.4 教学实施
1.4.1 线上教学平台
“案例驱动式Python基础与应用”课程使用学银在线慕课资源、学习通授课。学习通平台建立了教学视频、课件、案例代码、章节测验、编程题、习题库、随堂练习等,如图1所示。线上教学资源包含了课程的主要内容,训练学生掌握课程的重点内容。结合教学进度,适时地发布在线学习和课前章节测验任务,课前章节测验主要测试上节课学生对知识点的掌握情况。同时,教师可以利用学习通平台的多种活动形式来完成教学讨论,设置学习通活动时,通过给出更多的积分吸引学生来完成互动与讨论。
1.4.2 线下课堂教学
开展与线上同步的线下课堂主要完成重难点内容的讲解与学习。在线上学习的基础上,组织学生进行互动讨论,开展翻转课堂教学等活动,调动学生学习积极性。对于学生不理解的问题,教师进行手把手的操作演练,学生通过自己的钻研和上机实践去分析解决问题,激发了学生学习兴趣。引导学生掌握正确的学习方法,拓展知识视野,培养学生自主学习的能力。同时在线下教学中将课本知识与实践活动有机结合,让学生通过实际工程应用场景去理解理论知识的应用情况,帮助学生架起理论教学与实践的桥梁[9]。
1.4.3 线上线下混合教学组织与实施
课程组在课程正式开课前,按照工作过程系统化教学理念设计的教学案例进行了课程主要内容讲解的视频录制,开发配套在线学习PPT、习题库、随堂练习与编程题等,整合课程的所有在线学习资源,为学生搭建自主在线学习的平台,并在学习通平台发布各个阶段性任务和活动,学生配合完成各个阶段性任务,参与各个活动。
学生利用手机或电脑等进行线上学习与互动,构建教学活动的“交互性”和学生的“可参与性”。教师对每节课的重要知识点进行整合讲解与巩固,设置更为具体的讨论主题和练习题。具体是,每一次线下课堂一开始,首先检查学生在线学习完成情况,通过讨论和在线的章节测验进行考核。结合学生的反馈,线下课堂有针对性地对重要知识点再次讲解和强化,然后再布置下一次的线上学习任务和相关自测练习题,如此往复并提示学生应完成的各环节的学习任务,如表4所示。
1.4.4 实施效果
课程教学实践表明,线上线下混合教学模式能使学生上课注意力高度集中,教师能根据多种形式的提问和课堂活动参与情况判断学生的学习情况;上课不再是教师的“满堂灌”,而是学生要獨立思考或和同学进行探讨,需要对所学知识进行归纳总结并获取有用信息;学生还可通过自主学习、共同探究、老师引导及解惑,打破自己的思维定式,在获得答案的同时往往会产生新的思想及观点,形成共同学习与探讨、敢于挑战的良好学习氛围。
1.5 考核评价方式
“案例驱动式Python基础与应用”课程总成绩由平时成绩、上机成绩和考试成绩加权平均得到,如表5所示。为充分调动学生学习的积极性和主观能动性,活跃课堂氛围和提高学生的课堂参与度,课程团队进一步细化了平时成绩的考核,并借助超星学习通辅助教学平台设置课程的平时成绩分项,包括课程视频、章节测试、讨论、签到和课堂互动五项。通过平台记录的数据能够更加科学合理地跟踪学生的学习过程,记录学生的学习成绩,同时辅助教师掌握学生对所学知识的内化和吸收程度。
2 教学改革成效
2.1 在线课程开放情况
“案例驱动式Python基础与应用”慕课课程2019年12月上线学银在线,目前已完整开设8期,累计选课人数7 827人,累计互动次数75 568次,选课学校包括广东海洋大学、北京信息科技大学、华北水利水电大学、常州工学院、咸阳师范学院、长沙学院、广东警官学院、华南理工大学广州学院、武汉商贸职业学院等500余所,2021年7月获批湖北省一流本科线上课程。
2.2 学生课程考核成绩
以软件工程21级为例,课程目标总体达成度为0.83,如表6所示,说明整体达到了预期的课程培养目标。学生对于Python语言的基本语法规则掌握良好,具备了良好的计算思维。同时,学生对于数据采集、处理、分析和展示的过程和流程掌握良好,具备了良好的数据思维。
部分学生的平时成绩如图2所示,绝大部分学生都能通过观看课程视频、完成章节测验积极参与课堂讨论和课堂互动,获得较好的平时成绩。
2.3 学生评价
通过问卷调查形式收集学生对于课程的评价和建议,学生普遍反映案例式的课程设计比较感兴趣、脉络结构清晰、符合认知规律、容易上手学习、线上学习+线下案例教学+课堂互动+讨论的形式课堂氛围较好,有较好的参与度等。部分学生的问卷评价如图3和图4所示。
2.4 竞赛成绩
近年来学院组织计算机科学与技术、软件工程等专业的学生参加“蓝桥杯”程序设计大赛、团队程序设计天梯赛、CCPC中国大学生程序设计竞赛、ICPC国际大学生程序设计竞赛等竞赛,均取得了较好的成绩,荣获诸多奖项。
3 结 论
Python课程的教学设计以工作过程系统化为理念,实际案例为主线,引入任务情景,采用层层递进、版本迭代的开发方式,构建了Python模块化结构体系。学生在案例的应用场景中学知识,既能激发学习兴趣,又能提升在应用场景分析和解决问题的能力,从而培养学生的综合应用能力。将该课程教学设计的主要内容录制成视频并开发配套的完整的在线教学资源,再通过线上线下混合式教学,取得了较好的教学效果。
参考文献:
[1] 宋雷,王浩,孙洪颖.基于工作过程系统化的《电气控制与PLC》本科教材开发 [J].广东技术师范学院学报,2017,38(1):46-49.
[2] 赵庆志,谭培红.以工作过程系统化为导向的《电气控制技术》教学改革创新 [J].教育教学论坛,2018(20):126-127.
[3] 王帅.虚拟现实应用技术专业课程体系的优化与实践 [J].天津中德应用技术大学学报,2022(2):46-50.
[4] 刘卫国,奎晓燕.Python语言程序设计教学体系建设 [J].计算机教育,2017(8):13-17.
[5] 赵广辉.面向新工科的Python程序设计交叉融合案例教学 [J].计算机教育,2017(8):23-27.
[6] 嵩天,彭远红,宋文婷.理解和运用计算生态 推动Python语言教学改革 [J].计算机教育,2017(8):6.
[7] 路龙宾,王小银,许学斌,等.Python语言程序设计的多角度思政教育教学 [J].计算机教育,2022(9):58-62.
[8] 陈优良,龚曲.新工科背景下多学科融合Python程序设计探索 [J].计算机教育,2022(8):118-122.
[9] 安晓光.基于线上线下混合模式的《嵌入式系统原理与应用》的教学改革与实践 [J].科技风,2022(36):131-133.
作者简介:金兰(1979—),女,汉族,湖北安陆人,副教授,硕士,研究方向:数据分析与处理、软件工程;陈苏红(1983—),女,汉族,江西吉安人,讲师,硕士,研究方向:算法设计与分析、数据处理。
收稿日期:2022-12-28
基金项目:湖北省一流本科课程(线上一流课程)(2021SA01);湖北省教育厅科学研究计划指导性项目(B2019321)