【摘要】由于c语言程序设计课程内容比较抽象,加之传统的教学常以教师讲授为主,因此高校学生,特别是独立学院学生普遍反映c语言难学。文中笔者介绍了多年来在教学方法、教学内容和教学手段上所进行的改革,即针对独立学院学生素质特征,运用现代教学理论和技术所进行的新型教学方法尝试。
【关键词】独立学院c语言程序设计教学改革与实践
一、c语言程序设计的教学现状
c语言程序设计集抽象性、逻辑性、实践性于一身,在教学过程中解决好这三性就能提高学生的学习兴趣,减轻学习压力。传统的c语言程序设计教学中,主要以教师讲授为主,且在教学过程中采用的大多是纯数学的抽象案例,这对于高校学生,尤其是独立学院学生而言,既抽象又枯燥无味,因而难以理解和接受,起来自然没有动力,导致课堂教学质量不高,学生学习兴趣不浓,学习效果不佳,不能真正理解程序设计的精髓,进而普遍反映c语言难学。如何借鉴先进的教育理论和技术,转变教师角色,真正确立学生学习的主体地位,充分调动学生学习积极性,成为教学改革当务之急。
二、独立学院学生素质特征
独立学院是高等教育发展过程中出现的新生事物,它有自己独有的特征,应用型人才的培养是其目标,学生的素质与普通高校学生的素质特点又有一定差异性,若按照传统的教学模式,大多数学生的课堂听课情况不容乐观,注意力难以保持持续集中,如何保持较高的课堂效率也就成了每位教师所面临的一道难题。Www.133229.cOm针对这一问题,笔者一方面通过走访有经验的老教师,了解独立学院学生的学习习惯,另一方面通过对学生进行问卷调查及当面交流,对独立学院学生素质情况有了较为充分的了解与认识。
针对独立学院大多数学生一方面学习自觉性不高、依赖性强,往往满足于课堂上所学,缺乏刻苦学习精神,但另一方面对自己感兴趣的课程又十分喜爱,笔者根据其活泼、好争辩的特点,有的放矢的进行了教学改革,使课堂效率和学生的学习积极性都有了显著提高。
三、教学改革的重点
根据独立学院培养应用型人才的目标,以及独立学院学生的素质特点,结合自己多年的教学经验,通过对传统的“c语言程序设计”教学模式进行改革与实践,变老师主导型教学为与学生交互型学习的教学过程,在教学过程中不断探索新的教学方法和尝试先进的教学手段,首先,对教学用例进行了调整,用生活中常见的案例原型进行讲授。其次,充分利用现代教育技术资源,将实验环境搭建于课堂之上。从备课——上课——上机实践,进行了一系列的改革探索,很好地解决了c语言程序设计教学中出现的种种问题。结果表明:教学改革后,课堂气氛活跃了,开小差的同学少了,听课效率上去了,学生学习主动性也加强了,课外主动学习的兴趣浓了。进而,程序设计能力得到了普遍提高。
1.培养学生学习兴趣
程序设计是一种能力的培养过程,这就要求在教学时注重对学生的编程能力培养。而能力的培养主要是靠强化、靠反复上机实践去体会和理解的,是通过理论结合实践,不断启发、引导,采用先进的教学方法和与时俱进的教学体系实现的。在教学之初,首先给出c语言的用途以及学习本课程的目的,指出当前流行的unix操作系统等基本上是采用c语言实现的,许多网络及单片机、嵌入式系统以及各软件开发平台与c语言的相关性,强调了c语言的基础性和实用性。通过介绍,学生明白了该课程的重要性,对学习该课程产生了动力,增强了学习兴趣。在课程教学计划的制订中,我们注重加强实践与训练环节比重,按1∶1的理论课堂教学与上机实践时间进行配比,还强调了理论教学内的实践环节,使得实践课时数实际上超过理论课时数。教学强调一个“练”字,学生通过反复实践,增强了学习信心,课外也自觉学习了。
在教学中,注重把教学重心放在解决问题的算法分析上,培养学生分析与解决问题的能力。我们知道,算法的实现是围绕内存展开的,所以,在教学改革过程中,通过强调冯·诺依曼结构下的计算机运行机制,强调了内存的重要性,在教学过程中始终贯穿内存分配及缓存机制的实质。这样,在讲授数组与指针、结构体变量的内存分配时,学生理解就相对容易多了。在案例的选择上,我们通常采用生活中的趣味性、实用型的诸如水果拼盘问题、超市pos、学生成绩管理系统等相关模块进行教学。例:引入循环时,通过用一个简单的例子:一个同学准备围绕运动场跑十圈,请另一个同学帮忙计数,要求每跑一圈告诉所跑圈数信息。用通俗易懂,既能吸引学生,又易形成互动,活跃课堂,提高课堂效率的案例始终贯穿整个教学过程,注重从直观到抽象,从特殊到一般渐进地学习,既避免了许多教材主要是数学化抽象案例的弊端,也避免了学生在学习语法知识的过程中既要用心掌握好相关语法知识,又要分散精力去思考数学实现,从而减轻了学习负担,提高了学习热情。通过对案例实现过程的分析,引导、启发学生逐步理解与掌握分析解决问题的方法与步骤,使整个学习过程下来,既能轻松掌握语法知识,又能在分析与解决问题上有所收获。最终通过各案例相关模块实现融会贯通,加深对程序设计的结构化、模块化设计思想体会,真正达到学习c语言程序设计的目的。
2.教学手段的改革
在教学过程中,除加强正常的上机实践外,还注意教学手段的改革,充分利用现代教育技术成果。首先,在多媒体课件的制作上,注重吸取各教材之长,注重语法知识描述言简意赅,而不仅仅是教材的简单拷贝。在实践平台上,将该课程配套实验平台vc++6.0搭建于课堂之上,在语法知识点的讲授后,通过所选案例,让学生参与一起分析,一起写出算法描述,并在课堂上同步编写程序,然后调试和实现程序,使抽象的结果通过程序的运行得以实现,让学生眼见为实,所见即所得,减弱了程序设计的抽象性,加深了对程序设计过程的体验,使学生较轻松地逐步掌握程序设计的一般方法步骤。
在授课的过程中,注意充分应用教学辅助工具。例如:excel就是一个很好的对内存分配的分析和画程序流程图的辅助工具,在分析问题时,通过excel表格把抽象的内存图形象、清晰地展现了出来,取得可视化的效果,加深了学生对内存的理解,较好地解决了连续内存分配的地址计算和间接寻址问题,很好地解决了内存抽象性问题,不但加强了教学过程中的互动,同时也变学生被动学习为主动学习,不但丰富了教学手段,也提高了学生的参与意识和课堂效率,学生有了学习的兴趣,分析解决问题的能力也逐步提高了,同时还解决了学生听得懂但真正编程时无从下手的问题。
在学生具备一定的程序设计能力的基础上,通过在程序中有意识的错误设置,强调调试程序的重要性,让学生充分体验与掌握调试程序的方法,逐步提高学生独立调试程序,并在调试过程中发现问题、解决问题的能力,减轻教师在上机实践过程中的辅导压力,整个教学过程让学生在“做中学”,这也正是实用教育思想cdio工程教育模式的应用体现,让学生以主动的、渐进的、实践的、项目式的方法进行学习。
3.课堂外补充
作为一门程序设计类课程,仅仅靠课堂内的学习是难以熟练掌握的,必须在课堂外主动学习,通过不断强化,对语法知识加以灵活应用,才能熟能生巧。为方便学生学习,我们建设了自己的教学网站,提供了电子教案,课堂视频、作业系统、网上考试系统、网上论坛及网上答疑系统,同时在网站上还提供了许多c语言程序设计精品课程网站链接,每位教师与所带班级都建立了课程qq群,方便提问和答疑,让学生通过课外自主学习,及时的掌握所学知识。
4.提高教师素质
“双师型”的教师要求教师既要能将课上好,又要能将实际应用带入课程,使教学从实践中来,又服务于实践。随着教学改革的深入,现代教育技术和成果的应用,以及应用型人才培养的需要,对老师素质提出了更高要求。在将实验平台搭建于课堂之上后,由于是在课堂上编写程序,而不是已编写好的程序的展示,这就要求老师具有良好的计算机辅助工具的使用能力、字符输入能力和程序设计能力。对此,通过制度建设,我们要求老师在日常工作中狠下苦功,勤练基本功,积极参与到教学改革实践中,通过参与社会工程项目实践,与it企业结对子,到企业锻炼,合作开发等,采用各种方法、手段,不断积累项目经验,按“双师型”要求提高自己,以项目、案例式教学为主,满足了教学的需要。
四、结束语
要上好一门语言课,尤其是c语言程序设计这样的一门传统的程序设计入门课,除了要求学生主动学习外,教师还应因材施教,采用现代的教学方法与手段,使教与练相结合,切实解决好程序设计教学中易出现的问题,注意利用比喻、趣味、应用型案例来提高教学质量,这是在教学中转难为易的良好方法。
参考文献
1由布西.论后现代课程观对c语言程序设计教学的启示[j].计算机教育,2007(4):18
2侯英梅、袁瑾洋等.独立学院教学改革初探[j].科学之友,2008(2):128
3伍一、于冠达等.c语言程序设计与实训教程[m].清华大学出版社,2007.8