第一篇:项目教学法在C语言教学中的实践与研究
项目教学法在C语言教学中的实践与研究 刘志宏1 刘舟荷2 张雯晖3 段需勤4 孔丽5
【摘 要】项目教学法作为一种优秀的教学方法,在职业教育领域有着广泛的应用前景。本文通过对C语言教学的特点与难点进行分析,并结合自己的工作实践,对C语言教学中如何运用好项目教学法进行了深入的实践与研究。【关键词】项目教学法 C语言 引言
目前,国内高职院校通常都将C语言作为计算机相关专业学习程序设计的基础性语言,虽然,作为一个优秀的程序设计语言,C语言几乎可以用于任何软件的开发,被认为是最受程序员欢迎的语言,但是,在实际的教学过程中,很多教师往往只注重语法等基本知识的讲解,没有体现出程序的整体概念和软件工程思想,使得很多学生在学完这门课程之后,对程序设计没有一个完整的认识,更谈不进行实际的软件工程项目开发,理论与实践脱节。如何解决程序设计语言教学中普遍存在的教学与实践脱节的问题,让学生对程序设计有一个完整的认识,并建立起软件工程的思想,是值得我们每一位从事程序设计语言教学的教师去认真研究的课题。项目教学法简介 2.1 什么是项目教学法
项目教学法,是师生通过共同实施一个完整的项目工作而进行的教学活动,其目的是在课堂教学中把理论与实践有机地结合起来,充分发掘学生的创造潜能,提高学生解决实际问题的综合能力[1]。
项目教学法的教学过程,一般分为五个阶段,即下达任务、计划制定、项目实施、效果展示、项目评价。教师可以根据实际情况将每一个项目分成若干个课题,每一个课题可以作为一个教学小单元来组织教学。下达任务阶段,教师布置任务,帮助学生理解任务要求;计划制定阶段,学生一般以小组方式工作,寻找与任务相关的信息,制定学习(工作)计划;项目实施阶段,学生根据计划完成设计与模拟,做好有关文字记录;效果展示阶段,学生采取各种手段展示出任务完成的效果;项目评价阶段,学生自我评价、其他同学评价、教师评价。整个的教学过程,就是以学生动手为主,教师的作用就是一个被咨询者,回答学生遇到的各种问题,这种互动过程能极大地提高学生学习的积极性[2]。
2.2 项目教学法的特点
项目教学法是在教学过程中以项目为主线展开,把相关的知识点融入到项目的各个环节中,它具有如下特点:
1)项目过程以学生为主体。从项目计划的制定、项目的实施到项目的验收与评估都是以学生作为主体,极大地调动了学生学习的积极性,学生通过完成与专业相关的具体工作任务,培养了学生分析问题和解决问题的能力,从而提高了学生的专业能力。
1.精心设计软件项目。项目教学法的关键,是设计和制定一个合适的软件项目,把相关的知识点融入到项目的各个环节中,该软件项目应该是来自企业的真实项目,同时,为满足教学的要求,可对项目进行必要的修改和分解,使其具有适当的难度和规模,确保学生在项目实施的过程中能有效地运用新学习的知识和技能,并最终完成作品。
2.构建与实际工作环境相似的教学环境。按照真实性学习理论,以来源于企业的项目为载体组织项目课程,同时,还应构建与实际工作环境相似的教学环境,按照实际软件开发过程中的分组协作模式进行教学,使学生了解真实的企业工作过程。
3.进行必要的解释与引导。虽然项目教学法提倡以学生为主体,由学生自主完成项目,但教师在下达任务之后还必须在适当的时机介入学生的项目活动,对新的知识进行必要的讲解,并引导学生将新知识运用到项目中,以达到教学目的。
4.给予恰当的评价与鼓励。按照鼓励教学的理论,适当的鼓励有助于提高学生的学习积极性,激发学生的创造潜能。教师在对学生的作品进行评价时应尽可能地发现作品中的闪光点,并鼓励学继续努力、不断完善,从而增强学生的自信心,提高学习的积极性。项目教学法的分析与研究 4.1 教学效果分析
经过我们的教学实践发现,采用项目教学法进行C语言教学的班级有以下显著的变化: 1)学习氛围发生明显的变化。传统模式教学的班级课堂上,学生死气沉沉,大多数学生在睡觉或看其它书籍,只有少数学生在听课,而采用项目教学法的班级,绝大部分的学生都积极地参与到项目中来,并能主动地承担项目中的任务,查找资料,或向老师咨询解决问题的方法,而这种学习氛围的变化还带动了其它课程的学习积极性,整体班风、学风明显进步。
2)学习能力得到提高。按照终生学习的理论,学习能力的大小将决定其最终取得的成就。经过项目教学法锻炼的学生,往往更容易找到问题的关键,并学会通过各种渠道去探索思考解决问题的方法,而不是一味地依靠老师,在项目过程中提高了学习的能力,这对学生今后的发展非常重要。
3)团队意识普遍增强。项目的开展过程就是一个团队协作的过程,这种长期的团队协作共同完成项目的经历,使学生真正体会到团队协作的优势,并最终形成团队意识,这种团队意识不仅表现在C语言的学习过程中,并被带到了运动会、艺术节等各种集体活动中。
4)学习效果明显不同。虽然,从学生期末考试的成绩上看不出这种学习效果有什么明显的提高,但是,在我的后续课程《软件工程》中发现,经过了项目教学法学习的学生,非常容易接受软件工程的思想,能将它与之前学过的C语言联系起来,并运用软件工程的方法完成软件的开发,而以往的学生要理解软件工程则要困难的多,并且很多学生直到毕业也不知道如何开发一个完整的软件。
4.2 存在的问题与不足
第二篇:多维度教学法在C语言教学中的研究与实践
多维度教学法在C语言教学中的研究与实践
摘要:多维度教学方法作?橐恢钟判愕慕萄Х椒ǎ?在职业教育领域有着广泛的应用前景。该文通过对C语言教学中的研究,对C语言教学中如何运用好多维度教学法进行了深入的研究与实践。
关键词:多维度教学;C语言教学
中图分类号:G424 文献标识码:A 文章编号:1009-3044(2018)13-0097-03
目前国内高校都将C语言作为计算机相关专业的必学语言,也是基础语言。虽然,作为一个优秀的程序师,C语言可以运用到任何软件的开发,被认为是最受欢迎的语言。但是,在实际的教学过程中,许多C语言老师只是片面的教一些理论知识,而并未将其与软件开发结合起来。由此许多同学在学完这门课程后,似懂非懂,只知道语法知识,对于实际的应用并不那么熟练。这就是C语言教学中存在的问题,我们应尽力去认识并解决它。多维度教学
1.1 什么是多维度教学
多维度教学就是从多个方面对一个对象进行研究。而在教学中多维度教学目标是知识与技能,过程与方法,情感态度与价值观。其中知识技能是核心目标,技能方法是伴随性目标,情感态度是深层性目标。也就是说,在教学过程中,不仅仅是简单地传授书本知识,更要教学生独立去思考去探究,知道学习的过程与方法,并要引导学生主动愿意学习,让学习成为他们的兴趣,如此而来,他们在学习中的情感态度才是积极乐观向上的。这样也达到了培养情感态度的目标。
1.2 多维度教学的特点
1)多维度教学的主体是学生。利用案例式教学时,其难度具有渐进性。从不同的层面,不同方向来进行教学。我上文所提到的多维度教学的第一个目标就是知识与技能。老师在课堂上运用不同方法来教授书本知识,并举一反三,拓展课外相关知识。在学到基础知识的同时,教会学生查找例题,并利用已知知识论证例题的技能。第二个目标是过程与方法。这就要求老师在教学过程中,注重整个过程,要求学生积极参与进来,一起享受过程的乐趣。老师可以提出一个问题,然后学生互相讨论,找到解决问题的多重方法,在寻找的过程中对知识印象加深。学生不仅参与了这个实践过程,还找到了学习的方法。知道了自主学习的必要性,自主探究的重要性。最后是情感态度。不是每一个学生都对学习有足够的兴趣,也不是所有学生都有学习的天赋。有些学生喜欢学习,将学习当作自己的一个兴趣,因此会乐意为此付出时间与精力;而有些学生,并不太擅长学习领域,或者并不喜欢这个领域,由此会对学习产生厌恶,时间一长,就会对学习完全丧失信心。多维度教学可以针对不一样的学生,采取不一样的方法,难度适宜。比如对于学习能力强的同学,可以多扩展一些课外知识,或者多鼓励他们去探索;而对于不太理想的同学,其首要前提是不能让他失去学习的信心,可以教些基础知识。这样每个人都学到了东西,每个人都能投入到学习中。老师的深层教育目标就是要时刻关住每个人的心里状态,当有人心理发生波动时,老师需要作为过来人,作为一个朋友的身份,来开导,让其态度回归正轨。
2)多维度教学顾名思义,从多个角度来教学。狭义一点来说,就是教学方法有多种,并不局限于一两种。比如对于高中语文古文《出师表》的学习,我们都知道出师表篇幅很长,里面的古今异义词很多,是块难啃的骨头。因为高中时间很紧迫,学生学习的主要目的就是应付高考,因此,对于《出师表》的学习,不会用多种方法来教学。很多老师可能只是让同学听会录音,然后让学生背诵写来就好。那么问题来了:一篇现代文要是不理解,想背下来都难,更何况是古文呢?这时候老师的教学方法需要多维度来维持。比如,老师可以借助计算机网络,播放一段相关视频,或者让全班同学一起诵读,再可以让几个同学分角色朗读。在读的同时,引导学生体会诸葛亮当时的心理状态,临表涕零是种怎样的状态。这虽然只是方法的多重性,也是多维度的一个反应。在这个过程中,不仅调动了全班同学的积极性,而且还让学生一改以往的学习模式,了解到多种方法,找到适合自己的,才能学习得更好。
3)多维度教学使课堂更具趣味性。传统教学模式局限于老师在讲堂上,对着黑板版书,照着课本讲解。学生就是被动接受知识的身份,整个课堂气氛沉闷。在传统模式下,对于老师这个身份,学生产生了敬畏之情,不敢向老师提出质疑。而多维度教学提倡多角度教学,比如可以改变传统模式,开展小组活动教学,课堂中引入趣味性的编程案例。这样一来,学生变成了学习的主体,主动参与学习中来。老师作为一个引导者,将大部分时间交给学生。学生分为四至六个人一组,在小组中进行自主预习,讨论。对于同一个问题,每个人都能提出不同见解,然后将所有人的想法进行汇总。在后期的小组展示中,可以采取竞争的模式,组与组之间进行比拼,回答问题者采取加分模式,直到下课,分出决胜小组。如此一来,有了竞争意识,每个人都不想做最后的那个小组,其积极学习意识在无形中提高,会让越来越多的同学主动参与到学习中。这恰恰是多维度教学中趣味性的体现。多维度教学在C语言教学中的实践
2.1 什么是C语言教学
C语言是一种面向过程的结构化程序设计语言,它的发展贯穿了整个计算机的发展历程。它蕴含了程序设计的基本原理,概括了程序设计的基本概念。所以,许多高校都将C语言作为计算机教学的入门学科。
2.2 C语言教学中存在的问题
1)无法调动学生学习的积极性。
C语言本身不具有趣味性,甚至还有些许无聊。刚进入大学的学生大都是第一次接触这种语言,以前基本没尝试过。因此其基础较差,一切都是从零开始。而C语言教学中灵活的语法,丰富的数据类型,众多的运算符,庞大的函数库,如果按照传统的教学方法,逐一讲解,不仅浪费时间,而且教学内容特别冗杂,十分不方便。而且对于一些基础好的学生,在讲解的同时,举一些连心算都能算出来的例子,会让那些同学觉得无聊,这根本不是他们所想学习的内容。而对于基础差的同学,其教学内容太多了,上一个知识还没消化,下一个知识点就来了,完全将其当作第二语言,这样一来,所有的知识点都似懂非懂,实践起来根本无从下手,而且根本调动不起来学习的积极性,会将这门语言当作学习的负担。
2)无法让学生理解软件工程的概念。
传统的教学方式,都是老师在黑板上照着书本讲,学生在下面被动地听。有些知识太过抽象,老师也只是一带而过,不举出实例加以方便理解。这就造成实际与知识点的脱节。在C语言教学中也同样存在这个问题,许多教C语言的老师教了十几年的C语言,都只是参照书本来给学生灌输相关概念,并不带入到实际中去。甚至一些教C语言的老师连一套程序都没写过,都没开发过一个软件,只是空有理论知识的基础,却不知道如何实践。那么学生也只是知道一个理论,四年大学学下来,不知道怎么运用于实践,在工作中一点作用都没有,想将C语言运用到今后的实际工作中,这样的教学显然是不成功的。因此要讲教学与实践结合起来,在学习理论知识的同时,学着将其运用到编程软件开发中。最开始,不需要太严密的软件开发,只当作一个练手,其主要目的就是将理论知识运用到实践中。
2.3 如何运用多维度教学进行C语言教学
1)改变以往单纯传授方式。
在课堂上多激发学生的学习积极性。老师针对不一样的知识点,可以首先简单做一个程序,让学生更直观地去了解到此节内容学下来之后,可以做什么。再有了大致了解后,老师在进行详细教学,多利用教学工具,比如数据模型,在枯燥的程序教学中 可以穿插计算机出现的相关故事。故事是具有情节性的,方便于理解,这样可以吸引学生注意力,也可以让学生暂时放松下飞速运作的大脑。毕竟,C语言的学习本身就不像古语言文学那般,有着基本的中国历史的了解,跟我们的距离也更近一些。如果在教学的过程中,还是枯燥无味,很难让同学一整节课下来,都集中注意力。而且现在科技的进步,社会上也有许多诱惑 大学生的思想体系本来就不太成熟,对于辨别是非的能力也不那么完善,就拿手机来说。大多数学生,在课上无聊时,会拿出手机打发时间。所以,必须采取多个角度来进行创新教学,尽可能把学生的注意力吸引到学习中来。
2)进行必要的解释和引导
虽然我在前面提到过,多维度教学将注意力从老师上转移到学生上。但毕竟学生的知识面有限,对于许多问题的看法知识浅显的,不能很深入。这时候就需要老师站出来加以引导和解释。对于同一问题,老师可以举一反三,扩展更多的知识面。让学生的知识更有严密性组织性。C语言不像其他学科,其知识很具有科学性,老师不做解释很难理解。其实,老师还是利用多维度教学,将同学分成几个小组,每个小组选一个小组长,这样一来,老师可以给每个小组都进行实际操作,学生少的条件下,每个人都能看得清楚明白。而且,就算再有不懂的,也可以请教同组同学,同学之间讲解起来会容易理解,因为同学之间不存在对老师的那种不敢提问的问题。
3)学会给予适当的鼓励和评价。
每个学生在学习过程中,都需要被鼓励。不论基础好的同学或是基础差的同学。一些适当的鼓励,会让基础好的同学有了学习的拼劲,会在现有基础上,更加努力,从而提升到另一个层次;而对于基础不太好的同学,适当的鼓励会让他们意识到,老师其实并未放弃他们,他们也是同样被老师重视的,如此,他们才会不丧失学习的主动性,虽然学习进度没那么快,理解力不那么强,他们也会一步一步,一点一点,慢慢弄懂。老师对于两类学生制定的目标也要因人而异,不能笼统要求所有学生考到多少分以上。这是极其不公平的,老师要根据每个人的能力,制定不一样的目标,只要每个人都能达到属于自己的目标,那就是进步,就是相对意义上的成功。多维度教学在C语言教学中的分析与研究
3.1 教学效果分析
在将多维度教学实施到C语言中的同时,可以得到以下效果:
1)学习氛围发生明显变化
在改变了方法之后,课堂上的学习氛围明显提高。传统课堂上,学生死气沉沉,全程只听到老师一个人在讲,有兴趣的同学会跟着老师的思维走,但不感兴趣的同学会默默地玩,根本不参与到学习中。如今上课已不再是老师一个人的独角戏,现在更多的同学主动参与,共同学习。遇到不懂的问题,也敢举手及时与老师沟通交流,能提出质疑就说明学生在思考。而且在老师提出一个问题后,同学们之间会相互讨论,会查找资料来印证自己所说的,在这一过程中,老师与学生的关系会变得更加亲密,同学之间的关系同样会更加亲密。这种氛围会促进学生学得越来越好。
2)学习能力得到提高
每个人都参与到学习中,或多或少都会在原有基础上得到提高。提高的不仅仅是成绩 还有学习的方法跟态度。态度与方法是十分重要的,端正了态度,才会想要学习,有了正确的学习方法,学起来才会少走许多弯路。每个人在积极参与课堂学习的过程中,自主学习能力提高,自我控制能力也加强。基础好的同学在给基础差的同学讲解时,一方面加深了自己对知识的印象,另一方面,口头表达能力也得到了提高。因为有许多成绩好的,只知道怎么做题,怎么分析题,却不知道怎么把自己知道的讲解出来。或者说讲解出来的过于混乱,这就是只能意会不能言传。这种学习方法得到改善后,表达不好的同学可以不断练习,其表达能力也在无形中得到了提高。
3)团队合作意识加强
我上文提到过的,多维度教学的一个小例子,可以进行小组活动学习。传统模式中,成绩好的在不断学习中还是成绩好,而成绩差的也还是成绩差。这样两极分化十分严重。但有了小组学习后,让所有同学都参与到学习中,同学之间有了交流,成绩好的也可以给成绩差的进行讲解。而且还采取小组评比的模式,??让小组里的每个人都团结起来,因为那时小组便是一个整体,代表着组内的每一个人,所有人都会为小组的荣誉努力,在这个过程中,同学之间的团队意识加强,两极分化也会得到改善。同学的关系也会出现前所未有的和谐美好。小结
与其他教育大国相比,我国的教育虽不那么完善,但我们会积极采取各种方法,想出各种对应策略,使教育在很大程度上散发光彩。多维度教学在C语言教学中就是一个改善教学方法的实例,而且这一实例也得到了很大的效果。所以,我们也相信,多维度教学法的成功应用可在更多的课程中开展。
参考文献:
[1] 刘亚辉.C语言教学引导与实践设计方法研究[J].学科教育,2014(6).[2] 刘志宏.项目教学法在C语言教学中的实践与研究[J].方法研究,2012(5).[3] 陈佑清.教学关系: 多维度的把握[J].基础教育课程,2013(3).
第三篇:项目教学法在C语言课程教学中的应用
项目教学法在C语言课程教学中的应用
摘 要:C语言作为目前应用较为广泛且功能较强的一种计算机语言,其表达语句比较丰富,较为功能强大,使用灵活,应用范围广,既有高级语言的优点又有低级语言的许多特点,具有综合性,各种机型都适合C语言程序的开发。研究提高C语言的教学效果就是使用项目教学法。项目教学是指学生在教师的指导下,通过处理一个完整项目的全过程,在这一过程中学习掌握教学计划内的教学内容,以充分发挥学生的创造力和潜力,提高学生的兴趣,培养解决实际问题的综合能力。项目教学法在C语言课程中的应用已经取得了较好的成果。文章对项目教学法做了简单介绍,综述了项目教学法的含义以及项目教学法在C语言课程教学中应用的过程,介绍了项目教学法在C语言教学过程中的注意事项,为推广项目式教学法运用,提供一定的借鉴。
关键词:项目教学法C语言课程教学应用教学方法
一、项目教学法
(一)项目教学法的含义
项目教学法是一种专业教学中将普适功能教育目标,如解决实际问题的综合能力、团队合作意识、独立自主能力等突出表现出来的教学方式。美国项目管理专家约翰·宾认为:“项目是要在一定时间里,在预算范围之内所需达到预定质量水平的一项一次性任务。”它是一种基于完整人格发展的学习方式,旨在使学生在项目运行过程中获得项目所需的职业能力,并将课堂所学的理论知识在实践过程中有效结合起来,充分发挥学生的主观能动性,以提高学生的综合能力,使学生成为一个成熟的社会主体。
在项目教学法在C语言教学实施过程中,首先需要老师将任务以项目形式布置给学生,学生进行小组分工,学生再充分发挥自主性,共同制定计划,进行有计划的活动,共同讨论、解决项目运行过程中出现的问题,最终完成整个项目。项目教学注重的不是最终的结果,而是整个项目运行中的过程,学生在项目中获得与C语言相关的专业知识和实践能力。
(二)项目教学法的特征
项目教学法在国际教育内被广泛应用,作为一种新型教学方式,与传统的教学方式相比有很大的突破:更加注重学生的实际经验而不是课堂的理论知识;更加注重学生主动获取知识能力而不是以教师给予学生被动吸收知识;更加注重项目运行的效益而不是课本知识的效益。项目教学法具有以下几个特征:
1、具有很强的社会关联性和实践性。项目本身“源”于企业,项目的主题与真实社会密切联系,在真实的环境中通过实践来获取实践经验,由浅入深,选择的项目具有实践性、典型性、实用性。项目结果产生的社会关联作用与应用于今后的职业工作的意义,能够发展更高的责任意识。
2、具有自主性。自主是项目运行的内在要素,项目的目标、计划、实施、总结都应该由学生自主制定。
项目教学法给学生提供根据自己的兴趣爱好选择内容和展示形式的决策机会,不仅能让学生能够自主积极地学习, 更加能充分发挥学生的创新意识,培养学生综合能力。
3、具有需求指向性和发展性。项目的制定体现了学生学习需求,在项目运行过程中促使学生学习动力与项目具有认同感。项目运行的运行过程中,长期项目与阶段项目结合,整个过程就属于实现教学目标的认知过程。
4、具有评价灵活性。教师对项目教学的评价更加注重学生在项目活动中能力发展的过程,测评内容包括学生参与项目过程中各环节的表现及总结作业质量,这样就解决了传统的一张试卷定成绩的弊端。测评可以采用多种方式,如自评、小组评、教师综合评等方法。
二、项目教学法在C语言教学过程中的应用
(一)项目教学法在C语言教学中注意的问题
项目教学法在C语言教学过程中的实施,为了更好地开展课程设计教学,经过反复的实践和探索,总结出了学生在项目实施过程中存在着两个问题:第一,在教学内容上,由于教学内容受前导课程的学时限制,导致许多教师对C语言的相关知识、指针、结构体、共用体和文件基本操作的知识传授不够完善、系统,所以就更不可能用实例来论证加深学生理解了。因此,教师的教学应该突出针对性,讲究效率,实施区别式的、辅导性的、实例化教学。第二,学生缺乏项目管理知识,在原有C语言专业知识薄弱的情况下,缺乏项目管理知识。针对此情况,教师应该在增加学时的基础上加强对学生的知识补充,安排曾经做过项目比较有实践经验、且比较突出的学生,辅助介绍项目教学法在C语言教学过程的的注意事项。包括项目准备工作,如何选定课题、如何进行信息检索,查找资料、如何复习C语言知识,加强相关专业知识;项目实施过程中要完成的工作,如何进行市场调研、如何设计问卷、如何做需求规格分析说明书、如何做概要设计说明书、如何做详细设计说明书、如何选择使用代码编码器代码编写注意事项;项目完成总结工作以及作业提交的,包括了如何写程序测试事项、如何写课程设计报告等。在学生介绍自己项目过程,教师可以进行点评讲解,适时给予肯定或指出不足之处,应针对学生发生的问题,给予指导。
(二)项目教学法在C语言教学过程中注意事项
1、项目的设计
(1)精心设计项目,使项目具有层次性,优化项目设计,创造高效学习效果。项目的设计必须有层次性,要充分了解学生的差异性,根据学生不同的兴趣爱好,水平能力设计不同层次的练习,贯穿于整个c语言教学过程当中,以提高学生高效的学习效果。(2)项目设计要有关联性。从C语言的相关知识看,课程内容是紧密联系的,教师在帮助学生弄清相关关系同时,应该设计更多与C语言有关联的项目以便学生在项目运行过程中吸收更多专业知识。
(3)项目设计时还要注意以下几点:项目设计要规模要适宜,项目规模太大会影响项目的完整性, 项目规模太小难以实践性;项目难度要适宜,,既要激发学生学习的兴趣又不能影响学生的自信心。项目要有实用性,如:分支程序设计——计算行李托运费,这种设计既体现了实用性又增添了趣味性,使选学生有更大热情、兴趣投入项目。
2.项目的实施
(1)项目教学的实施要注重小组分工。以小组教学为主,明确分工,加强团队合作意识。注重小组讨论共同解决问题,从而增添乐趣。
(2)依据学生能力进行教学,注重弹性教学管理。例如在“程序循环设计”中,能力相对弱一点的学生只要完成“基本循环语句的运用”,而能力较强一点的学生在此基础上综合运用所学的知识解决各方面的难题。
(3)调整教学方法。在教学过程中,教师采取不同的方法以激发学生的积极性和主动性。可在学生掌握C语言相关理论知识后,完成各模块的结构设计、代码编写、程序调试等工作。
3.项目的评分。项目的评分要有灵活性,前面已经做了简单论述,这里不多做说明。
三、结束语
项目教学法在C语言教学过程中,激发了学生的自信心和积极性,锻炼了学生的程序设计综合能力,为今后较快地参与实际软件项目的开发奠定了坚实的基础。只要在C语言教学过
程中从其教学内容与实际应用相结合出发,精心选定好项目,并在项目过程中逐步完善,会取得事半功倍的效果。
参考文献:
[1]邱建林,C语言程序设计教学的研究与实践.电气电子教学学报,2003.(8).[2]徐永清,C语言程序设计.大连理工大学出版社,2008.(11).
第四篇:项目教学法在C语言课程教学中的应用
项目教学法在C语言课程教学中的应用
摘要:该文主要探讨在高校C语言程序设计课程中引入项目教学法的意义,探索项目教学法的实施步骤,提出在实施该方法时应注意的几个问题。项目教学改变了传统的以讲授知识为主的教学模式,可以充分发挥学生的主观能动性及创造性。让学生通过自己的观察、分析和编程实践,培养提出问题、分析问题、解决问题的能力。
关键词: C程序设计;项目教学;策略
中图分类号:G424文献标识码:A文章编号:1009-3044(2011)29-7210-02
C语言程序设计作为普通高校非计算机专业“大学计算机基础”课程的后续课程,其教学目标是使学生能掌握程序设计的设计方法,具有相应的阅读、理解程序的能力,并能把所学的程序设计思想、方法应用到本专业及相关的领域。
在“C语言程序设计”教学中,传统的讲授法重视语法知识的讲解,学生被动接受教学信息,学习自主性难以培养,学习兴趣难以持久。虽然学生可以较好地掌握C语言的基本语法,教学效率较高,但是学生的实际编程能力难以得到培养和锻炼。常常出现这样一种现象:C语言课程教学结束时,学生却不知道C语言的具体应用和实际价值,不能独立编写程序。
项目教学就是教师与学生通过共同完成一个较完整的项目工作而进行的相关教学活动。在项目教学中,学习过程成为师生共同参与的创造性实践活动,注重完成项目的过程而不是最终的结果[1]。通过项目实践活动,学生们掌握和理解了该门课程要求的技能、知识,培养了他们分析、解决问题的能力。项目教学法的理论依据
建构主义学习理论认为,知识并不是通过教师教授学生而获得的,而是学生自己在一定的环境情景下,借助其他人的帮助,利用相关的学习资料,通过意义建构的方式而获得。
在建构主义学习理论下,当前大致有三种比较成熟的教学方法,分别是支架式教学法、抛锚式教学法和随机进入教学法。
支架式教学法就是为学生提供一个知识框架,把复杂的知识点予以分解,利于去引导学生逐步深入理解。而抛锚式教学法则是用真实案例为基础,让学生在真实事件中去体验、感受,进而获得相关的经验;随机进入教学法就是让学生通过不同途径、方式进入相同的教学内容学习,从而获得对同一问题的多方面的认识、理解[2]。
C语言的知识结构体系完善,教学内容比较多,难度较大。采用支架式教学法较适合学生学习基础语法知识,采用抛锚式教学法可以增强学生的编程体验,调动起学生学习的积极性。C语言项目教学法的原则
C语言项目教学法应遵守如下几项原则:
1)精心选取项目实例
教学法要成功,项目实例的选取非常重要。实例既要包含到所需的知识点,又要能调动学生解决问题的主观能动性。
教师应启发学生主动发现身边的材料,选择合理难度的项目,并由师生共同完成。
2)周密组织项目小组
软件项目的实施离不开团队,单兵作战的手工作坊式生产早已不能适应软件的生产。项目教学应注意培养学生的团队合作意识和协作攻关精神。教师可以参照IT项目的管理思想构建和管理学生的学习和研究小组。由教师、科代表、学研小组和组员构成C语言项目教学的学研机构,明确各自的分工和职责,共同完成C语言的学习和实际编程项目。
3)妥善处理与传统教学模式的关系
高校的C语言程序设计课程一般在大学一年级开设,学生的计算机基础知识还比较薄弱,编程思维还有待启发,项目和工程的意识还处在萌芽之中。因此,项目教学不可能完全脱离传统教学,传统的“讲授法”对于C语言基础知识的学习,具有系统性强、效率高的特点。教师应将项目教学与传统教学有机结合起来,取长补短,发挥二者的优势。
4)完善教学评价体系
积极完善项目教学的评价体系有助于提高学生参与项目教学的积极性[3]。科学的发展性项目教学评价体系包括评价主体、评价指标、权重系数等。
作为项目教学法的干系人的教师、小组、组员,理所当然也是评价的主体,教师应注意进行组织和监控,确保评价的公平、公正性,以激发组员和小组团队的学习兴趣、研究动力和创新活动为目标。学生的成绩评价由教师评定成绩、小组评定成绩和组员自评成绩构成。按指标权重对三项成绩进行加权平均,构成学生的最终成绩[4]。
C语言项目教学法的基本步骤
在C语言程序设计课程中,项目教学法的教学过程一般有如下六步:
1)精心选择与现实相关的项目实例,设计学生所学知识与现实环境相接近的环境。把学生引入解决现实问题的环境中来。
2)围绕所学的知识点,选择相应合理的一些小项目,并且演示完成项目所需要的相关过程。
3)让学生掌握独立思考的能力,对知识点进行理解并消化示范项目的相关解决要点,为练习项目的解决打下基础。
4)项目教学小组通过调查,论证、分析后,在教师指导下确定最终实训项目。
5)小组内部要开展相应的讨论、交流,成员之间分工协作,以共同完成工程项目。
6)以完成工程项目的情况来直接衡量学生学习的效果,由教师评价、学研小组评价以及组员自评三部分构成。
C语言项目教学法应注意的问题
在C语言程序设计课程中开展项目教学,通过项目,培养学生提出问题、分析问题和编程解决实际问题的能力,应注意以下几点:
1)教师自身综合能力的提高
使用项目教学法来进行教学,对教师提出了更高要求。教师不仅是传授知识的老师,也是具有软件项目开发实践经验的工程师,还应是具有丰富管理经验的项目经理。教师应注意自身综合能力的培养,特别应加强项目管理知识的学习和应用实践。
2)学生自身的综合能力的培养
C语言项目教学法要求学生不仅要熟练掌握C语言的语法基础知识,而且要将其运用到项目实践中,对学生的能力要求更高。学生应切实转变传统的被动学习为主动学习和研究性学习,同时还需要与项目小组的其他成员协调和沟通,构建良好的人际关系,加强自身的语言沟通能力、组织协调能力的培养。
3)注意开放实验环境的构建
学研小组需要按照要求独立完成相关的实践项目。需要在教师的指导下,学研小组在开放的计算机实验室进行项目软件的分析、设计和实现。因此,项目教学法的实施,需要计算机实验室构建必要的项目软件分析、设计以及编程实现的相关环境,让学生自主的管理能力得以增强,按照相关项目进度计划完成教学项目、实训项目和扩展性项目。
总结
项目教学法是一种优秀的教学方法,但是同样在实际运用中也会面临各种各样的问题和困难,只要我们能勇于面对问题,去分析、解决问题,就能得到不断提高和进步。
参考文献:
[1] 张绍民.计算机课项目教学法的探索与实践[J].成功(教育),2008(10):198-199.[2] 肖胜阳.在计算机课程教学中开展项目教学法的研究[J].电化教育研究,2003(10):72-76.[3] 崔树银.参与式案例教学在公共管理类课程教学中的应用[J].现代教育科学,2010(7):167-169.[4] 冷淑君.关于项目教学法的探索与实践[J].江西教育科研,2007(7):119-120.[5] 刘志宏,刘舟荷,张雯晖,等.项目教学法在C语言教学中的实践与研究[J].中国成人教育,2010(4):139-140.
第五篇:“模式化”方法在C语言程序设计教学中的研究与实践
“模式化”方法在C语言程序设计教学中的研究与实践
摘 要:通过对中医药院校C语言程序设计课程开设的现状分析,针对学生程序编写的困难、兴趣不浓,学习积极性不高这一学情,根据自身教学经验的归纳与总结,受“模式”这一概念的启发,创新地提出了将“模式化”教学方法应用于C语言程序设计课程的教学实践中,使抽象的程序设计变得有章可循。结果表明:将“模式化”方法运用于C语言程序设计课程教学中不仅激发了学生的学习兴趣,使学生更轻松、快捷的掌握了程序设计的思想与方法,还提升了教学效果,是行之有效的教学创新实践。
关键词:模式化 C语言程序设计 中医药院校 教学方法
中图分类号:G4 文献标识码:A 文章编号:1674-098X(2015)05(b)-0100-02
2009年医药类计算机基础教学指导委员会颁布了“医药类院校的计算机基础教学的课程设置和基本要求”的指导性纲要文件,提出2+X的课程设置体系,其中“2”代表大学计算机基础(医药类)和程序设计基础两门必修课[1]。目前,大多数高校程序设计基础课开设为《C语言程序设计》。
C语言是一门功能强大、应用广泛的高级程序设计语言。但由于C语言中涉及的概念比较抽象、语法规则繁多,因此不少初学者感到学习困难、兴趣不浓,积极性不高。如何激发学生兴趣,提高教学质量,使学生能轻松快速的入门,培养学生的逻辑思维以及抽象思维能力,是教学中需要思考、值得探讨的问题。我校开设《C语言程序设计》的目的与现状
随着计算机技术在中医药领域的广泛、深入应用,例如医院信息管理、远程医疗、智能仪器设备、计算机医疗仿真等,都离不开程序设计技术的支持。可见,程序设计技术的基础性和重要性。我校在非计算机专业学生本科阶段开设《C语言程序设计》课程,旨在通过对课程的学习,使学生掌握程序设计的基本方法和技巧,培养学生的逻辑思维能力,训练学生严谨的治学态度,为其更深入、灵活的利用计算机技术解决行业中的实际问题奠定基础。
对于中医药院校的学生而言,本课程内容相对比较抽象、枯燥,理解、掌握起来比较困难,无法快速从“形象思维”到“逻辑思维”的转变;加之中医药院校大部分专业属于文、理生兼招的专业,考生生源的数学功底以及逻辑思维能力相对理工科院校而言较差,而C语程序设计是一门逻辑性很强的课程,这为教师的授课带来很大的阻力;此外,部分医药类专业的学生采用“背书式”的方式来学习程序设计,将概念、例题等背诵记忆下来,而并非真正理解,从而导致“上课能听懂,练习不会做”的现象比比皆是;还有部分学生片面的认为编程是程序员的事情,跟他们所学的专业以及将来的工作就业没什么直接或必然联系,因此重视程度不高,也缺乏兴趣。
针对上述问题,笔者通过几年的教学实践、总结与反思,在教学方法上进行如下研究与实践尝试,以促进中医药院校信息化人才的培养与教学效果的改善。“模式化”理论教学方法研究与实践
《C语言程序设计》课程内容较多,主要包括:程序的简单算法,语句基础,选择结构、循环结构程序设计,数组,函数,指针,构造数据类型,文件等。我校开设该课程的课时数为48学时,其中理论课时24学时,实验课时24学时。由于课时极其有限,为了更有利于非计算机专业的本科生理解程序设计的思想,且能进行简单的程序编写,而不是一味地灌输所有知识点不考虑学生是否能够接受,故我校选取了最为基础、易于掌握的部分内容进行课堂讲授,包括:程序的简单算法,语句基础,选择结构、循环结构程序设计,数组,函数。如何将各章节零散的知识点关联在一起,来进行C语言程序设计,以实现某一功能需求,是本课程理论教学的核心,而教会学生分析和解决问题的思路和方法是关键。模式其实就是解决某一类问题的方法论,即把解决某类问题的方法总结归纳到理论高度。受到“模式”这一概念的启发,笔者经过教学观察和研究发现:将“模式化”方法运用于程序设计的教学中,能为学生提供更清晰、便捷的分析问题解决问题的思路与方法,而尽量减少学生对于程序编写感觉无从下手的状态出现。
2.1 宏观上分析问题,设计程序
面对一个编程需求(即题目要求),首先要学会分析问题:即看懂题目意思。仔细研读并分析编程需求中的每一句话,从宏观上明确需要解决哪几个问题,各个问题采用何种程序设计结构,解决各个问题的关键点或关键步骤是什么。宏观分析阶段,可以用自然语言、流程图、N-S图等方法将解决问题的关键步骤进行描述,即算法描述。宏观分析“模式化”为表1宏观分析“模式化”表。
说明:表1中的第三列关于“程序设计结构”的确定,需要根据待解决的问题选择合适的C语言句型。若为有条件执行,则采用选择结构,其中单分支结构选用if句型,双分支选用if…else…句型,多分支选择if…else if…else if…else…句型或switch句型;若为反复执行,则采用循环结构,其中明确循环次数多选择for句型,明确条件限制多选择while或do…while句型;若编程需求中涉及到多个待解决的问题或功能较复杂,在分析时可以功能模块的细化,将其划分为一个个独立的子功能模块,则采用函数解决。
2.2 微观上解决问题,编写程序
在对问题进行分析并作简要描述后(即填写好表1的内容),接着进行微观上的程序编写。笔者根据“一个简单C语言程序的结构,分为预处理命令和主函数两部分”这一特点,将微观程序设计模板设计如表2微观程序设计模板。
说明:表2中的预处理部分通常包含三类语句的书写,若用到C语言系统所提供的库函数通常要书写包含头文件语句(例如,要使用标准的输入/输出函数需包含头文件#include,要使用数学函数需包含头文件#include,要使用字符串处理函数需包含头文件#include);若程序中不涉及到宏定义则宏定义语句可以省略不写;若程序中不涉及到子函数的定义则函数声明语句可以省略不写,同时子函数实现部分也可以省略不写。
按照微观程序设计模板设计好后,学生最终只需按照C语言语法格式的要求将模板中每一部分或步骤“翻译”(即转化)成C语言的语句,即可完成程序的编写。在Visual C++6.0的开发环境下将编写好的文件保存为后缀名为.C的源文件,经过编译、链接、运行,验证程序设计的结果。
2.3 C语言程序设计案例分析
编程需求:打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个“水仙花数”,因为153=13+53+33。
建立水仙花数宏观分析模块化表。(见表3)
建立水仙花数微观程序设计模板。(见表4)
将水仙花数微观程序设计模板转化为C语言的源程序,代码如下所示:
#include
main()
{
int n,gw,sw,bw;
for(n=100;n<=999;n++)
{
gw=n%10; //分离出数n的个位
sw=n/10%10; //分离出数n的十位
bw=n/100; //分离出数n的百位
if(n==gw*gw*gw+sw*sw*sw+bw*bw*bw)//满足水仙花数的条件判断
printf(“%-5d”,n);
}
}
结语
笔者通过对学生的学习观察以及自身的教学经验总结,将“模式化”教学方法应用于C语言程序设计课程的教学实践中,取得了良好的教学效果。使学生再不会感觉程序编写无从下手或是深不可测,激发了学生的学习兴趣;培养了学生独立分析问题、解决问题的能力;使学生更轻松、快捷的掌握了程序设计的思想与方法。
参考文献
[1] 教育部高等学校计算机基础课程教学指导委员会.高等学校计算机基础教学发展战略研究报告暨计算机基础课程教学基本要求[M].北京:高等教育出版社,2009:72.[2] 罗铁清,杨连初.C语言程序设计[M].上海:上海交通大学出版社,2009.[3] 曲蕴慧.医学院校《C语言程序设计》教学探讨[J].科技信息,2013(19):214.[4] 刘鹏.医学院校《C语言程序设计》课程教学方法研究[J].才智,2012(5):118.