郭凤英 王 丽 刘 芳 刘仁权
(1 北京中医药大学管理学院信息管理系,北京 100027;2 北京中医药大学中药学院数理系,北京 100027;3 北京中医药大学信息中心,北京 100027)
程序设计课程作为计算机基础教学的通识课程之一,长期以来,我国中医药院校面向非计算机专业普遍开设的程序设计课程语言大都是选择C语言、C++语言、VB语言、JAVA语言等,教学内容主要围绕基本语法,如数据类型、控制结构、函数等内容展开,旨在通过编程实践使学生掌握程序设计的基本思想和方法,培养学生计算思维的能力。北京中医药大学面向全校公共选修课《程序设计基础》中讲授的是C语言。近年来,《程序设计基础》作为公共选修课,经常由于选课人少而停开。究其原因,有以下几点:(1) C语言语法复杂,学习吃力,短短的选修课学时只能达到对基本语法的掌握;(2)C语言对于后续学生的专业领域问题的解决帮助不大,学生不知道能够解决哪些专业问题;(3)教学模式落后,仍然采用传统课堂,这对于实践性较强的程序设计类课程,课堂上教师只顾讲知识,讲语法,忽视综合案例的分析和学生动手能力的培养,从而导致学生选修兴致不高。嵩天等[5]比较各种语言的优势和缺点,并提出Python语言是程序设计课程教学改革的理想选择。
从2017年开始,北京中医药大学将Python语言作为公共选修程序设计课程的零基础入门语言,并以暑期课程作为教学改革探索。通过该课程的开设,逐步建立以Python语言为基础,以专业应用为导向,以计算思维培养为主体、具备计算生态的程序设计课程体系,探索研究该课程体系的教学内容、教学模式、教学方法、教学案例,使学生通过学习程序设计系列课程,具备利用计算机技术解决专业问题的能力。
1.1 Python程序设计课程的目标定位 《Python程序设计及应用》课程是面向我校本科大一、大二学生暑期开设的实训类课程,是根据教育部非计算机专业计算机课程教学指导分委员会提出的高等学校计算机基础课程教学(1+X体系)基本要求而设立的大学本科各专业的零基础程序设计类课程。通过本课程的学习,指导学生全面了解Python语言基本语法、语言体系结构、和简单第三方库的使用,尤其注重使用Python语言第三方库,启发学生解决实际医学专业问题能力。
1.2 教学实施前学情调查分析 为了取得较好的教学效果,笔者充分调查了选修学生的学生特征、专业来源,以期针对班级学生特点进行针对性的教学设计。
课前,笔者利用问卷星对班级108名学生进行了问卷调查。调查结果中,有79.25%的是大一学生,20.75%是大二学生。特点如下。
1.2.1 选课学生专业来源多样化 专业来源为10个,信息管理与信息系统类专业人数最多,占39.62%,其次为针灸推拿类专业占15.09%,中医专业占13.21%,其他类专业有,公共事业管理专业占5.66%,工商管理专业占5.66%,中药专业占5.66%,护理专业占5.66%,生物制药专业占1.89%,英语专业占3.77%,中西医结合专业占3.77%。其中,信息管理与信息系统专业的学生,曾学习过C#语言程序设计,非零基础。而其他专业的学生没有学习过程序设计课程。
1.2.2 计算机技术学习热情较强 Python语言知晓度较高 在回答选课原因时,74%的学生表示对计算机感兴趣,60%的学生听说过Python语言,想要学习,其中有50%的学生认为Python语言与自己的专业密切相关。
1.2.3 MOOC学习正在普及 但辍学率较高 在调查中,几乎所有的学生都有参与MOOC课程的学习经历,而大一的学生只有10%的学生坚持学习完一门课程,取得过证书,大二的学生中36%的学生取得过证书。作为课外学习的一种方式,大多数学生已经有MOOC学习的意识,但由于各种原因,学生很难从头到尾坚持学习完一门MOOC课程。
1.2.4 学生自主学习习惯已经逐渐养成 在回答平时每周的自主学习时间时,大一有52%的学生有0~4 h的自主学习,29%的学生每周有4~8 h的自主学习,大二学生具有自主学习习惯的人数比例有所提升,0~4 h的自主学习的有64%。另外值得关注的是,大一有12%的学生从来不自主学习,而到了大二以后,课外从来不自主学习的学生就下降为0%了。在回答在线教学视频观看次数时,70%的学生表示观看2次以上。说明从大一入校进行一年的自主学习能力培养后,大二已逐步养成了自主学习习惯。
1.2.5 线下课堂教学+线上网络混合教学模式广泛认可 在回答更倾向于哪种学习方式时,88.37%的学生倾向于线上自主学习+线下课堂授课的教学方式,11.63%的学生倾向于完全课堂授课,没有学生选择完全线上自主学习而没有课堂授课的模式。究其原因,学生认为,线上自主学习的优势在于:视频中的教学内容基本概念讲得很透彻,完全可以理解;忘记的内容可以随时返回观看,学习时间灵活;在学习中可以随时暂停,自己实践。学生认为课堂授课必不可少的原因在于:与老师面对面,不懂的问题可以即使得到解答;教师在面对学生时,会根据学生的学习情况适当调整和拓展;课堂的氛围更有利于与老师同学交流,进行思维碰撞,产生灵感和新思路。
1.2.6 Python语言的认知度在提高 对于Python语言程序设计课程的3大选课原因分别为:实用性较强(占69.77%)、零基础的课程适合初学者(60.47%)、喜欢编程,觉得好玩(58.14%)。说明对于非计算机专业的学生,已经意识到程序设计语言对本专业学习研究的实用性,程序设计入门课程受到学生欢迎。
近年来,北京中医药大学校内Blackboard网络教学平台(以下简称BB平台) 建设日渐完善,网络课程总量和用户参与度也在逐年上升,很多课程都基于该平台进行了翻转课堂等混合教学模式的教学改革[1-3]。与MOOC(大规模在线开放课程) 平台不同的是,校内网络教学平台只面向校内,课程都由授课教师自己创建,对于师资力量相对薄弱的课程来说,往往只有1~2个老师讲授,而录制课程视频、视频后期剪辑、制作习题库、制作测试、收集参考资料、在线考试等工作极大地占用任课老师的时间;而在大型MOOC平台中,相同的课程会有来自不同高校的教学团队,其中不乏知名高校的标杆性课程,教学团队师资队伍相对较强,课程的前期录制和制作由MOOC平台专业制作团队负责,教师只专注于设计教学内容和教学案例。
但由于MOOC本身的问题和学习者自身的原因,辍学率也居高不下。随着MOOC的弊端日渐显现,SPOC(small private online course),即小规模私有在线课程,逐渐受到国内外高校的教师和学生的喜爱,SPOC课程有多种教学模式和特征[3],其中,基于MOOC平台的SPOC课程,采用翻转课堂的教学模式,一方面可以依托MOOC课程的师资和平台优势,另一方面,授课教师利用MOOC课程建立自己的SPOC课程,对原MOOC课程进行调整和改进,又可兼顾各校专业班级特点,受到国内外高校的欢迎。
2.1 教学内容设计 根据前期调查研究,本课程授课学习为18学时,连续1周授课,为了让学生充分利用课前时间自主学习,因此笔者以3学时为单位组织学习单元,授课时间采用隔天授课,每天6学时。见表1。
表1 教学内容设计
2.2 SPOC网络课程学习环境设计 结合爱课程网MOOC平台的功能,笔者以北京理工大学嵩天老师团队的《Python语言程序设计》MOOC课程为源课程,复制并建立北京中医药大学专属异步SPOC课程。
在网络教学部分,将Python程序设计及应用SPOC网络课程按单元组织教学,每单元分为学生课前自主学习任务、章节测试或作业、课外拓展学习模块。教师设计并维护每单元教学内容,具体包括:(1)在课前学生自主学习任务清单中,重新组织源MOOC课程中的教学视频、在线习题、电子版学习材料、练习素材、在线作业等材料,进行修改或删除,上传SPOC课程授课教师自己设计的专有视频、课件、测试、习题等材料,制作课前学习任务清单;(2)在章节测试或作业模块,根据实际教学内容,重新组织源MOOC课程的章节测试题和作业,进行增删或修改;(3)在拓展学习模块,将课程内容之外的参考资料以网页超链接或PDF等资料的方式供学生课外拓展学习,以便于学有余力的同学深入学习本单元内容。
2.3 教学活动设计与实施 根据混合教学理论,Python语言程序设计及应用课程教学分为两部分,分别是网络教学活动和课堂教学活动。
2.3.1 网络教学活动设计 课前,学生根据课前学习任务清单,采用网络自主探究学习、生生协作学习、小组协作学习等方式,自主安排学习时间和进度,通过在线习题测验,自我评价学习效果,调整学习策略,学习效果也通过SPOC课程供教师查看和监督。其中,课前学习任务清单以知识 点为单位的微视频(3~10 min)、在线习题、阅读资料、练习素材和要求等为主。课下,通过SPOC课程班级讨论版和班级的微信群两个渠道进行在线讨论和协作学习交流。
2.3.2 课堂教学设计 课堂上,教师通过查看学生的看视频次数,观看视频时间和时长,测试成绩,跟踪了解的学生课前学习情况,灵活采用翻转课堂、案例教学、任务驱动、小组讨论、成果汇报、自评互评、章节测验等多种形式,进行课堂教学。
本课程根据教学内容,设计了教学六步曲。第一步,感性认识,学敲代码,读懂程序;第二步,理性认识,思考问题,修改程序;第三步,初步了解基本语法,会编程序;第四步,初步了解基本流程控制结构,会编结构化程序;第五步,深入了解编程思维,会模块化编程;第六步,初步了解第三方库jieba的使用,学会利用文件进行数据采集和词频统计。
2.3.3 教学案例设计 在翻转课堂上,综合性、趣味性、探究性的教学案例非常重要。对于入门类且学时不多的零基础程序设计课程,MOOC中的案例多半是简单数学问题求解和经典算法的程序实现,为了调动学生的学习积极性和兴趣,设计趣味性的案例有利于调动学生的学习积极性。对于非零基础的程序设计课程,赵广辉[5]认为,教师应从基础知识教学中解放出来,深入所授专业调研、分析、抽取问题、构建数学模型并设计与专业相关的案例用于教学。这样,就能大大提高学生学习的目的性和兴趣,学得会,用得上,从而达到利用程序设计方法解决复杂专业问题的能力,培养学生用计算思维思考专业问题。
本课程定位在零基础入门程序设计语言,专注于基础语法和基本应用能力。由于选修课程学生专业来源的复杂性,为了帮助学生克服学习程序设计语言的畏难情绪和调动学生的学习兴趣,在设计教学案例时,对于基础语法的案例,以趣味性和探究性为主,在每个案例的基础上,都有想一想,试一试的环节,可以从多个角度进行改进。对于第三方库,在设计教学案例时,以医药专业应用为主,将综合性应用的案例作为开阔学生视野,再辅以剖析综合性案例中某一个小模块,让学生试着实践。
为了增加案例的趣味性和挑战性。如在理解函数递归绘制数学中的科赫曲线时,教师给出教学案例后,引导学生探讨几个问题:(1)改变科赫曲线的阶数;(2)变换旋转角度;(3)增加循环绘制雪花;(4) 循环嵌套绘制多个不同雪花形状。利用这种进阶挑战,让学生充分理解IF分支结构,循环结果for,while语句的用法,也能培养学生的发散性思维和探究问题的能力。见图1。
图1 雪花编程进阶
在利用jieba库进行文本分析时,选择与专业相关的中文文本进行分析,如对中医处方的文件进行分析,挖掘分析出在经典处方中,哪些药出现频率较高,就能知道哪些药是常用药。见图2~3。
图2 处方文本
图3 处方文本分析可视化
2.3.4 形成性评价设计 在线上+线下混合教学模式中,按照形成性评价的方式。形成性评价一般分为过程性评价和终结性评价。在过程性评价中,对于学生参与线上自主学习和线下课堂学习的全过程都需要评价。线上自主学习如学生观看课前视频、课前在线练习和测验、在线讨论;线下课堂学习如提交课堂作业、小组作业、课堂测试、课堂讨论等。本课程的评价考核方式是:总成绩=线上(50%) +线下(50%)。
3.1 学生问卷调查分析 在大一新生进行第一学期计算机基础课程的混合教学模式的学习后,已经对混合教学模式有了初步的认知,学生的自主学习能力很大程度得到了培养和锻炼。
3.1.1 调查对象 对选修Python程序设计的学生随机抽取108名学生,来自于10个专业。见图4。
图4 选课学生专业占比
3.1.2 调查分析 本次问卷从学生对混合教学模式的感受、是否达到教学目标、Python语言内容的接受程度来调查。从调查结果来看,分析如下:(1)学生高度认可混合教学模式。87.18%的学生认为,翻转课堂教学效果要比传统
课堂教学效果好;83.27%的学生认为,通过观看课程视频和查看参考资料,能够掌握和理解60%以上的基础知识,并且认为课前自主学习时间灵活,忘记的内容可以随时返回观看视频。90.7%的学生认为,翻转课堂上实践性综合性的案例更有助于理解和掌握课程内容。(2)本研究达到了预期的教学目标。在回答本研究的学习效果时,18.6%的学生认为,学习效果很好,课程内容可以全部理解,并认为生动有趣;69.77%的学生认为较好,能听懂大部分内容,认为课程十分有用;11.63%的学生表示有很多听不懂的内容。83.72%的学生基本达到了可以自己编写代码,完成综合设计编程任务。本研究的学习效果基本符合正态分布,大部分学生能够牢固掌握基础知识和基本方法,部分优秀学生能够进行综合应用,少部分学生学习有些吃力。(3)专业应用类课程将会受到学生持续关注。本Python入门课程结束后,48.84%的学生认为Python语言对今后的学习和工作非常有用;46.51%的学生不能确定是否有用。当问到是否还会继续自学Python语言时,76.74%的学生给出肯定回答,11.63%的学生表示还会自学其他程序设计课程。说明学生进行程序入门学习后,更加关注利用程序设计解决本专业问题。
3.2 总结和体会
3.2.1 实施原则和需要把握的关键事项 本研究是基于爱课程网MOOC平台建立的SPOC课程,并在此基础上实施混合教学模式教学实践。本研究实施的原则及需要把握的关键事项有3点:(1)选择功能强大的MOOC课程网站和优质的国家级精品MOOC课程作为平台支撑。功能强大稳定的MOOC平台能够提供线上授课、协作学习和讨论、在线测试、在线评价等;(2)需要具有一定信息技术能力并掌握翻转课堂等混合教学模式的教师队伍。教师必须对MOOC平台的功能灵活掌握,熟练应用,才能更好的辅助教学;(3)有效的评价方式。对于课外在线自主学习,要有目的、有计划、有监督、有评价地对学生开放自主学习清单,有效的评价方式才能保证课外在线自主学习的学习效果。
3.2.2 具有实施可行性和可推广性 从学生的反馈和教学效果来看,混合教学模式逐渐得到了学生的欢迎,学生的自主学习能力和意识得到不断增强,相比于传统的课堂授课和完全自主的在线学习,混合教学模式的优势明显。
3.2.3 不足和展望 (1)不足:入门课程的学时和内容不能满足学生实际需求。在做调查分析时,对于开放式问题“写给想告诉老师的话”时,通过词频统计,词频排名前十的关键词有:学习(11)、课时(11)、感觉(7)、Python(7)、课程 (6)、谢谢 (5)、继续 (5)、程序(4)、理解(4)、相关(3)。详细解析后,发现学生对于课程本身感觉较好,比较满意,想继续学习,非常感谢老师的付出,但也理解课时有限,不能更多讲第三方库的应用。由于本课程属于暑期课程,受课程时间本身限制,无法更多的引入第三方库的应用进行专业案例教学;(2)展望:在后续的教学改革中,可以通过增加学时,从专业的需求出发,结合第三方库,设计更多的专业应用案例,让学生不但学得会,也能真正用得上。
介绍中医药院校Python语言程序设计公共选修课程的混合教学实践。通过对混合教学模式实施前的可行性分析,基于中国大学MOOC平台(爱课程网)构建了Python语言程序设计异步SPOC课程,并以混合教学理论为指导,结合翻转课堂、趣味性案例教学等多种教学形式,在Python语言程序设计课程中进行了“MOOC+SPOC+翻转课堂”的混合模式教学实践。结论有4个:(1) 基于MOOC课程建立异步SPOC课程可实施性强;(2)有效的课前学习任务清单有利于提高学生的自主学习能力;(3)趣味性教学案例和循序渐进的探究式学习是提高翻转课堂教学效果的关键;(4)全过程形成性评价可以对学生的学习过程进行有效监督。此混合教学模式的实施具有可行性和可推广性。