论文部分内容阅读
摘要:分析MOOC环境下教学的优势和存在的问题,总结了项目驱动式教学(边学边做)、基于云平台的竞赛、综合性实训—敏捷教学(边讲边实践)、个性化教学方式等新型计算机课程实践教学模式的创新思路与具体实践,以期为适应MOOC时代学习方式的变革和计算机课程实践教学改革探索新的途径。
关键词:计算机课程;实践教学;模式;创新
中图分类号G40 [文献标识码]A
自从2012开启MOOC元年以来,各高校计算机课程教学都不同程度受到MOOC的冲击,MOOC、SPOC、混合式等不同程度网络教学模式的出现,伴随着学生学习方式的改变,随时、随地、学习任何内容成为当前学习者的新要求。在网易公开课、学堂在线,以及各大高校的MOOC网站上都能够很方便地找到各类计算机类MOOC,特别是爱课程(ICourse)网站上由教育部高等学校计算机类专业教学指导委员会、软件工程专业教学指导委员会、大学计算机课程教学指导委员会共同倡议并联合组建、由相关高校自愿参加的基于“大规模开放在线课程”建成的“中国高校计算机教育MOOC联盟”推出的各类计算机课程,受到广大学生和专业人士的推崇。网络上还可以方便地找到诸如”一年学完MIT计算机专业33门课程”等经典案例,详细介绍计算机MOOC学习经验。尽管如此,身边的学生中能真正学完一门计算机MOOC并取得证书的学生并不多。这一方面说明,计算机类MOOC并不适合所有的学生学习,另一方面也要求教师面对学生学习方式的改变随之调整教学模式,创新教学方法,特别是针对计算机实践课程特点,不断研究MOOC形势下的教学变革,为培养学生的实际应用技能和创新能力探索新的路子。
一、MOOC时代计算机课程实践教学面临的问题与挑战
计算机课程的特点是大多数与程序设计有关,相互之间联系紧密,如数据结构与程序设计语言、操作系统与计算机系统结构、数据结构与数据库技术等前后衔接、关系紧密,都需要有一定的逻辑思维。在实践教学中,需要学生自己动手,编写大量的代码并实际运行,在反复进行的程序调试过程中掌握要领。网络上很多计算机MOOC深受学生和广大学习者的认可,如浙江大学翁恺老师的《程序设计入门—C语言》、《C语言程序设计进阶》、《面向对象程序设计C++》等课程,大家评论是“老师非常用心,讲解全面细致严谨,据说浙大内选不到翁老师课的同学都会到网上看”,清华大学张悠慧讲授的《汇编语言程序设计》,评论是“同时讲解汇编语言和C语言,对理解C语言和计算机底层开发帮助非常大”等等。MOOC的特点就是只要注册后,学习者可以针对个人的情况随时随地学习,但也存在一些问题,可以总结如下。
1.计算机类MOOC课程非常多,学生可选择的课程很多,但选择出适合自己学习的MOOC有一定难度;
2.MOOC教学模式注重“教”,大多数MOOC授课方式都是通过视频进行,许多学生选择用手机浏览,能听懂、能看懂,但不会做,或没有耐心做出来。对学生实际操作能力的培养不到位。
3.MOOC课程内容不可能针对每个人的实际情况,虽然学生随时随地可以反复学习,但不可能做到随时互动与交流,老师辅导跟不上,计算机课程逻辑性又强,前面没听懂,后面学习起来就有一定难度,没听懂的越积越多,最后就跟不上了。
4.实践考核不易。计算机类课程实践要求学生编写大量的程序代码,不断调试运行,才能举一反三掌握所学内容,但MOOC提交的作业不能保证所有程序都是学生自己独立完成的,无法精确考核。因此,即使学生按规定提交了作业,也不一定能保证他们真正掌握了技能。
5.教学内容的问题。计算机类MOOC课程基本上都是按照传统的教学方法进行,先概念,再语法,再逻辑结构,最后编程,不注重应用,或者教学内容与实际应用脱节,只有部分学生能力强的学生在跟随MOOC教学系统学完课程后能掌握实际应用技能,大部分学生即使学完了课程,实际应用水平还是无法满足项目开发需要。
二、新型计算机课程实践教学模式的创新思路与实践
基于上述计算机MOOC教学存在的问题,我们针对学生的实际情况提出了实践教学改革的新思路并进行实践,具体总结如下。
(一)项目驱动式教学(边学边做)
项目驱动教学法是从德国引进的一种全新的教学方法,是师生通过共同完成一个完整的项目工作而进行的教学活动。教师在预设项目时要有针对性地将理论知识和实际技能结合起来,通过设置一定的难度,要求学生运用新学习的知识和技能,解决过去从未遇到过的实际问题,让学生在项目实践过程中理解和把握课程要求的知识和技能,培养分析问题和解决问题的思路和方法[1]。
应用型本科高校计算机类课程都是为了完成一个项目的完整开发而设置的。如数据库类课程,是为了存储、处理、管理大量的数据而设置。数据库类课程可以按照项目驱动式教学,如在学习了数据库概念、数据库模式结构和数据库设计的基本理论之后,可以尝试让学生分组完成一个数据库系统从概念设计、逻辑设计到物理设计的全过程。在设计过程中,学生从需求分析开始,利用分析工具描述数据、操作及其之间的关系,用E-R图表示数据之间的关系,用关系模型表示逻辑结构。在分配具体项目过程中,教师要按照学生的实际情况设置一定的难度,让学生边学边做,教师对学和做的过程进行指导,采用答辩、演示等各种方式对设计结果进行展示、讲评和打分,指导学生不断修改和完善设计方案,最终达到预期结果。
(二)基于云平台的竞赛
开展计算机课程实践竞赛活动能够激发学生的学习热情,调动学生的学习积极性,但是竞赛活动需要教师花费大量的时间和精力,例如,老师需要准备大量的竞赛题目,竞赛过程中要防止学生互相抄袭,或从网络或别的资料上复制代码等,监考过程很重要,也很麻烦;答题完成后需要阅卷、还要对竞赛的有效性进行考核等。因此,许多老师组织学生参加竞赛的主动性不高,不利于竞赛活动的持续开展。目前,许多计算机课程教学建立了云平台,可以很好地解决上述问题。教师在日常教学工作中,在计算机课程教学云平台上,已经准备了大量的课程考题,竞赛时,每位学生随机抽取不同的试题,这样就避免了互相抄袭的现象;有的平台可以检测学生击键次数和运行次数,在一定程度上可以防止学生复制代码的情况;计算机自动阅卷,统计学生每道题的答题情况和考试成绩,并进行一定的分析,极大地简化了阅卷过程。正是基于云平臺,使高校能够将计算机课程实践竞赛活动有效、持续地开展下去,使竞赛活动成为促进教学改革的一种手段。 (三)综合性实训—敏捷教学(边讲边实践)
敏捷教学是从软件开发的敏捷开发方法移植过来的,所谓敏捷开发方法,是以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发。在敏捷开发中,软件项目在构建初期被切分成多个子项目,各个子项目的成果都经过测试,具备可视、可集成和可运行使用的特征。换言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态[2]。
计算机专业学生在学习完网页设计、数据库、开发语言之后,一般会安排1-2周的综合实训。综合实训过程可以采取敏捷教学方法(边学边做)进行。下面以完成一个“用户验证”页面为例说明敏捷教学的具体过程(教师指导学生边学边做)。
第一步:根据项目需求完成一个静态网页的设计。
需要完成的功能:(1)设计一个大小合适、颜色搭配合理的页面。(2)添加页面元素,如标签、文本框、按钮等。(3)合理设置各元素的大小、位置、颜色。
设问:这样的页面是静止的,如何让它动起来?
第二步:建立数据库和数据表。
利用学习过的数据库管理系统建立数据库,根据数据库设计结果建立若干个数据库表,并添加测试数据。
设问:在数据库管理系统环境下如何对数据库中的数据进行操作?在页面上如何访问数据库中的数据?
第三步:将数据库与网页连接起来,通过网页访问数据库中的数据。
在开发环境下,利用开发工具建立页面与数据库的连接,设计访问变量,对数据库中的某个表进行操作。
高校计算机课程都是独立开设的,针对一个项目开发的学习,不是一门课程就能够掌握所有的知识,需要有综合性的实训。如上述项目的一个功能,既需要网页设计、也需要后台数据库,还需要开发语言(如Java),教师可以带领学生,先用网页设计工具将界面设计出来,这时网页是静态的,再将数据库建立起来,可能的话还需要建立几张表格,最后再用开发语言将界面静态元素与后台数据库连接起来,实现需要的功能。这样边讲边实践,每一部分功能都是独立的,可以测试与运行,将三部分连接起来后,就实现了“用户验证”的功能。通过该页面的实现,学生清楚地了解页面设计、数据库、开发语言的相互关系和具体功能。再通过几个类似小项目的练习,学生就基本掌握了这个方面的应用。在此基础上,教师可以布置几个较复杂的功能案例,交给学生课后完成,每次上课前先提交上次实践结果,这样学生对知识和技能的掌握就会更加深入和牢固。
(四)个性化教学方式
MOOC时代不论是教学内容、教学方式甚至指导教师都可以按照学生自己的意愿或需要进行选择。可以最大限度地发挥学生的主动性、积极性,非常适合个性化教学方式的开展。学生可以在家或在宿舍通过音频、视频、文本等各种方式与同学或教师互动与交流,也可以通过小组的方式相互协作完成实践任务,这种学习方式对于学生的工程能力、创新能力和协作能力可以起到促进作用[3]。这种教学环境下,教师教学的重点已不是传授知识,而是帮助学生学会自主学习,即培养学生的学习能力,实践教学更注重对学生学习过程的评价,即由单纯的结果评价转向过程的评价,意味着对学生学习过程的重视和对师生沟通的关注[4]。
MOOC时代,由于学习内容已经放在网络教学平台上了,需要面授的课时会减少,需要的授课教师也会减少,相反,需要的指导时间和指导老师数应适当增加。在计算机课程实践中,学生可以将遇到的问题发送到班级群、课程群或者课程教学平台,教师随时可以辅导和答疑,能够更清楚地了解每个学生的实践技能情况,可以针对学生的具体情况布置学习任务并进行个性化指导,更有利于学生成长。
三、总结与建议
MOOC时代的到来,学生需要随时随地、碎片化、个性化学习,针对计算机课程实践教学的特点,提出了项目驱动式教学(边学边做)、基于云平台的竞赛、综合性实训—敏捷教学(边讲边实践)、个性化教学方式等新型教学模式,这些方式在本校进行了实践,效果良好,但不一定适合所有的学校和学生,各高校应根据自己计算机课程和人才培养目标,不断探索,寻求更加合理有效的教学模式。
参考文献:
[1]单玉燕.边学边做——谈数字电子技术的项目驱动法[J].读写算:教育教学研究,2011(34):303-303.
[2]百度词条:http://baike.baidu.com/view/309926.htm.
[3]许雪林 陈敏 张国安.合作学习模式在工科课程中的研究与应用[J].教育研究与实验,2014(3):27-29.
[4]贺亚茹.现代教育技术与传统方法相融合的实验教学改革[J].教育研究与实验,2015(5):45-47.
作者简介:贺亚茹(1963-),女,陕西蓝田人,西安外事學院 信息与网络学院,副教授,硕士,研究方向为计算机专业教学、高校信息化教学与管理。
关键词:计算机课程;实践教学;模式;创新
中图分类号G40 [文献标识码]A
自从2012开启MOOC元年以来,各高校计算机课程教学都不同程度受到MOOC的冲击,MOOC、SPOC、混合式等不同程度网络教学模式的出现,伴随着学生学习方式的改变,随时、随地、学习任何内容成为当前学习者的新要求。在网易公开课、学堂在线,以及各大高校的MOOC网站上都能够很方便地找到各类计算机类MOOC,特别是爱课程(ICourse)网站上由教育部高等学校计算机类专业教学指导委员会、软件工程专业教学指导委员会、大学计算机课程教学指导委员会共同倡议并联合组建、由相关高校自愿参加的基于“大规模开放在线课程”建成的“中国高校计算机教育MOOC联盟”推出的各类计算机课程,受到广大学生和专业人士的推崇。网络上还可以方便地找到诸如”一年学完MIT计算机专业33门课程”等经典案例,详细介绍计算机MOOC学习经验。尽管如此,身边的学生中能真正学完一门计算机MOOC并取得证书的学生并不多。这一方面说明,计算机类MOOC并不适合所有的学生学习,另一方面也要求教师面对学生学习方式的改变随之调整教学模式,创新教学方法,特别是针对计算机实践课程特点,不断研究MOOC形势下的教学变革,为培养学生的实际应用技能和创新能力探索新的路子。
一、MOOC时代计算机课程实践教学面临的问题与挑战
计算机课程的特点是大多数与程序设计有关,相互之间联系紧密,如数据结构与程序设计语言、操作系统与计算机系统结构、数据结构与数据库技术等前后衔接、关系紧密,都需要有一定的逻辑思维。在实践教学中,需要学生自己动手,编写大量的代码并实际运行,在反复进行的程序调试过程中掌握要领。网络上很多计算机MOOC深受学生和广大学习者的认可,如浙江大学翁恺老师的《程序设计入门—C语言》、《C语言程序设计进阶》、《面向对象程序设计C++》等课程,大家评论是“老师非常用心,讲解全面细致严谨,据说浙大内选不到翁老师课的同学都会到网上看”,清华大学张悠慧讲授的《汇编语言程序设计》,评论是“同时讲解汇编语言和C语言,对理解C语言和计算机底层开发帮助非常大”等等。MOOC的特点就是只要注册后,学习者可以针对个人的情况随时随地学习,但也存在一些问题,可以总结如下。
1.计算机类MOOC课程非常多,学生可选择的课程很多,但选择出适合自己学习的MOOC有一定难度;
2.MOOC教学模式注重“教”,大多数MOOC授课方式都是通过视频进行,许多学生选择用手机浏览,能听懂、能看懂,但不会做,或没有耐心做出来。对学生实际操作能力的培养不到位。
3.MOOC课程内容不可能针对每个人的实际情况,虽然学生随时随地可以反复学习,但不可能做到随时互动与交流,老师辅导跟不上,计算机课程逻辑性又强,前面没听懂,后面学习起来就有一定难度,没听懂的越积越多,最后就跟不上了。
4.实践考核不易。计算机类课程实践要求学生编写大量的程序代码,不断调试运行,才能举一反三掌握所学内容,但MOOC提交的作业不能保证所有程序都是学生自己独立完成的,无法精确考核。因此,即使学生按规定提交了作业,也不一定能保证他们真正掌握了技能。
5.教学内容的问题。计算机类MOOC课程基本上都是按照传统的教学方法进行,先概念,再语法,再逻辑结构,最后编程,不注重应用,或者教学内容与实际应用脱节,只有部分学生能力强的学生在跟随MOOC教学系统学完课程后能掌握实际应用技能,大部分学生即使学完了课程,实际应用水平还是无法满足项目开发需要。
二、新型计算机课程实践教学模式的创新思路与实践
基于上述计算机MOOC教学存在的问题,我们针对学生的实际情况提出了实践教学改革的新思路并进行实践,具体总结如下。
(一)项目驱动式教学(边学边做)
项目驱动教学法是从德国引进的一种全新的教学方法,是师生通过共同完成一个完整的项目工作而进行的教学活动。教师在预设项目时要有针对性地将理论知识和实际技能结合起来,通过设置一定的难度,要求学生运用新学习的知识和技能,解决过去从未遇到过的实际问题,让学生在项目实践过程中理解和把握课程要求的知识和技能,培养分析问题和解决问题的思路和方法[1]。
应用型本科高校计算机类课程都是为了完成一个项目的完整开发而设置的。如数据库类课程,是为了存储、处理、管理大量的数据而设置。数据库类课程可以按照项目驱动式教学,如在学习了数据库概念、数据库模式结构和数据库设计的基本理论之后,可以尝试让学生分组完成一个数据库系统从概念设计、逻辑设计到物理设计的全过程。在设计过程中,学生从需求分析开始,利用分析工具描述数据、操作及其之间的关系,用E-R图表示数据之间的关系,用关系模型表示逻辑结构。在分配具体项目过程中,教师要按照学生的实际情况设置一定的难度,让学生边学边做,教师对学和做的过程进行指导,采用答辩、演示等各种方式对设计结果进行展示、讲评和打分,指导学生不断修改和完善设计方案,最终达到预期结果。
(二)基于云平台的竞赛
开展计算机课程实践竞赛活动能够激发学生的学习热情,调动学生的学习积极性,但是竞赛活动需要教师花费大量的时间和精力,例如,老师需要准备大量的竞赛题目,竞赛过程中要防止学生互相抄袭,或从网络或别的资料上复制代码等,监考过程很重要,也很麻烦;答题完成后需要阅卷、还要对竞赛的有效性进行考核等。因此,许多老师组织学生参加竞赛的主动性不高,不利于竞赛活动的持续开展。目前,许多计算机课程教学建立了云平台,可以很好地解决上述问题。教师在日常教学工作中,在计算机课程教学云平台上,已经准备了大量的课程考题,竞赛时,每位学生随机抽取不同的试题,这样就避免了互相抄袭的现象;有的平台可以检测学生击键次数和运行次数,在一定程度上可以防止学生复制代码的情况;计算机自动阅卷,统计学生每道题的答题情况和考试成绩,并进行一定的分析,极大地简化了阅卷过程。正是基于云平臺,使高校能够将计算机课程实践竞赛活动有效、持续地开展下去,使竞赛活动成为促进教学改革的一种手段。 (三)综合性实训—敏捷教学(边讲边实践)
敏捷教学是从软件开发的敏捷开发方法移植过来的,所谓敏捷开发方法,是以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发。在敏捷开发中,软件项目在构建初期被切分成多个子项目,各个子项目的成果都经过测试,具备可视、可集成和可运行使用的特征。换言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态[2]。
计算机专业学生在学习完网页设计、数据库、开发语言之后,一般会安排1-2周的综合实训。综合实训过程可以采取敏捷教学方法(边学边做)进行。下面以完成一个“用户验证”页面为例说明敏捷教学的具体过程(教师指导学生边学边做)。
第一步:根据项目需求完成一个静态网页的设计。
需要完成的功能:(1)设计一个大小合适、颜色搭配合理的页面。(2)添加页面元素,如标签、文本框、按钮等。(3)合理设置各元素的大小、位置、颜色。
设问:这样的页面是静止的,如何让它动起来?
第二步:建立数据库和数据表。
利用学习过的数据库管理系统建立数据库,根据数据库设计结果建立若干个数据库表,并添加测试数据。
设问:在数据库管理系统环境下如何对数据库中的数据进行操作?在页面上如何访问数据库中的数据?
第三步:将数据库与网页连接起来,通过网页访问数据库中的数据。
在开发环境下,利用开发工具建立页面与数据库的连接,设计访问变量,对数据库中的某个表进行操作。
高校计算机课程都是独立开设的,针对一个项目开发的学习,不是一门课程就能够掌握所有的知识,需要有综合性的实训。如上述项目的一个功能,既需要网页设计、也需要后台数据库,还需要开发语言(如Java),教师可以带领学生,先用网页设计工具将界面设计出来,这时网页是静态的,再将数据库建立起来,可能的话还需要建立几张表格,最后再用开发语言将界面静态元素与后台数据库连接起来,实现需要的功能。这样边讲边实践,每一部分功能都是独立的,可以测试与运行,将三部分连接起来后,就实现了“用户验证”的功能。通过该页面的实现,学生清楚地了解页面设计、数据库、开发语言的相互关系和具体功能。再通过几个类似小项目的练习,学生就基本掌握了这个方面的应用。在此基础上,教师可以布置几个较复杂的功能案例,交给学生课后完成,每次上课前先提交上次实践结果,这样学生对知识和技能的掌握就会更加深入和牢固。
(四)个性化教学方式
MOOC时代不论是教学内容、教学方式甚至指导教师都可以按照学生自己的意愿或需要进行选择。可以最大限度地发挥学生的主动性、积极性,非常适合个性化教学方式的开展。学生可以在家或在宿舍通过音频、视频、文本等各种方式与同学或教师互动与交流,也可以通过小组的方式相互协作完成实践任务,这种学习方式对于学生的工程能力、创新能力和协作能力可以起到促进作用[3]。这种教学环境下,教师教学的重点已不是传授知识,而是帮助学生学会自主学习,即培养学生的学习能力,实践教学更注重对学生学习过程的评价,即由单纯的结果评价转向过程的评价,意味着对学生学习过程的重视和对师生沟通的关注[4]。
MOOC时代,由于学习内容已经放在网络教学平台上了,需要面授的课时会减少,需要的授课教师也会减少,相反,需要的指导时间和指导老师数应适当增加。在计算机课程实践中,学生可以将遇到的问题发送到班级群、课程群或者课程教学平台,教师随时可以辅导和答疑,能够更清楚地了解每个学生的实践技能情况,可以针对学生的具体情况布置学习任务并进行个性化指导,更有利于学生成长。
三、总结与建议
MOOC时代的到来,学生需要随时随地、碎片化、个性化学习,针对计算机课程实践教学的特点,提出了项目驱动式教学(边学边做)、基于云平台的竞赛、综合性实训—敏捷教学(边讲边实践)、个性化教学方式等新型教学模式,这些方式在本校进行了实践,效果良好,但不一定适合所有的学校和学生,各高校应根据自己计算机课程和人才培养目标,不断探索,寻求更加合理有效的教学模式。
参考文献:
[1]单玉燕.边学边做——谈数字电子技术的项目驱动法[J].读写算:教育教学研究,2011(34):303-303.
[2]百度词条:http://baike.baidu.com/view/309926.htm.
[3]许雪林 陈敏 张国安.合作学习模式在工科课程中的研究与应用[J].教育研究与实验,2014(3):27-29.
[4]贺亚茹.现代教育技术与传统方法相融合的实验教学改革[J].教育研究与实验,2015(5):45-47.
作者简介:贺亚茹(1963-),女,陕西蓝田人,西安外事學院 信息与网络学院,副教授,硕士,研究方向为计算机专业教学、高校信息化教学与管理。