论文部分内容阅读
【摘 要】 如何使用信息技术对传统的课堂教学进行补充,是当前国内教育改革的一个方向[1]。而在软件开发学习方面,基于Web的学习模式正发挥着重要的作用。本文首先介绍了编程学习网站的发展概况,然后以一个在线编程学习网站为例,介绍了该网站的核心功能,分析其优缺点,最后提出了一个将视频技术整合进编程学习网站的方案。
【关键词】 在线学习;编程学习;视频
【中图分类号】G434 【文献标识码】A 【文章编号】2095-3089(2013)9-0-01
一、引言
随着我国软件产业的的迅猛发展,对软件开发人才的需求愈发迫切[2]。虽然我国几乎所有高校都开设了软件技术专业,但由于在校学生不断扩大,高校软件技术教师人数有限,不能很好的对学生开展一对一的指导教学。而课下的自学对于软件专业的学生而言,其重要性不亚于课堂上的学习。因此,学生在课下学习编程技术时,同样需要老师的指导。但由于条件限制,往往没有学习的方向,而遇到问题时也得不到及时的帮助,这都会极大的挫败学生课下学习的积极性[3]。
近年来,随着教育信息化的迅速发展,E-Learning正以惊人的速度改变着传统的教育模式。E-Learning是指主要通过因特网进行的学习与教学活动,它充分利用现代信息技术所提供的、具有全新沟通机制与丰富资源的学习环境,实现一种全新的学习方式[4]。针对编程学习领域,涌现了很多在线编程学习平台。比较有影响力的包括W3school、CodeCademy、Stack Overflow,Android Developer等。wStack Overflo这个网站并没有提供教程,它主要是依托强大的社区力量为成员解决编程过程中遇到的问题。Android Developer包括了很多Android开发的视频内容,同时还为开发者提供了设计开发程序的指导。W3school是中文网站,它主要教授Web开发方面的知识,包括HTML、XML、JavaScript、Ajax等。它的主要特色是知识点加小例子,并且支持程序的在线编辑和结果展示。CodeCademy是一个免费在线编程学习网站,它有中文版可以使用,其中的课程是由情景任务构成的,让编程变成完成任务的过程,不再因为没有目的只有语法的枯燥学习。
另外还有一些为用户提供视频课程的编程学习网站,如Treehouse、Udacity等。这些视频网站中的视频往往是一些教师录制,质量很高,而且视频对问题的论述相对于文字来说更易懂,同时学生可以直接面对高水平的教師,知识的传授比较直接。
无论是培训机构进行的软件开发培训,还是在软件学院的编程教学中,基于项目导向的编程教学方法被证明是非常有效的教学模式[5]。根据这个事实,本文对CodeCademy这个编程学习网站的功能进行了介绍,分析了它的优缺点。最后,探讨了如何将视频技术整合进该网站,以解决该网站存在的一些问题。
二、CodeCademy功能简介
该学习网站包括三个核心功能模块,分别为:学习、教学(创建课程)和个人学习记录。
(一)学习功能模块
学习功能模块主要供学生使用,学生注册登录后就可以选择想学习的课程进行学习,界面如图1所示。它分为一般课程和CodeYear课程两部分。
一般课程有很多学习单元组成,这些单元按照学习顺序排列好。具体到每个单元,它们都是按照由易到难的形式分成多个步骤。学习页面由三个部分组成:
1.学习步骤以列表形式展示,一般每个单元不超过7个步骤;
2.其中每个步骤包括三部分,最上面是背景和知识介绍,这部分内容既有该任务的背景,又有相关的基本概念和语法。第二部分是任务步骤,它会提示你这个任务可以通过哪些步骤完成,负责逻辑部分。最后一部分是“Show Hint”按钮,通过它可以得到完成该任务的提示;
3.右侧为编程区和控制台反馈区。它提供了一个完全在线的编程环境。它类似一个在线的IDE(整合开发环境),包括编辑、反馈、教学内容显示和提示功能。还提供在线社区帮助功能,通过社区的力量解决学生的问题。
CodeYear课程的是一个提供推送服务的模块。一旦你在Codecademy上用邮箱完成注册,之后你每周都会收到一定的编程练习。通过这种方式,提高学生学习编程的连续性。
(二)教学功能模块
教学功能模块提供了允许教师制作课程,并将课程提交到网站供学生使用的功能,界面如图2所示。具体步骤是:
1.确定课程单元(Section)名称,然后确定该单元中学习步骤(Exercise)的名称和具体内容;
2.确定实现该步骤的编程语言;
3.在编辑器中写入训练的初始代码和验证代码,验证代码用来核对学生提交的结果是否正确。
(三)个人学习记录模块
个人学习记录模块记录了登录学生的基本信息,包括学习进度和积分,同时按照学习的情况,颁发勋章,以起到鼓励学生学习的目的。
三、分析和建议
CodeCademy编程学习网站的界面简单易懂,课程安排条理清晰,学习内容有趣,现将该编程学习网站的优缺点总结如下:
优点:
1.课程中的学习单元设置比较合理,提前设置好的步骤很清晰,让学生的学习有比较明确的目标,并能按部就班的进行学习;
2.CodeCademy提倡的是以练习为主的学习方式。把所有的知识点融入到编程任务中,在一定程度上有利于提高学生的动手能力。当学生完成一个任务后,能有一定的成就感,从而提高学生的学习积极性。
缺点:
1.CodeCademy对单元中任务的描述和相关知识的说明上,采用的文字叙述的模式。当任务较为复杂,并且相关知识不易说明时,会让学生产生挫败感,降低学习的学习积极性; 2.程序调试是学生学习编程的重要途径,通过程序调试,学生可以更深入的理解程序,并为以后的编程工作打下坚实的基础[6]。而CodeCademy在调试程序方面,由于在线编程的缘故,并不能提供很好的调试功能。当学生遇到错误时,需要花费较长的时间才能找到错误。
针对该编程学习网站存在的问题,提出将视频技术整合进学习网站的方案。采用视频教学可以使复杂的知识变得更加直观,能降低学生的学习难度,提高学习效率[7]。
对于第一条缺点,采用视频和文字相结合的方式来描述任务和知识,不易让学生产生疲劳,继而影响其对知识的理解。
对于第二条缺点,考虑到对于操作性的知识而言,利用视频进行教学的效果更为显著。对于程序调试问题,教师可以将程序的编写调试过程采用录屏的方式进行记录,然后以视频的方式提供给学生。这样学生不但能学到知识,还能学到一些编程和调试的技巧。
四、结论
本文首先介绍了国内外一些编程學习网站的基本情况,然后以CodeCademy这个网站为例进行了功能说明和分析,最后结合分析情况提出了一个建议,将视频资源引入编程网站,使知识点和任务的文字描述和视频讲解之间互为补充,从而帮助学生更好地理解和巩固在网站上学到的编程知识。随着多媒体技术和信息技术的快速发展,网络教育对传统教育的支撑作用将越来越明显。如何将新技术更有效的运用到教育和学习中,将会是教育研究的重要方向。
参考文献
[1]宗秋荣.基于现代信息技术的教育改革与创新[J].教育研究,2001(5).
[2]李超,周定文,朱毅,潘莉.软件开发人才需求调查分析[J].计算机教育,2005(10).
[3]张春明.如何提高学生学习编程语言课程的热情[J].现代计算机,2012(25).
[4]单从凯.E-learning解读[J].远程教育杂志,2003(4).
[5]黄芳,王晓霞,宋霞.项目导向法教学与高职软件专业学生职业能力培养研究[J].软件,2002(4).
[6]刘应成.编程初学者程序调试能力的现象描述法研究[J].现代计算机,2010(8)
[7]吴银芳.基于流媒体的交互式Web教学系统的设计与实现[D].苏州大学,2008
【关键词】 在线学习;编程学习;视频
【中图分类号】G434 【文献标识码】A 【文章编号】2095-3089(2013)9-0-01
一、引言
随着我国软件产业的的迅猛发展,对软件开发人才的需求愈发迫切[2]。虽然我国几乎所有高校都开设了软件技术专业,但由于在校学生不断扩大,高校软件技术教师人数有限,不能很好的对学生开展一对一的指导教学。而课下的自学对于软件专业的学生而言,其重要性不亚于课堂上的学习。因此,学生在课下学习编程技术时,同样需要老师的指导。但由于条件限制,往往没有学习的方向,而遇到问题时也得不到及时的帮助,这都会极大的挫败学生课下学习的积极性[3]。
近年来,随着教育信息化的迅速发展,E-Learning正以惊人的速度改变着传统的教育模式。E-Learning是指主要通过因特网进行的学习与教学活动,它充分利用现代信息技术所提供的、具有全新沟通机制与丰富资源的学习环境,实现一种全新的学习方式[4]。针对编程学习领域,涌现了很多在线编程学习平台。比较有影响力的包括W3school、CodeCademy、Stack Overflow,Android Developer等。wStack Overflo这个网站并没有提供教程,它主要是依托强大的社区力量为成员解决编程过程中遇到的问题。Android Developer包括了很多Android开发的视频内容,同时还为开发者提供了设计开发程序的指导。W3school是中文网站,它主要教授Web开发方面的知识,包括HTML、XML、JavaScript、Ajax等。它的主要特色是知识点加小例子,并且支持程序的在线编辑和结果展示。CodeCademy是一个免费在线编程学习网站,它有中文版可以使用,其中的课程是由情景任务构成的,让编程变成完成任务的过程,不再因为没有目的只有语法的枯燥学习。
另外还有一些为用户提供视频课程的编程学习网站,如Treehouse、Udacity等。这些视频网站中的视频往往是一些教师录制,质量很高,而且视频对问题的论述相对于文字来说更易懂,同时学生可以直接面对高水平的教師,知识的传授比较直接。
无论是培训机构进行的软件开发培训,还是在软件学院的编程教学中,基于项目导向的编程教学方法被证明是非常有效的教学模式[5]。根据这个事实,本文对CodeCademy这个编程学习网站的功能进行了介绍,分析了它的优缺点。最后,探讨了如何将视频技术整合进该网站,以解决该网站存在的一些问题。
二、CodeCademy功能简介
该学习网站包括三个核心功能模块,分别为:学习、教学(创建课程)和个人学习记录。
(一)学习功能模块
学习功能模块主要供学生使用,学生注册登录后就可以选择想学习的课程进行学习,界面如图1所示。它分为一般课程和CodeYear课程两部分。
一般课程有很多学习单元组成,这些单元按照学习顺序排列好。具体到每个单元,它们都是按照由易到难的形式分成多个步骤。学习页面由三个部分组成:
1.学习步骤以列表形式展示,一般每个单元不超过7个步骤;
2.其中每个步骤包括三部分,最上面是背景和知识介绍,这部分内容既有该任务的背景,又有相关的基本概念和语法。第二部分是任务步骤,它会提示你这个任务可以通过哪些步骤完成,负责逻辑部分。最后一部分是“Show Hint”按钮,通过它可以得到完成该任务的提示;
3.右侧为编程区和控制台反馈区。它提供了一个完全在线的编程环境。它类似一个在线的IDE(整合开发环境),包括编辑、反馈、教学内容显示和提示功能。还提供在线社区帮助功能,通过社区的力量解决学生的问题。
CodeYear课程的是一个提供推送服务的模块。一旦你在Codecademy上用邮箱完成注册,之后你每周都会收到一定的编程练习。通过这种方式,提高学生学习编程的连续性。
(二)教学功能模块
教学功能模块提供了允许教师制作课程,并将课程提交到网站供学生使用的功能,界面如图2所示。具体步骤是:
1.确定课程单元(Section)名称,然后确定该单元中学习步骤(Exercise)的名称和具体内容;
2.确定实现该步骤的编程语言;
3.在编辑器中写入训练的初始代码和验证代码,验证代码用来核对学生提交的结果是否正确。
(三)个人学习记录模块
个人学习记录模块记录了登录学生的基本信息,包括学习进度和积分,同时按照学习的情况,颁发勋章,以起到鼓励学生学习的目的。
三、分析和建议
CodeCademy编程学习网站的界面简单易懂,课程安排条理清晰,学习内容有趣,现将该编程学习网站的优缺点总结如下:
优点:
1.课程中的学习单元设置比较合理,提前设置好的步骤很清晰,让学生的学习有比较明确的目标,并能按部就班的进行学习;
2.CodeCademy提倡的是以练习为主的学习方式。把所有的知识点融入到编程任务中,在一定程度上有利于提高学生的动手能力。当学生完成一个任务后,能有一定的成就感,从而提高学生的学习积极性。
缺点:
1.CodeCademy对单元中任务的描述和相关知识的说明上,采用的文字叙述的模式。当任务较为复杂,并且相关知识不易说明时,会让学生产生挫败感,降低学习的学习积极性; 2.程序调试是学生学习编程的重要途径,通过程序调试,学生可以更深入的理解程序,并为以后的编程工作打下坚实的基础[6]。而CodeCademy在调试程序方面,由于在线编程的缘故,并不能提供很好的调试功能。当学生遇到错误时,需要花费较长的时间才能找到错误。
针对该编程学习网站存在的问题,提出将视频技术整合进学习网站的方案。采用视频教学可以使复杂的知识变得更加直观,能降低学生的学习难度,提高学习效率[7]。
对于第一条缺点,采用视频和文字相结合的方式来描述任务和知识,不易让学生产生疲劳,继而影响其对知识的理解。
对于第二条缺点,考虑到对于操作性的知识而言,利用视频进行教学的效果更为显著。对于程序调试问题,教师可以将程序的编写调试过程采用录屏的方式进行记录,然后以视频的方式提供给学生。这样学生不但能学到知识,还能学到一些编程和调试的技巧。
四、结论
本文首先介绍了国内外一些编程學习网站的基本情况,然后以CodeCademy这个网站为例进行了功能说明和分析,最后结合分析情况提出了一个建议,将视频资源引入编程网站,使知识点和任务的文字描述和视频讲解之间互为补充,从而帮助学生更好地理解和巩固在网站上学到的编程知识。随着多媒体技术和信息技术的快速发展,网络教育对传统教育的支撑作用将越来越明显。如何将新技术更有效的运用到教育和学习中,将会是教育研究的重要方向。
参考文献
[1]宗秋荣.基于现代信息技术的教育改革与创新[J].教育研究,2001(5).
[2]李超,周定文,朱毅,潘莉.软件开发人才需求调查分析[J].计算机教育,2005(10).
[3]张春明.如何提高学生学习编程语言课程的热情[J].现代计算机,2012(25).
[4]单从凯.E-learning解读[J].远程教育杂志,2003(4).
[5]黄芳,王晓霞,宋霞.项目导向法教学与高职软件专业学生职业能力培养研究[J].软件,2002(4).
[6]刘应成.编程初学者程序调试能力的现象描述法研究[J].现代计算机,2010(8)
[7]吴银芳.基于流媒体的交互式Web教学系统的设计与实现[D].苏州大学,2008