NIIT课程的教学研究与探讨
2018-10-30桂易琪
摘 要: 计算机分为硬件和软件两大部分,从逻辑角度而言,计算机的软件部分可以使用高级语言转化为低级语言控制运行计算机并得到结果,能够有效地控制计算机完成相应的工作。本文讲述对包含多种计算机语言的NIIT教程的教学研究,并提出一些想法和对未来教学的探索。
关键词: NIIT;计算机语言;教学方法
近年来随着计算机软件的飞速发展,印度国家信息学院(NIIT)跟中国许多高校都有着良性合作;由于教材都是纯英文版,初学者有着双重的语言压力包括英文阅读压力跟编程语言阅读压力,往往教学效果不够理想,学生跟不上课堂的节奏,教学质量得不到保障。首先本文提出了NIIT教学过程存在的一些问题,然后针对相应的问题提出了一些教学研究的想法和探讨。
一、 NIIT教学中存在的一些问题
(一) 语言阅读问题
NIIT往往是从大学第一学年便开始教学,对于大部分刚刚升入大学的同学而言,编程语言英文阅读量是高中阶段没有遇到过的,往往阅读时找不出重点,而且由于刚刚接触专业知识,对专业术语不够敏感,往往错过重要知识点。英文解释理解不够透彻,也会加大程序代码的理解难度。
(二) 学生基础薄弱
对于专业的初学者,基础都是相对薄弱的,需要慢慢积累,想要快速地进入状态是有一定的难度的。NIIT课程包含JAVA、C、C++、C#等语言,还有一些常用的建模方法。由于语言的逻辑是有相关性的,上手一门语言后再学其他语言就会比没有基础的初学者相对比较容易一些。事实上学生会在很长的一段时间内处于基础起步阶段。
(三) 自主学习意识弱
大学前的教育都是应试教育和老师督促型教育,使得绝大部分学生都是服从心理,不去掌握自己的本学科的专业方向,进入大学之后,会有高等数学,大学物理等公共课程的困扰,再次让学生们继续高中的固定思维,缺乏培养自主思考和自主学习的意识。高等本科院校的每门课程是很重要的,虽然专业知识的课堂学习时间有限,作为工程性较强的计算机学科的学生应该要学会多面思考和自主充分合理地安排自己学习时间,自主安排学习的计划和任务,以更好的心态来学习计算机入门编程语言。
二、 NIIT教学的探讨与学习
(一) 理论与实践同步
“纸上得来终觉浅,绝知此事要躬行”,行内的大部分编程人员都认为,要学好编程就要多敲代码,多敲代码才能更加的理解代码。大学课程任务重导致学生没有充足课程时间进行实践,常常是在学期末进行课程设计,学生无法将实践与课堂同步,所以需要安排学生在相应的时间及时进行一些实践操作练习,同时布置一些编程任务和在线上讨论,以更好的对编程语言进行理解,吸收。
(二) 改变教学方法
在NIIT教材中,包含了大部分的主流编程语言,学生或多或少对其中的一些语言有所了解,可以借助语言间的一些语言逻辑上的相关性,掌握一些开发的基础经验,根据学生的学习效果,不断地调整教学进度和教学方法,为学生后面的课程打牢基础,学生才会有更多的自主时间。
在理论相关的教学中,结合书上的例子(需要学生自己输入、调试、运行)讲述一些比较难懂的知识点,应该具体的向学生展示知识点的运用效果,刺激学生的求知欲,学生在输入代码时需要在学生间巡视,以帮助学生所遇到的不能理解的地方,有利于提高学生的学习效率和学习热情。
本文提出两种使用案例教学的方法:第一种是分块教授,即用一个经典的比较短的例子实现相关知识点,比如可以在讲述for循环的时候用杨辉三角例子来具体实现,以便学生更加深入了解知识点,对知识点的运用和注意点都有更深刻的认识。第二种是整体教授,当学生掌握一定程度的知识点时,就是使用一个完整的软件或者程序代码,在敲代码的过程中运用知识点,学生对自己所敲代码的最后实现会充满着期待,必定会全神贯注输入代码,调试并运行。
(三) 任务驱动式
这里本文提出1+2学习模式,就是贯穿整个1学期阶段整体的项目任务驱动,可以进行一些小项目分组实现,首先要给学生分组,并给每组分配不同的项目,再在每个小组分组,把每个工作分配到个人,给学生进行分工讨论,以及项目开发所需要做的前期工作的时间,让学生学会独立思考以及分工合作,培养团队精神,在充分发挥个人的能力和特点的同时并拓展创新思维。任务是分为以下两个阶段。
第一阶段是授课阶段学习任务的分配,第二阶段是期末阶段学习任务的分配。在授课阶段,布置作业或者分配任务时需要考虑到学生的时间,一般只需要布置一些可以体现本节课堂知识点的小程序的设计就可以,当然不能壓制学生的自主发挥的空间,鼓励学生在实现任务所要求的功能时,可以加入一些自己的元素,比如添加一些小功能等等,可以把学生的作业当作期末总成绩的一项指标,刺激学生学习的积极性。而且当学生在实现过程中遇到一些问题时,教师需要能够及时解答,或者当学生在实现自己所添加的小功能时,教师在解答问题的同时还要鼓励学生多翻阅资料,增加学生对这一方面的兴趣,潜在地指出学生的研究方向(这对准备读研的学生尤为重要)。
在一学期教学的期末阶段,时间相对比较充裕,学生可以学会规划项目的功能,设计界面样式,按钮的设计,以及主要的功能和辅助功能的设计等等。教师可以帮助学生解决课程设计中所遇到的一些问题,指导学生把握项目的各个方面。在指点学生的过程中需要提出一些问题来考察学生的学习情况和知识点的掌握程度。
两个阶段都很重要,都能促进学生对编程语言的理解和运用,教师在教学的同时,应当注重在这两个阶段对学生的编码量,和代码质量的要求,有助于提高教学质量,达到所期望的教学效果。
(四) 代码回顾与创新应用
在学生完成一个小项目后,需要提醒或督促学生对项目进行回顾,再吸收,看看学生一段时间后能不能读懂自己所写的代码,以培养学生的编码风格,教师要督促学生在编辑代码的同时加上注释,这样可以增强代码的可读性和软件的可维护性;并对学生所写的代码进行评分,并作为评总成绩的一项指标。同时教师给出新的项目命题或者学生自主创新的IDEA让学生学期结束后用学的东西去实现。
三、 结束语
本文提到NIIT的教学方式对学生的学习和对代码的理解会有很大的提高。任务驱动式学习方式是以教师做好引导,在教学方法,课后作业,课程设计以及对学生的平常要求上都需要留意留心,并注重培养学生的自主学习以及创新能力。在学生之间互相的讨论和学习给项目提供有效的帮助,而且有助于培养团队精神。本文所提方法在教学的过程中,应当是侧向于引导的,大学教育不同于大学前教育,应当侧重于学生自主动手能力、兴趣和团队精神的发展。
作者简介: 桂易琪,江苏省扬州市,扬州大学信息工程学院。