薛红梅,申艳光,生 龙,孙胜娟
(河北工程大学信息与电气工程学院,河北邯郸056038)
目前,我国很多高校将“Python程序设计”选为面向全校学生必修的通识教育课。而对于Python程序设计,实践性较强并且拥有大量功能强大的内置对象、标准库、涉及各行业领域的扩展库[1]。如何利用有限的课堂教学,使学生短时间内掌握大量理论知识,并把掌握的理论知识快速应用到实际工程项目中,是当前教学中亟待解决的问题。
根据文献资料的调查,高校程序设计类课程在传统的教学模式中,主要存在着以下问题[2]:
(1)学生被动学习现象普遍存在。在传统的教学过程中,学生和教师之间没有建立有效的互动,学生没有参与到课堂中来,只是在被动听课,因此在传统课堂教学中缺少兴趣,从而导致大部分学生失去对本门课程的学习兴趣。另外,课堂上很多知识点还没有讲精讲透就已经开始下一个学习单元,导致学生不能较好地消化知识内容,必然失去学习的实效性;没有实现以学生为中心,仍然教师是课堂的主体。
(2)实践教学缺乏思维能力训练。传统的教学模式下的程序设计实践教学中学生是在重复教师的指令,主要进行知识验证,实验内容主要是根据理论课各章节知识编制,题目类型固定,基本都是输出程序运行结果,大部分学生不理解编程思想,束缚了学生的创新思维能力。
(3)学生程序设计课程的学习基础各不相同。目前我国还没实现计算机教育资源的普及,来自城市学生和偏远地区学生在接受计算机教育方面存在较大差异,从而导致学生进入大学后计算机类课程的教学课堂上存在较为明显的两极分化。如果仍然采用传统的教学形式,不考虑学生个体差异进行授课和上机实验就无法满足每个学生个体的知识需求,当然也无法较好完成既定的教学目标。
随着网络教育技术的发展和普及,以学生为主的“网络在线学习”成为了当前教育的讨论热点。MOOC(Massive Online Open Course,大规模在线开放课程)就是典型的在线教学模式[3]。到2015年国内高校MOOCs课程上线将近1 000门。到2017年中国大学MOOC网入驻高校和机构数达200多所,课程数量达1 600多门,报名选课人次达1 200多万,注册用户数达500多万。
MOOC时代的到来,促使越来越多的学校和教师加入了MOOC的开发建设,参与MOOC学习人数也急速增长。但是在MOOC平台的学习效果却显得不尽人意[4]。一个最为突出的表现就是注册参加学习的人数很多,但是能够从头至尾完成同一门课学习的人数较少,主要原因是网络学习的弊端:缺少监督和引导、完成率低、教学方法缺失等。由于大众化网络在线学习的特点,MOOC基本不能做到面对面的交流互动,无法监督管理学生的学习过程,不能针对学生个体差异进行教学,更不能实现对学生良好学习态度的培养和情感的教育[5]。因此,有必要利用MOOC的优势特点,结合传统课堂教学的优点提出一种新的教育教学模式。
结合网络化教学和传统课堂教学的优势,形成适合于Python程序设计基础教学的混合式教学模式,保证了师生之间必要的面对面的交流沟通,同时充分发挥教师在课堂上的引导和启发等主导性作用,突出了学生的主体地位,使学生在整个课程的理论知识学习过程中更具有主动性,在实践实训过程中更具有创造性,改变了学生被动学习的局面,更有利于学生创造性思维能力的发挥和发展。
(1)Python程序设计MOOC的设计原则。教育性原则与趣味性原则。Python程序设计MOOC以贴近生活且有趣的程序实例作为每节课的开端,将理论知识和设计方法对应到每个实例中,让学生能够体会到编程的魅力,慢慢喜欢上编程,学会编程、学会创新。
(2)Python程序设计MOOC的设计步骤。MOOC设计的主要步骤为教学目标分析、学习者分析、学习内容分析、知识点划分、教学微视频设计、随堂作业设计、阶段性测验设计、项目驱动设计、多元化评价设计,MOOC设计过程模式如图1所示。
图1 Python程序设计MOOC平台设计
基于MOOC的Python程序设计将教学过程分割成两架马车并驾齐驱:一个是由MOOC提供的在线课程“私人定制”。另一种是使用不同寻常的“传统课堂”,课堂环节通过更多的实例项目和任务来强化在线部分的学习内容,加强学生创新能力。整个教学过程被分为线上、线下两个阶段和四个部分,由学生做主导,教师起到引导和监督作用,如图2所示。
图2 教与学的流程
根据MOOC具有共享性、大众性、自主性的特点,学生可以根据对Python程序设计的掌握情况自主决定学习本课程的内容、时间、进度以及章节的学习次数,真正实现“按需学习”,学生在MOOC平台进行相关视频的观看、论坛的讨论答疑、完成布置的测验,教师对学生在线学习的情况进行了解,如:某章节观看次数较多,说明学生对这部分知识疑问较大,依据分析结果补充线下课堂教学内容及设计课堂教学过程[6]。MOOC在线学习过程主要是学生完成Python课程知识获取的过程。
在完成第一步知识的构建后,学生必须参与线下课堂项目设计以完成Python课程学习的第二步——知识的应用。在课堂上,教师首先组织学生对MOOC平台中的思考题进行讨论,通过讨论了解学生对知识点的掌握程度,针对较难理解的知识点进行讲解。然后教师结合所讲知识点对项目系统功能进行分析,提出项目设计任务,学生针对教师提出的开发任务进行思考、讨论,利用MOOC平台上学到的知识实现对项目创新性的的设计开发。在此过程中,教师起到辅助指导作用,及时了解个别学生遇到的问题并给予解答,对于学生共性的问题则进行详细课堂讲解。学生在进行项目设计开发时,进行团队合作,互相交流、互相帮助、互相竞争,培养创新意识。
基于MOOC的Python程序设计教学模式既有线上MOOC学习也有线下课堂教学。因此,考核元素不能单一的依据线下笔试或线上测试,应该包括自主学习活动(视频观看时间、小组活动记录、参与讨论情况)、编程实践活动(项目编程作业、OJ测试练习)、阶段考试(平台阶段测试、考试系统模块测试)三方面,体现了学、练、考三个维度。
“MOOC+”项目驱动教学目的在于要提高学生对知识的掌握与应用,所以应将评价作为学习体验的一部分,而不是紧紧依靠笔试成绩或上机成绩来衡量学生。因此,基于MOOC的Python程序设计教学考核采用多元化考核,包括:考核内容的多元化、考核主体的多元化和考核方式的多元化三个方面。考核内容的多元化是指考核内容包括学生MOOC平台学习记录和阶段性自测成绩、课堂项目创新设计、OJ平台练习题成绩、在线考试成绩。考核主体的多元化是指教师、学生、队友、队间评价相结合的方式。考核方式的多元化是指教师可以采用对学生学习过程的定性和各类测试成绩的定量相结合的考核方式。如图3所示。
图3 多元化考核体系
河北工程大学对2017级信息工程和自动化专业的Python课程采用了基于“MOOC+课堂项目驱动+多元化考核”三位一体教学模式,经过一个学期的实践证明,该教学模式是实际可行的,既克服了传统教学中以教师为课堂主体的弊端,让学生成为课堂的主角,改变了学生被动学习的不良局面,又提高了学生的学习效率和编程实践创新能力。在今后的教学中将持续对该教学模式作出修正,形成一个更为科学有效的教学模式,并力争能够为学校课程教学改革提供有益借鉴,从而加快学校教学改革的步伐。