张俊林 广东理工学院
程序设计语言类课程教学改革探析
张俊林 广东理工学院
程序设计语言类课程教学内容主要包括“C语言程序设计”、“JAVA程序设计”以及“C++程序设计”等,传统教学方式以老师为教学主导地位且教学模式偏于程序化,这种方式使学生普遍感到这类课程学习难度较大且枯燥无味。为解决这一问题本文以现阶段程序设计语言类课程教学中存在的主要问题为切入点,通过任务驱动、运用实例、多媒体教学等创新性的教学方法对程序设计语言类课程教学方式展开研究和分析。
程序设计 语言类 教学探析
程序设计语言是学习软件开发、计算机程序应用等课程的学生的基础技能,只有通过程序设计语言的学习,熟练且全面掌握程序设计的步骤及方法,才能为计算机软件技术等更深一步的研究学习打造坚实基础。而作为教师,不仅要提高自身专业知识,更要对程序设计语言类课堂教学的内容及方式展开研究,防止学生的理论知识与实践操作脱节。本文中的任务驱动法等方式就能很好的将理论与操作结合,使同学们在充满兴趣与好奇的基础上达到教师的教学目的。
大部分学生在这类教学中出现的问题不是教学内容太难导致听不懂,而是上课听得懂但是一遇到动手设计程序的环节就错误连篇、失误连连,缺乏正确的算法思维引导,这可能是教师在教学环节中对实际操作的忽视引起的,原因可以归结为以下几点。
程序设计语言类课程的教学不仅包括对程序设计语言语法的讲解,更包括对算法的教学。由于传统教学方式中教师对语法的教学花费了较多笔墨,甚至教育学生从这类语言语法中得到启发从而做到举一反三,由于课堂时间有限,加大了这一部分的教学内容就必然会缩短算法等的教学时间。久而久之就会影响到学生对算法的掌握程度,这导致教师对算法的讲解越来越困难。学生缺乏对研究计算机实际编程或项目的应用工具的掌握和理解,从而影响到学生在程序设计和上机过程中正确的分析问题和解决问题的能力。
由于该类课程授课任务量较大且难度系数较高,因此多数教师为了追赶教学进度通常会选择以教师为主导的讲授式教学模式,忽视了学生作为课堂主体的作用。由于教师与学生的沟通、互动环节出现问题,教师无法掌握学生的疑难点,学生也只是单纯听教师讲课,并没有进行独立思考或进一步研究。即使在课后进行及时的编程操作,也通常会使学生感到无从下手,久而久之就会对这门课程产生厌学心理。
对于教师来说,应通过这类课程教给学生的专业知识以及综合素养,有目的并计划性地进行教学活动,培养出一批又一批专业知识过硬、综合素养较高的现代化学生,其中教学目标总结出来主要有以下几点。
一是通过具体实例向同学们展示一些基本概念的内涵,使学生从根本上理解程序设计的基本概念,并为以后进一步的学习打下坚实基础;二是加强学生对某些基础概念的理解,防止学生不重视这类学科的基础概念;三是通过动画、图例等加大对计算机数据处理的基本原理和过程的讲授,这样有利于学生真正理解这类课程的基本原理,防止学生越学越模糊。
在课堂中使学生通过对基本函数以及语句结构的学习,逐渐掌握程序设计语言类课程结构化的基本特征,学会运用结构框架理清思路并解决问题。无论是程序设计的基本方法还是结构框架的构建原理都是有固定的结构模式的,要通过清晰的思路向同学们展示“单口入、单口出”以及“自上而下、先简后精”的基本结构原理。教师应学会将复杂冗长的定义以及步骤总结为简单易记的短句,这样就使同学们在程序设计操作过程中自然而然的将新知识运用起来。这种教学技巧比起空洞乏味的说教式教学模式更容易让学生接受,并且使学生牢记于心以熟练运用。
通过对学生计算机算法设计能力的培养使学生了解对计算机将输入转化为输出的过程,理解计算机执行命令的大体过程。一是教育学生在程序设计中对每一步都要进行合理的输入,并且通过计算机算法的角度考虑上一步或下一步输入的命令是否能被计算机语言理解并进行命令执行,若命令模糊则无法实现;二是对程序结构顺序有一个全面并清晰的思路,明白上一步的命令是什么、在哪里,绝对要遵从计算机算法设计“确定性”的基本原则;三是保证整个算法过程的有限性,即使算法相对比较复杂也要保证“有始有终”,使学生明确若整个算法设计成有头无尾的无限循环模式则不能称之为算法;四是教给学生基本的函数公式以及重要算法,例如学会通过二分的方式取得查找值算法或最大期望算法等,通过教给学生设计算法的工具加强学生的专业能力。
通过对近年来学生兴趣及性格的变化观察结果看,传统讲授式教学模式虽然能在较短的课堂时间内完成较多的教学任务,但是容易使学生感到枯燥且效率低下。因此针对现阶段学生的特点以及教学成果,教学方式创新思路可总结为以下几大内容。
为提高课堂效率并使学生尽快融入到课堂氛围中,教师应擅长应用一些典型并相对比较简单的教学实例,将学生引导进课堂讨论中,但要注意在这个过程中加强对学生学习兴趣的培养,这是学生提高课堂参与积极性的重要前提。一是先向学生展示几个比较简单的编程题目,向学生展示这门课程的简单易学性,防止学生从开始就失去对程序设计学习的兴趣,从而影响学习效果;二是向同学展示程序的演示步骤,使学生充分意识到程序设计语言的实用性和结构性;三是教师要擅长通过类比的方式,将部分难懂的题目形象化,复杂的步骤简单化,这样才能有利于学生在较短的时间内掌握更多的知识;四是引导学生养成一题多解、举一反三的学习习惯,在课上多举一些可以一题多解的实例题目并让学生独立思考,请学生讲出自己应用的方法并展开积极讨论,加强学生对所学知识的理解程度。
多媒体教学的主要特点就是形象、直观且快捷,教师要在课前做好相关课件,这样一来很多原本需要在黑板上展示的程序步骤、逻辑推理结构以及较难理解的理论等就能够方便快捷的在多媒体中通过图片、动画等方式显示出来,不仅使要表达的教学内容形象化,更能节省大量教学时间。教师可以利用节省下的课堂时间让学生充分练习习题或互相讨论做题方法等,丰富课堂环节。多媒体辅助教学的方式能够高效的使复杂的程序简单化、枯燥的内容形象化。但是教师在操作过程中要注意集中学生注意力,防止部分学生利用课堂上的互动时间无所事事,不主动、积极地参与到课堂讨论和问题思考中来。
虽然在理论课上教师承担主要教学任务,但是在实践课中教师应转变教学方式:由理论课上的讲授者转变为实践操作课中的指导者。教师应保证学生有充分的时间进行程序设计操作,学生遇到操作困难时不要急于进行指导,应给出学生合理的思考时间,使学生意识到自己的错误点并对理论课中学到的解决方式尝试进行纠正,若学生仍搞不清出错的步骤或原因时,教师才应给予指导。这种教学方式不仅能够给出学生独立思考的时间,更能使学生对错误原因产生深刻印象,因此教师应要求学生在上机课中不仅动手,还要主动动脑。
任务驱动学习法是指学生在任务驱动的前提下,通过主动思考、团队协作和共同探索的学习方法,在任务驱动教学中教师不再是传统意义上的讲授者,而是任务的下达者、资源的提供者和思路的引导者,学生在这个过程中由被动接受者转变为主动探索者。教师可以帮助学生设置一个生动的学习情境,并提出相关任务、给出学习资源,让学生通过分组展开思考与讨论,最后进行学习成果展示和自我评价,同时也能在这个过程中找到自己和别人的差距并发现别人的优势,在良性循环中不断进步。这种学习方法在程序设计语言类课堂中的效果尤其显著,由于传统课堂比较枯燥,很多学生对编程不感兴趣,而通过这种学习方式就能够将同学拉进课堂思考中来,使学生在任务驱动的激励下体会探索问题并解决问题的成就感,将传统一元化讲授式理论课堂转变为多元化任务驱动情境。
总结:虽然程序设计语言课程难度系数较大,但是能够培养学生清晰的逻辑思维,并使学生能够通过计算机语言解决实际问题。而作为教师,首要任务就是培养学生的学习兴趣、不断纠正低效的教学模式并创新高效的教学方法,使学生积极参与到程序设计课堂中来。本文针对现阶段课堂模式的不足提出了几项教学方法的创新点,以期对程序设计课程教学效率的提高有所帮助。
[1]江南,王春枝,康瑞华.计算机专业程序设计语言类课程教学改革的思考[J].计算机教育,2017,(05):42-44.
[2]赵卫东,冯超男,张丽.基于计算思维的程序设计语言类课程教学改革[J].计算机教育,2016,(12):28-30+34.
[3]靳新.浅谈项目驱动教学模式在《Struts2程序设计》课程中的应用[J].电子制作,2015,(16):61. [2017-09-23].
[4]穆雪.案例教学法和项目教学法综合运用的研究——以高职计算机语言类课程为例[J]. 辽宁高职学报,2014,16(01):36-38.
[5]陈福林.计算机语言类课程“任务驱动”实践教学探索[J].教育与职业,2014,(24):148-149.
广东理工学院教改项目,《网络操作系统》课程改革与研究(JXGG2016005)
张俊林(1978—),男,安徽涡阳人,硕士研究生,讲师,研究方向:网络安全、物联网技术。