您好, 访客   登录/注册

从JavaScript教学谈学生自主编程能力的培养

来源:用户上传      作者:

  摘要:针对部分应用型大学学生自主编程能力较差,缺乏项目实践机会的现状,提出了一种使用碎片化时间编写脚本网页程序的教学方式。该教学方式依托JavaScript语言特点,旨在通过快速、友好的编程结果,从而提高学生编程兴趣。经实验表明,该方式增强了学生的实践能力,对学生就业有较好的指导作用。
  关键词:JavaScript;应用型人才;编程能力;案例教学
  中图分类号:TP311     文献标识码:A
  文章编号:1009-3044(2020)02-0152-02
  综合市场需求,大部分应用型本科高校的教学目标旨在培养技能型人才,这样的办学目的使得教学更要面向实践和工作实际,培养的人才应既有一定的理论基础又有较强的动手能力,特别是动手能力的培养尤其重要。JavaScript是一种所编代码立即有所得的网页脚本语言,不同于其他编程语言,需要多模块调试才能展现一个统一的程序效果,JavaScript基于单页面即可调试代码效果。
  JavaScript这种面向对象和事件驱动的网页设计脚本语言经过20年的发展,已经成为网站编程不可缺少的一部分,通过学习JavaScript,学生可以更多了解相关编程的过程和逻辑,为以后使用或者学习JavaScript框架奠定基础。
  JavaScript为网站设计者提供了建立交互式页面的先进技术,在建立动态网页方面,有着其他工具不可比拟的优点。学生毕业后如果从事网站开发与维护工作,有必要学习JavaScript来提高网页的可视性和可读性[1]。JavaScript既适合于初学者练习编程技能提高编程能力,也是一种面向对象web程序员级别的编程工具。它从数据类型到语法结构,从面向对象到原型编程,都完全具备高级语言的特征。
  应用型院校是培养大量满足社会需求技能型人才的学校,这样的人才培养目标使得教学要面向实践和工作实际,大量技能型人才培养方式和传统学术性人才培养方式肯定有所不同。在高等教育大众化的时代,高等职业教育的受众,很可能是以形象思维为主的青年。以形象思维为主的人,乐于在具象情境或氛围中,通过“行动”来学习[2]。JavaScript的网页语言特性使得它的界面更加具备形象性,并能实时表现在网页界面上。
  1 目前计算机专业学生编程能力存在的问题
  编写计算机程序是一项综合运用计算机语言知识完成工程实践的复杂过程,为了使计算机能够理解人的意图,人类就必须将需解决的问题的思路、方法和手段通过计算机能够理解的形式告诉计算机,使得计算机能够根据人的指令一步一步去工作,完成某种特定的任务。因此学会编程是提高学生综合解决问题能力的重要训练,JavaScript语言从实践性和趣味性上都具备先天优势,适合学生进行编程能力训练。要学会利用JavaScript来增加动态网页的教学效果,既要学好程序设计理论知识,更要注重运用理论知识进行网页设计实践的锻炼,做到理论与实践相结合[3]。但是,目前很多的学生编程能力较弱,缺少工程的思维和科学解决问题的动手能力,不管从学校还是从教师的角度都应该认识到这个问题。
  1.1 学生编程能力实践性不够
  在高等教育大发展的十几年里,学校明确了要培养大量社会和企业需要的技能型人才的目标。然而在计算机学院,软件编程大部分被定在专业课的范畴里,并不能增强学生编程实践能力。同时,社会上软件和硬件企业需要越来越多实践型编码人员来从事相关工作,包括各种软硬件接口开发,中小型网站代码维护,一般应用型软件的开发等。这就造成了培养出来的计算机专业学生动手编程能力偏弱,进入工作岗位需要很长一段时间的实践学习。随着计算机技术渗透到各行各业,企业要求具备大量编程能力的人才充斥到各个岗位,计算机编程能力成为继办公自动化之后用人单位对人才特别是计算机人才的最大需求。培养学生的编程能力到何种程度,怎么在实际工程项目中锻炼学生实践编程能力,在计算机专业教育中仍没有作为重点目标。
  1.2 没有适当的项目让计算机专业学生来练习编程
  即使在教科书中已经有一些项目让学生进行编程练习,比如JavaScript的网页动态效果,通过简单案例让学生完成作业,但是这些项目仍缺少工程性和实际性,偏重于理论算法研究,至少它们仍是课本上的虚拟项目。由于院校一般难以找到实际开发项目的现状,很少有适合的企业项目供学生进行计算机编程实践,如果退而求其次,仍能接到某些商业网站的广告功能由学生来编写,那么会更好的激发学生的编程学习热情。
  1.3 老师缺少实际项目经验
  很多计算机专业的老师教育和从业也是从校园到校园,缺少企业工程项目经验,那就很难培养面向工程实践的工程技能人才,特别是计算机工程发展迅速,更需要学生接触工程项目实际,从而很好理解编程在现实工程中的应用。案例教学是最近教育改革主要的成就之一,但是老师的教学不能仅仅就案例教案例,而是要根据案例进行合理拓展和适当分析,结合工程实际与时俱进,在教学过程中使学生通过对案例的分析研究了解实际,以发展自己的创新才能。应以学生的独立分析研究为主,教师的传授、指导配合学生进行[4]。而且,老师在教学中应该从书中的案例,介绍到企业的项目实际,让学生了解一些实际应用的工程项目。介绍项目有一定的行业规范和标准,同样有一定的自主创新或者微创新的空间,让学生发挥自己的主观能动性。
  2 在JavaScript教學中,提高学生编程能力
  基于工作过程的情境化教学,是近年来高等教学改革的重要一项内容,这项教学改革提高了课堂的活跃度,使得学生能在体会工作的过程中学习到知识。但是,很多工作过程的操作并不能在课堂上完成,比如机械的操作需要到车间,制药的操作需要到实验室,有些工作过程在课堂上仍是“纸上谈兵”。但是,鉴于软件编程不同于其他专业,软件工程的代码可复制可移植性,软件编程的工作过程操作可以在教学课堂的电脑上完成。而且,JavaScript语言相比较于其他编程语言,更易于调试和实现,类似于java applet小程序一样,JavaScript语言基于浏览器的实现将程序交互界面更加便捷化。   随着就业市场对软件编程人才需求越来越多,对工程人员具备编程能力的要求也越来越强,针对计算机相关专业学生基本素质现状,结合JavaScript语言教学,提出以下方法:
  2.1 增强学生编程实践能力
  根据计算机院校的专业培养目标,编程能力应该作为院系学生的一项专业素质和能力。对于计算机专业的学生,教学中应该要求学生掌握系统的编写计算机程序的方法,包括底层的汇编语言,高级语言C,网页动态语言JavaScript和网站语言PHP等。对于偏计算机硬件专业的学生,应该要求学生掌握基本的编程技能,比如单片机汇编编程,PLC电子电路画图,python编程等,让其计算机编程能力的提升扩张其就业空间。不仅要求学生掌握重点语言的编程知识,更要求学生增加通用性编程能力的学习能力,在工程实践中能快速学习和掌握新的编程语言。
  2.3 利用网络JS资源解决问题
  针对JavaScript语言网络上有大量的JS框架和库,例如JQuery、Angular和Vue.js等,有的是免费的有的是收费的,早在几年前,google公司的员工如果能开发一套JS库,将会被提升为主管级别。所以现在整个网络的JS库是种类繁多,鱼龙混杂,但是通过仔细甄别和遴选我们仍能找到适合学生学习的JavaScript框架或者库。即使我们引用或者使用JavaScript框架,学生仍需要了解原始的JavaScript代码,从而更深层次的理解模块的功能。学生学习和了解一些JavaScript框架,并不是要求学生去编写框架或者了解框架代码细节,而是让学生知道框架的作用,通过使用JS框架来快速的解决一些项目实际需求。这种利用现有资源结合编程实现的能力,也是工程实际中常使用的方法,利用他人已有成果和前人工作总结,可以提高学生解决问题效率。
  2.4 课堂教学编程和项目编程相结合
  JavaScript是浏览器的前端程序,我们在网站上看到的好的效果代码,都可以通过浏览器来直接查看JavaScript代码,这就很好的扩大了我们可以模仿的案例的数量,是自学和后期持续网络学习的首选语言。目前大多教师在课程验收中布置的网站制作,一般没有直接接触到现实因特网的应用,所以学生制作网页的创造力不够,很多实用知识得不到运用和体现,特别是网页优化、特效等最流行的技术难以融入自己的作品中[5]。例如计算机网络专业三年级学生已经学习了静态网站的课程,具备网站建设的基本能力,所以在教学中组建了虚拟开发团队,提供他们小型商业网站的编程项目和学校网站升级优化的编程机会,让他们“学有所用”,实践证明实用性项目更能激发了学生编程的动力。在课堂教学中,以案例为切入点进行课程讲解,充分调动学生的学习积极性。一般本科院校学生相对知识基础差,对于纯理论教学会比较厌学,而且两到三节课的教学常常难以集中注意力。针对这种课堂现象我结合JavaScript的大量短小的例子讲解,快速可视化的运行效果吸引了学生注意力,提升了课堂实际教学效果。
  3 面向市场提高学生JavaScript编程技能
  市场是最有效的试金石,JavaScript恰恰是一块经过市场检验的不断发展的脚本语言,从互联网起步简单的浏览器脚本语言发展到前后端通行、CS/BS兼容的现代成熟计算机语言,结合HTML5+CSS3工具,已经成为网站开发必备之利器。JavaScript也是一门很好的有面向对象特点的设计语言,该语言更加关注和用户的动态交互。在JavaScript教学中更把它作为一门实践的课程来教,课时中有一般是在程序设计实验室实践动手的,实践课程重点培养学生的“工程能力”和“实践能力”,并初步锻炼学生的“创新能力”和“团队协作能力”[6]。在实践教学中,将学生进行分组,同样的任务每个组可以以自己的创新方式进行完成,而且组内每个成员要完成一定的任务。
  有些学生虽然理论基础薄弱,但是操作动手能力较强,划分一些任务给他们是通过实际操作的过程带动编程理论的学习,通过实践试验反向带动理论学习,是实践推动理论的有效方式。基于工作过程的JavaScript教学不同于一般的知识学习,编程是一种劳动也是一种学习,编写的代码虽然有很多固定的模块,但是编程本身是创造的过程也是要不断练习的过程。不像英语或者物理等通用知识,编程需要通过计算机语言实现一定的功能,所以学生在学习计算机语言时可以发挥主观能动性,而不是被动的接收知识,可以模拟或者模仿经典的例子程序,但整个的编程代码还是需要自己劳动来完成。
  JavaScript语言不同于其他的计算机语言,它的代码编写完成后在用户自己的电脑上就可以调试和检验效果,适合于培养学生的编程兴趣。从JavaScript中获取的编程经验和编程技巧是可以适用于java、C语言等基础性语言,而JavaScript的易学易用性更适合当前的学生特点,不管JavaScript的知识掌握到哪一步,都可以有相应的程序可以编写。
  4 结束语
  实际市场中各大中小型网站的页面都需要掌握JavaScript编程的技术人员,JavaScript也是随着因特网发展而不断进步和完善的网页计算机语言,应用型院校学生掌握JavaScript语言将会拓展个人的就业面,尤其是计算机专业的学生,即使是其他专业的学生掌握JavaScript也是体现计算机素质的重要一项。不同于C语言等传统编程语言,也不同于html的简单脚本语言,JavaScript既有传统语言的语法和逻辑结构,又能有脚本语言易调测可视化的优点,学生看到自己编程的例子可以运行,他们的编程成就感会增强。计算机专业学生掌握JavaScript编程,可以通过编程的行为来学习计算机语言,从而达到在“做中学”的目的。通过基于实际案例的情景化javascript教学,学生的编程兴趣被调动起来,部分学生通过javascript编写了校园网站代码,甚至部分代码被学校网站所采纳,整个javascript教学效果不错,为学生学习其他编程语言铺垫了兴趣和实践的基础。
  JavaScript语言有很好的可移植性,学生可以在电脑、手机或者PAD上编程,只要有浏览器和记事本就可以编程,不限制于专用的IDE环境。而且学习的例子程序相对短小,利用一个空闲碎片的时间段就可以进行调试,比如学生在等公交车时,在室外环境下同样可以调试编写JavaScript代码。JavaScript编程会及时看到自己的程序运行于多个类型终端,这种所编及时得的成就感强化了学生的编程兴趣。
  目前我国信息产业快速发展,编程的就业市场非常大,类似JavaScript等计算机语言编程市场空缺也很大,JavaScript课堂教育就是使用实际工作的案例作为教学內容,以学生为教学主体,通过JavaScript作业练习引导学生提高编程能力。
  参考文献:
  [1] 王莹.JavaScript网页特效案例教程[M].机械工业出版社,2011.
  [2] 姜大源.论高等职业教育课程的系统化设计[J].中国高教研究,2009.
  [3] 何志永.JavaScript课程教学优化研究[J].教育与职业,2013(2).
  [4] 袁晔.案例教学法在计算机教学中的应用[J].中国职业技术教育,2007(22) .
  [5] 柯琦.JavaScript程序设计基础课程教学浅析[J].信息技术,2013.
  [6] 程凡.面向卓越工程师的软件工程专业课程体系建设[J].现代教育技术,2014.
  【通联编辑:李雅琪】
转载注明来源:https://www.xzbu.com/8/view-15128060.htm