谢 超,施培蓓,钱言玉
(合肥师范学院计算机学院,安徽合肥 230601)
“互联网+教育”刷新了传统的教育形态,重构出一种全新的开放自主、互动生成、丰富多样的教育生态结构。慕课、翻转课堂等教学模式为高校程序设计课程教学带来了新理念、新思路,同时也带来了新挑战和新困惑。
学生计算思维能力和实践编程能力的提升离不开计算机程序设计类课程的学习,然而纵观目前高校计算机程序设计课程,从课程内容、教学模式到课程考核都存在很多问题,离提升学生计算思维能力和编程分析能力的目标实现还存在差距。具体表现在:一、程序设计类课程内容一般包括概述、数据类型、程序结构、函数调用等,课程内容相对分散,前后章节相对独立,缺乏模块化和整体性设计;二、实践教学被弱化,与理论脱节,如课时分配少、安排在学期结束时间等,这对于学生能力的培养是不利的;三、课堂讲授仍为主要教学模式,按照教材内容,按部就班讲解,虽然也融入了案例教学、任务驱动等方法,但仍然以教师为主导,学生被动地听,机械地操作[1];四、课程考核模式相对单一,如期末笔试、笔试+上机操作或者直接用省计算机等级考试的题库等,不能很好地测评学生信息能力。
MOOC是互联网+教育的产物,是新型教育理念,也是新型教学模式。“中国大学MOOC”“慕课中国”“慕课网”等综合网站都提供了海量免费的课程资源,而且部分高校也购买了如“高校邦”“超星”“智慧树”等慕课课程资源库,学生足不出户就能学到名校的精品课程,即丰富了学习,也开阔了视野。然而,高校慕课资源的使用率并不高,教学效果也差强人意。具体表现在:第一,学生利用慕课自主学习的积极性较低,即便报名学习慕课,结课率也很低,半途而废的现象普遍发生;第二,慕课资源大多应用在选修课程。线上学生登录慕课平台自主学习视频,授课教师及时发布公告、督促学生,引导学生参与讨论,但是线下组织学生开展合作探究学习往往浮于形式,应付了事。慕课选修课考核方式也比较单一,比例分配欠合理,视频学习所占比例较大,对学习过程缺乏有效的学习监管机制,部分学生停留在播放视频而非学习视频,达不到提升学生能力的目标。第三,慕课资源本土化研究匮乏,教师自己制作微课或者整合已有慕课资源的积极性和能力有待提高。
N:即Network,网络,伴随着信息技术的快速发展以及互联网+在高等教育中的应用,通过网络平台开展慕课教学、翻转课堂教学日益增多。2015年《关于信息化建设及推动信息化和工业化深度融合发展工作情况的报告》和《关于引导部分地方普通本科高校向应用型转变的指导意见》两个文件的印发更是凸显了国家对应用型人才的重视。因而利用网络平台开展计算机课程教学,进一步培养学生的应用和实践能力势在必行。
CBE,Competency-Based-Education,由美国教育心理学家布鲁姆在20世纪70年代提出,90年代传入我国,并对我国高等教育应用型人才的培养产生了重大影响。CBE核心是学生能力的培养,体现在高等教育的人才培养目标从强调学生“知识、技能、情感”三维目标的培养上升到学生“综合职业技能”的提升,如实践操作能力,应用分析能力和学习能力等,只有学生主动地做,积极地思考,才能在做的过程中学到知识、积累经验,练就能力[2]。N-CBE的课程设计理念具有如下特点:
在N-CBE的课程设计理念中,教师承担了课程设计者、微课制作者(或微课资源整合者)、学习管理者和合作探究者等角色,学生则承担了线上自主学习、问题反馈和线下合作探究、问题解决等角色。
整个课程设计从学生能力(competency)培养出发,设计并制作微课视频或者有效整合现有资源,利用网络教学平台呈现课程学习资源。在学生线上自主学习阶段,教师要把握好整个课程的学习进度,及时督促学生,并设置相关讨论主题,引导学生参与问题讨论,有效指导学生,启发学生思维,激发学生的学习兴趣,并及时统计学生的问题;学生则需要按照教师的进度安排好学习时间,自觉自律地完成各项学习材料,积极参与师生的主题讨论。在线下合作探究学习阶段,需要师生共同努力,合作完成,而合作探究学习的主题和形式是重中之重。
N-CBE课程设计理念中注重课程的模块化设计,将课程内容分成若干个内容模块,从简单到复杂,逐步深入地学习课程。模块化的课程设计思想有助于实现学生能力(competency)培养的目标。
CBE理念强调学生的能力培养,尤其强调通过“做”学到知识,获得经验,完成能力的提升。因此,课程的考核应该体现过程性、多样性和立体化[3]。利用网络大数据对学生的学习过程进行有效监管和考核,体现了过程性评价;学生的学习参与、章节小测以及编程应用注重了考核的多样性和立体化。
C语言程序设计是我院理工科专业的一门基础必修课程,64学时。在教学实践中,借助“超星尔雅”网络教学平台,课程内容强调模块化设计,学习资源采用教师自制与网络资源整合相结合的方法,突出Competency学生能力培养。
课程内容的设计是体现CBE能力本位培养理念的关键,是建构网络教学平台学习资源的基础,它决定了整个教学改革的成功与否。在研究中,按照模块化设计要求,对C语言程序设计的课程内容进行模块化设计,并依托案例完成知识点的学习。如表1所示。
在课程模块化设计过程中,将理论学习和实践编程融为一体,线上学习注重基础性设计和编程应用,线下探究则注重学生编程能力的应用和强化。实验内容注重基础与能力同时发展,分为验证型实验(40%)、综合型实验(40%)和创新设计型实验(20%)。验证型实验注重基础性设计,安排在线上学习阶段;综合型实验强调学生对知识点的综合运用,可分为小综合和大综合;创新设计型实验体现设计性和创新性,由学生根据题目要求自己设计算法,画出流程图,并利用VC++完成程序编写和测试,可以参考目前的大学生程序设计竞赛等形式。综合型实验和创新设计型实验主要安排在线下探究学习阶段。
表1 C语言程序设计课程内容模块化设计
为了达到CBE能力培养的目标,课程组教师利用学校购买的“超星尔雅”网络教学平台,采用自制微课视频和整合已有慕课资源相结合的方法,建构教学资源,将理论与实践有机融合。网络教学平台教师端的主要功能模块如图1所示。
图1 “超星尔雅”网络教学平台(教师端)主要功能模块
图1呈现了网络教学平台教师端口的功能模块,学生通过学生端口可以直接浏览视频、课件、文档资源、发表及讨论。教师端口各模块功能有:
3.2.1 统计 统计包括章节访问量、学生管理、成绩管理和督学。章节访问量提供了每个学生的每月访问次数,视频的平均观看时长,课程学习平均进度等;学生管理清晰地呈现每个学生的网络学习时间、网络讨论、作业完成情况、章节测验的成绩以及题目的对错分布,方便教师及时总结,为线下课程的探究性学习提供了资源;成绩管理主要侧重学生的网络学习成绩统计,任课教师可以设置网络学习考核项目和权重;督学则帮助教师及时地发布学习公告、还能根据学生管理和成绩管理的结果有针对性地指导个别学生,因材施教。
3.2.2 资料 资料包括课程资料、题库、作业库和试卷库,主要用于课程学习资源(视频、课件、文档资料、素材等)的展示、下载,学生作业的上传,以及课程章节测试和课程结课考试等。
3.2.3 作业 作业包括发放作业题目、批阅作业和作业提交汇总,此模块与“资料”模块中的作业库不同,“资料”模块中的作业库主要呈现每个学生的作业提交情况,而“作业”模块的功能主要是学生作业的批阅,学生作业的提交统计和批阅情况汇总。
3.2.4 管理 管理包括班级管理、教师团队管理和课程管理。班级管理可以对选课学生班级进行管理,可以根据实际情况添加班级、学生或移除班级、学生;教师团队管理呈现了任课教师团队的资料,方便管理;课程管理可以对学生端学习课程的权限和课程开放时间、作业提交截止时间以及考试时间等进行设置。
课堂组织是完成知识传递到知识内化的过程,是学生能力培养和习得的过程,是对学生线上自主学习结果的考查过程,也是提升计算思维、解决实践问题能力的过程。课堂组织可以分成如图2所示四个环节。
图2 多样化课堂组织
答疑解惑主要是针对学生线上自主学习阶段提交的问题,共性问题可以集中讲授,个性问题单独辅导;合作探究注重引导学生参与式、小组合作式学习,根据学生的自主学习情况,设置拓展性和提高性内容,如C语言程序设计中“if选择结构”可以设置“计算个人所得税”的实践编程案例学习多分支选择结构的应用技巧;实时检测主要是对线上自主学习和课堂探究学习的结果测评,便于补缺补漏;拓展提升建立在学生合作探究学习的基础上,可以针对学生的具体学习结果和所学内容的难易度合理安排。将线上自主学习与线下课堂讲授、合作探究等相结合的教学组织,才能更好地将理论知识转化为分析问题、解决问题的实践能力。
根据学院制定的课程成绩评定管理办法,综合线上、线下两个环节,从平时成绩、实验成绩和期末成绩三个方面突显学生能力考核,具体考核方法如表2所示。
表2 C语言程序设计课程考核体系
学生课程成绩=平时成绩(30%)+实验成绩(30%)+期末成绩(40%)。从表3中得出,考勤主要体现在线下课堂学习的出勤率,网络学习和网络测试成绩可从网络平台“统计”模块中导出,侧重学生视频学习、参与讨论、作业、章节测试等;线下实验主要针对课堂探究学习,计算学生课堂实验编程的平均成绩。课程考试通过网络平台“资料”模块和“考试试卷库”完成,由任课教师提供,题型主要由单选、判断和程序填空为主,以考察学生对理论知识的掌握;线下综合编程主要由程序改错题和程序设计题为主,以考查学生的实际问题分析和解决能力。
实践证明,C语言程序设计课程教学采用NCBE理念设计,线上线下相结合的教学模式对于学生能力的培养效果良好。通过网络平台的问卷调研,调研数据如表3所示。
表3 教学实践效果调研(%)
数据显示,学生在学习积极性、知识习得、合作探究和实践应用能力等都有很大的提高。80%以上的学生认为这种线上线下相结合的教学模式对于提高学生的学习积极性、知识习得、合作探究能力的提升有很大帮助,但是实践编程锻炼的机会较少,实践应用能力还有待提升。因此,教学实践过程中还需要加强实践应用资源的建设,如大学生科技竞赛、大学生科技创新项目、小系统的设计与研发等,给学生提供更多的实战应用的机会。