项目化教学在C语言课程中的应用
2015-06-18姜鑫维
姜鑫维
项目化教学在C语言课程中的应用
姜鑫维
摘要:C语言是一门通用的计算机编程语言,C语言不仅功能齐全而且使用的范围非常的广泛,是很多大学计算机专业的基础课程。但是由于很多计算机专业的学生,刚到大学的时候没有很好的计算机编程语言的基础,在乍一接触到C语言的时候,面对抽象的指针、语法结构等问题的时候显得捉襟见肘,严重打击了学生学习的积极性从而给教学工作带来了一定的挑战,本文以项目化教学的方法探索C语言课程教学的过程,利用项目化教学方法将理论教学与实践教学相结合,全面提高C语言课程教学的教学质量和效果。
关键词:C语言课程;项目化教学;项目设计和实现
C语言不仅仅是很多计算机专业的基础课程,同时也是国家或地方计算机等级考试的科目之一。因此研究C语言教学不仅能够有助于提高计算机专业教学效果,同样也非常的适用于其他非计算机专业的学生。精通C语言的话,能够帮助学生构建编程解决问题的思维框架,对于学习其他的像C++、C#、JAVA等语言都有着非常好的基础,但是目前的C语言课程教学仍然非常的传统,很多大学都是仅仅的依靠教材并搭配C语言课程设计来开展的,通过按部就班的学习语法、语句等过程完成教学过程,教学过程最大的问题就是理论学习和实践学习是分离的,学习的过程非常的空洞而且抽象,导致很多学生学习积极性不高或者理论基础好但是动手能力不强等现象,严重的影响了学生后期的进阶学习。为了激发学生的学习兴趣,提高学生的学习效果,我们提出了项目化教学在C语言课程中的应用,下面阐述具体的操作过程。
一、项目化教学的概念及优势
项目化教学是为了解决某一问题或者项目,学生在教师的教学设计和安排下,通过学习整个课程的内容和实践操作从而实现项目的教学方法。所以项目是项目化教学的主线,在这个主线内部贯穿了教学的主要内容,由易到难,学生通过循序渐进的学习,不断的增进知识和解决项目的子模块,一步一步的最终实现整个项目的完成过程,项目化教学的教学过程安排不一定是一成不变的,但是核心都是通过项目的设计和实现来完成对学生能力的培养。教学过程中难点是需要充分的理解教材,毕竟我们的教学过程仍然少不了教材的支撑,然后结合学生的知识结合采用适合学生能力的项目,并积极的参与到项目的制作过程中,帮助学生熟悉和掌握基础的理论知识,并且逐渐的提高C语言的实际应用能力,这也是项目化教学与传统教学最大的不同之处,就是其对于实践能力和理论知识的结合。
二、C语言课程的项目设计
项目设计是实施项目化教学基础,一个合理的项目设计是一切教学活动的开端,也直接决定了教学效果和教学质量。因此项目设计的过程必然有一定的原则,首先是项目的设计一定要围绕教学的重点和难点来开展,而且项目的实现过程必须涵盖基本的理论知识点;其次是要能够充分的调动学生的积极性,为此我们设置的项目要有一定的难度,但是要充分的考虑到学生的知识结构和能力,使得学生能够在项目过程有一定的成就感,并选择趣味性较高的项目激发学生的学习兴趣;最后是项目最好有一定的规模,规模太大的话会严重打击学生的自信心,太小又起不到实际的效果,必须充分的结合理论基础知识的进度。为此我经过多年的C语言课程教学过程,在此提出三个项目设计为该类教学法的C语言教学提供参考。三个项目由简到难,分别是简易计算器、学生信息管理、扫雷游戏。简易计算器能够考察学生初期学习的语言结构,系统的能够实现简单的加减乘除运算,由于学生初次接触编程语言,这个简单项目的实现过程较为简单,项目虽小但是却能够考察学生能否将实际问题通过计算机语言来解决。学生信息管理系统,实现对学生成绩、姓名、年级等信息的增删查改几项功能,除了考察基本函数、数组和指针的利用之外,进一步的深化模块化程序设计的基本思想。而最后的扫雷游戏则是进阶教程,有一定的难度,是学生在系统的学习C语言程序设计的知识和思想后进一步的软件设计能力。三个项目贯穿教学过程的始末,相关的知识点也逐渐提高,为后期的项目化教学过程奠定基础。
三、C语言课程项目化教学课程设计
由于项目教学是和实践相结合的,所以我们将理论课的教学改到了机房,在机房完成授课的过程。学生在机房随时可以操作和实践理论知识,但是这个过程中我们不能忽视理论知识的教学过程,在系统的理论知识教学的前提下积极的以引导和监督学生实践操作的过程,对于学生遇到的问题及时的帮助解决,对于多数同学都容易出现的典型问题,进行统一的讲解下面以简易计算器项目为例,分析详细的教学过程安排。
1.项目演示引出学习目的
为此,我们可以利用多媒体教学设备在屏幕上演示这个项目的实现,即一个由C语言编写的简易计算器。根据所学知识,简略的概括项目的设计实现过程,构建教学情境。使得学生能够对于实现的项目有一个初步的认识,即通过课程的学习和操作想要达成怎样的效果,在进行项目演示的过程中我们切不可笼统的介绍,对于项目的分析一定要运用程序设计的思想,项目演示和分析的过程要具有一定的逻辑特点,拿这个计算器项目来说,它实现了哪些功能,功能实现需要什么知识,帮助学生能够将琐碎的知识合理的梳理起来。从而快速的上手,达到学习的效果。
2.项目实现提高学习主动性
任何编程语言的学习都离不开实际的动手过程,动手去做永远是抽象的编程语言学习的法宝。特别是在随着课程的不断加深,越来越多的新知识和新的思想被引入,在传统的C语言课程教学过程中,教师在介绍完这些新知识以后往往会将新知识与之前学过的东西进行联系和比对,希望学生能够快速的掌握新的语法和结构,但是这种授课方式严重的忽视了学生动手能力和实践能力,而项目化的教学方式是随着学生的动手过程同时开展的,我们在这个过程中通过精讲重点知识,鼓励学生动手去做的过程,其实也是敦促学生自主学习的过程,更多的理论知识的细节需要学生在项目操作的过程中通过发现问题、分析问题、解决问题的过程中去发现,并以此提高学习的质量,实践证明,只要项目设计合理操作得当,学生在学习的过程中积极性和主动性大大提高,教师要积极的抓住学生学习的积极性,在项目操作和实现过程中及时发现和矫正,加强学生对基础理论知识的理解,全面提高编程能力。
3.分组协同学习,提高团队合作意识
随着项目难度的不断提高,教师可以根据项目的特点把项目分成几个子项目。通过对学生学习能力以及性格的了解,采取科学合理的分组,将班级划分成几个学习小组通过小组合作模式协同完成项目计划的过程,比如学生信息管理系统的要实现增删查改几项重要的功能,由于项目相对来说较大,涉及到的知识面对于初学C语言的人来说非常多而且较为复杂,采取分组合作的模式能够使得学生通过合作共同解决难题,团队合作共同探索问题的解决办法,在合作的过程中也能够帮助小组内部成员发现自己知识结构中弱势,从而促进项目化教学的全面开展。
4.项目结果的评价与审核过程
项目评价过程不仅仅要针对于项目结果,更加要对项目实施的过程进行分析和评价,评价是知识结构升级和提高的重要手段,通过项目结果的评价和审核过程使得学生获得一定的满足感,C语言解决实际问题的方法和能力有很多,在课程之外,有着非常多的简化算法,因此对于项目实现的过程必然有一定的优劣之分,对于项目的评价结果还能够加强学生的竞争意识,促进进一步的学习动力。为此我们一定要摒弃传统的C语言课程教学中单一的教学评价机制和手段,采取多元化的项目评价方法。为此我们可以拟定一个三级综合评价方案:首先是自我评价,即让学生或者小组在课堂上讲解自己的学习成果,分阐述项目实现的具体过程,并评价自己程序或系统的效果,给自己的学习过程和项目成果进行评分;其次是学生互评,学生通过阐述自己的观点,合理的评价其他人的项目的优点和缺点,由于学生知识体系限制毕竟可能会出现一定的偏差和理论性错误,教师要监督这个过程并给予指导;最后是教师的总评,对于项目完成进行一个综合的评价,教师不应该仅仅注重结果,更加应该重视学生在项目实施过程中的努力,注重对学习过程的评价,尽量发现学生思维的闪光点,积极的鼓励和表扬并且能够对其中的经典错误进行分析,结合自己的教学经验和理论知识的深度,帮助学习理解项目中常见错误产生的原因。
四、项目化教学注重的问题
为了更好的开展项目化C语言教学过程,对教学过程中容易出现的问题进行分析,为此应该注意的问题有:
1.处理好与传统教学的关系
项目化的教学方法注重学生能力的培养过程,特别是在很多解决实际应用问题的过程中这种方法的优势非常的明显,但是由于理论知识和实践过程共同展开教学,并且是以项目为教学主线的因此不可避免的弱化了理论知识的系统化,然而传统的C语言教学过程则非常重视理论基础知识的教学过程,相对来说传统教学保证了学科的完整性,学生通过传统教学的学习过程能够更加全面的掌握理论知识,知识结构更加的系统和全面。因此项目化教学一定要处理好和传统教学之间的关系,在重视项目完成的过程中不能忽视基础知识的重要性,取长补短,及时的通过项目归纳和总结基础知识,保证知识的系统性。
2.教师对实践能力的教学效果
教师是开展一切教学活动的主导者,就专业知识的深度和宽度而言,大学的C语言教师都有着非常深厚的基础能力和实践能力,特别是很多大学老师在教学活动之余也参加很多大型项目的编写工作,但是由于长期进行常规的教学过程,对于学生实践能力的培养并没有系统的理论和方法,为此教师应该充分的结合自己的实践开发经验,结合系统的理论知识,通过自己遇到的项目问题分析和解决办法,言传身教提高对学生实践能力的培养过程,这也是项目化教学及其重要的环节。
3.引导学生动手操作,避免出现两极分化的现象
如果项目化教学的过程中,采取错误的操作或者方法,不仅不会促进学生学习的积极性,反而因为削弱了理论知识系统的学习,使得学生在项目化教学过程中无从下手,使他们感到陌生和困惑,大大降低项目化学习的效果。因此教师一定要避免这种情况的发生,对于基础较差的学生,一定要采取必要的手段帮助他们,教学的过程是针对于全体学生的过程,必须考虑到所有学生的能力,这也是项目化教学过程需要注意的最大问题。
五、结语
相比于传统教学方法,项目化教学不仅是一种全新的教学方式,就学生角度而言这也是一种学习方式的革命,为此在实施项目化教学的过程中,教师一定要充分的理解C语言的基础理论知识的结构,让学生积极的参与到项目中来,积极的促进去学习能、动手能力的提高,为以后的计算机课程学习打下坚实的基础。
参考文献:
[1]钱丽丹.项目化教学在C语言程序设计课程中的应用[J].软件导刊,2013,01:188-190.
[2]张蕾.基于项目化教学的“C语言程序设计”课程改革[J].计算机教育,2013,02:17-20.
[3]张晓.C语言课程项目化教学设计与实施[J].电脑编程技巧与维护,2013,08:133+144.
[4]叶煜,任华,丁莲.高职C语言课程项目化教学改革与实践[J].软件工程师,2014,07:47-48.
[5]杨俊红,侯丽敏.论项目化教学在C语言课程中的应用[J].河南科技学院学报,2010,04:114-116.
[6]王晓勇,肖四友,张文祥.基于能力培养的C语言项目化训练教学模式初探[J].计算机教育,2009,10:60-62.
[7]李彬.项目化教学模式在C课程中的应用研究[J].信息与电脑(理论版),2009,12:163+165.
作者单位:(湖北黄冈中国地质大学计算机学院)