程序设计教学论文范文6篇

时间:2023-02-25 17:07:56 版权声明

程序设计教学论文

程序设计教学论文范文第一篇

关键词:Java语言;案例教学;编程能力

随着Internet的迅速发展,Java作为一种面向对象的高级语言得到了越来越广泛的应用。它既具有一般程序设计语言所具有的安全性、多线程等特点,同时又具有独特的平台无关性的优势。为了适应社会的发展,培养更符合市场需求的计算机专业人才,很多高校都陆续开设了Java语言的相关课程。但是在传统的Java语言教学过程中,课堂一般以教师为主导,首先按照教材章节顺序向学生灌输一个个抽象的概念、语法和算法,然后再去布置相关的实践任务让学生在机房实践操作。这种先理论后实践、理论和实践完全割裂的教学方式忽视了学生的互动参与,导致课堂乏味,学生学习兴趣下降,教学内容单纯倚重课堂讲授,学生实训操作练习很少,而且学与做相脱离,不利于学生理解消化课程知识和锻炼编程能力,难以取得理想的教学效果。针对这些问题,教师可以在该课程的教学中引入案例教学,以书本知识点为基础,以案例为依托,使学生在制作案例的过程中逐渐理解Java基本理论知识,在理解理论知识后不断提高Java语言的编程能力[1]。

一、案例教学法的实施意义

案例教学法由美国哈佛商学院提出,通过在课堂教学中由教师围绕案例组织教学,将学生引入特定的情境之中,启发学生分析案例,探讨案例解决方案,实现课堂师生的双向互动和学生学习效果的及时反馈,激发学生学习的积极性,提高教学效果。在Java语言程序设计课程教学中应用案例教学法就是通过实施一个完整的Java案例来组织教学活动,用典型案例把理论知识与实践教学有机地结合起来,把理论知识融入到案例制作之中。教师通过案例实施完成教学过程,学生通过案例制作掌握Java的语言知识和编程技巧,使教学做有机融合,提高该课程的教学效果。与传统教学方式相比,案例教学方法更能充分发掘学生的创造潜能,培养学生学习Java语言的兴趣,提高学生解决实际问题的综合能力[2]。在Java语言程序设计教学中实施案例教学,教学过程通过教学案例的实施过程来开展,通过“提出案例目标--分析案例任务--实施案例--边学边做--总结反馈”的环节分解每个知识点,充分体现学中做、做中学的教学理念,展现互动创新、注重应用、共同协作的教学风格。

二、Java语言程序设计案例教学的实施

(一)明确Java语言程序设计的教学计划在Java语言程序设计课程的教学中使用案例教学方法,教师首先要明确该课程的教学计划。具体包括特定的教学对象、明确的教学目的、课程的教学效果和对教学过程实施的整体设计及其控制。教学计划的制定必须以市场需求为导向,符合程序设计语言课程的教学规律,既不能脱离学生的实际学习能力,也不能丧失该课程注重实践应用能力培养的教学特点。因此,通过市场调研、企业专家访谈和毕业生信息反馈等形式,确定本课程的教学计划是使学生掌握面向对象程序设计的开发方法,理解类、实例、继承、包的应用,体会面向对象的程序设计方法在软件系统开发中的优势,使学生能够运用面向对象的思想、方法和Java语言开发应用程序。同时在该课程的教学中注重进一步的培养学生的软件设计与开发能力、程序调试能力,养成良好的程序编写习惯,从而为本专业的后续课程的学习奠定坚实的基础。(二)精心准备Java教学案例资料结合高职学生的特点,本课程将抽象的理论知识点细化和组织到具体形象的案例中去,让学生在具体的案例中体会知识点的应用。为此构建该课程规范的一体化案例教学资料库是非常重要的,选取的教学案例要能很好地和相关地教学知识点紧密融合。因此,在讲稿和课件中注重设计好每个案例“如何运用,怎样引入,何时引入,怎样与知识点有机衔接”。为了更好的提高学生的学习积极性,体现高职课程应用型、实用型的特色,Java教学中应用的案例要生动、实用,最好能从实际工作中的应用出发,提取一些典型的教学案例,能够模拟真实的企业工作环境,按照软件开发的流程组织教学。这样一方面可以使得学生可以了解以后工作的内容,激发学生学习的热情,另一方面可以改变高中时的以掌握理论知识为中心的学习方式,变被动学习为主动操作,突出实践技能的培养,使学生养成良好的程序设计开发习惯[3]。但是实际工作中的案例一般都比较综合,结构庞大,涉及的知识点比较多,如果直接应用到教学中对于初学者来说过于复杂,这就要求教师对这些案例必须要进行加工,抽取出关键部分,把繁杂无关的部分去除,有效引导学生进行学习。在学生具有一定的编程基础的情况下,再给学生真实的综合案例,通过由简单到复杂、由单一模块制作到综合案例制作的学习过程逐渐掌握Java语言的知识和编程方法,从而提高学生对实际工作情况的适应度。学生在分析案例寻求解决方案的过程中,会自然地与所学知识点进行结合,而案例中较为复杂问题的解决,能够激发学生不断学习、勇于创新的热情,打破学生原有的知识范围,拓展学生的知识领域,从而使得学生从被动的学习者转变为主动运用知识来处理各种各样的问题的开发者,不断提高软件开发的分析和解决问题的实践能力。(三)设计合理的课后练习案例由于Java语言比较抽象,知识点较多,对实践操作要求又比较高,仅仅凭着上课有限的教学时间是远远不够的,所以在每一章节的课堂教学结束后,教师必须选取合适的案例,为学生布置所涉及相关知识点的课后作业,从而让学生能通过课后作业练习对Java语言能够进一步深入的理解。(四)理论课和实践课合为一体传统的Java教学模式一般是先理论后实践,理论课和实践课分开,理论课在多媒体教室完成,而且理论课时一般都是实践课时的2倍以上。在具体的教学中,为了保证后期课程的教学难点能够掌握,理论课都先于实践课开始。这样的教学安排会使得理论课已经进行一半后,实践课才刚开始。而在Java语言等程序设计课程中,学生对于知识的掌握和编程能力的培养,在很大程度上是通过实践操作来实现的,但课后并不是每个学生都会自觉地在自己的计算机上编程练习,还有一部分学生虽然也在自己的计算机上编程调试了。但是一旦在调试中遇到困难得不到解决,往往就会退缩,把问题搁置等着上实践课再来解决,以至于造成学生学习进度缓慢,编程能力得不到有效提高。为此,可以把Java语言程序的理论课和实践课结合在一起,把授课地点设在机房中,教师以教学案例为主线,首先分析案例,然后引导学生思考案例解决方案,接着引出案例涉及的相关知识点,再把知识点应用到案例制作过程中,边做边讲,通过这种教学做一体化的教学方式把理论和实践有机结合起来,把抽象难懂的理论知识通过具体的操作帮助学生理解,学生的学习热情有了很大的提高,学习效果也有了明显的改善。(五)重视教学的互动与及时反馈传统的教学方法一般是教师讲、学生听,课堂只注重知识的单向输出,忽略了师生之间的沟通和学生的实际的接受效果。通过教师和学生之间的及时沟通,不仅能够使教师发现学生学习的薄弱环节,而且可以发现教学过程的不足,动态调整教学实施过程,更重要的是增进了师生感情,从而引发学生的学习兴趣[4]。在Java语言程序设计中应用案例教学法就能很好的实现教学的互动,使教师能够及时的得到课堂教学效果的反馈。首先在案例教学中,学生拿到案例后,在教师的引导下先要进行分析消化,然后在案例制作的过程中学习相关的Java语言知识,这无形中会使学生加深了对知识的理解,而且学习过程是在和教师的互动中进行的。同时学生的成果要经过学生自评、教师点评环节,这一方面调动了学生学习和动手的积极性,也促使教师加深思考,根据学生制作案例的情况了解学生掌握新知识点的程度,及时调整教学内容和教学进度,不断完善案例教学的实施过程。(六)典型教学案例实施过程:自动计数器图1计数器初值为0图2计数器自动加1图3加数器变为减数器图4计数器自动减1在Java图形界面开发讲授时,教师如果只是介绍各个组件的构造方法和常用的方法,就会让学生觉得枯燥乏味,不知道每个方法具体的应用,而且不能让学生了解组件显示的难点--坐标的确定,因此有必要通过案例教学来实施这部分知识点的教学。比较典型的一个教学案例是自动计数器的制作。计数器初值为0,如图1所示;当单击“自动加1”按钮时,程序实现计数器功能,如图2所示;当计到100时,“自动加1”按钮显示为“自动减1”,如图3所示;并自动实现减数器的功能,如图4所示。如此循环,直到单击“退出”按钮为止。在讲授时,教师可以首先演示该程序的功能和运行过程,让学生明确学习目的,然后对着运行界面引导学生分析程序的实现思路:自定义一个窗口类,在窗口类的构造函数中添加单行编辑框和按钮组件。然后重写按钮事件处理方法actionPer-formed。在讲解窗口类的实现中,要详细讲解单行编辑框组件和按钮组件的坐标的确定。接着再详细说明在用户单击了按钮后,如何控制计数器计数:先要判断选择了哪个按钮,这里教师告诉学生通过事件的getSource方法可以获得事件源;然后再根据按钮的文本内容执行相应的操作,“自动加1”将使num加1,“自动减1”将使num减1;最后用setText方法把新的num设置为单行编辑框的值。这是一个综合了多个知识点的案例,涉及到组件的添加、事件处理、整型数和字符串类型的相互转换、事件源的判断等知识点。这个案例的学了有助于让学生掌握这些界面开发的知识点外,也会让他们学到流程控制的编程技巧。

三、结束语

在Java语言程序设计的教学中,以教学案例的实施为主线,通过教学内容、案例选择、授课模式等一系列的改革措施,培养学生独立分析问题和解决问题的能力。实践证明案例教学法不仅可以提高高职学生学习Java语言的兴趣,使他们在学习的过程中由被动接收知识变为主动培养实践技能,而且增强了学生在实践操作中的自信心,学生的编程能力也有了明显的提高。

作者:王惠 单位:九州职业技术学院

参考文献:

[1]李天书.案例教学法在专业课教学中的应用与实践[J].职业时空,2014(6).

[2]李劲华.通识教育中Java程序设计课程的教学研究与实践[J].计算机教育,2008(20).

[3]岐世峰.Java教学方法的研究与探索[J].教育研究与实验,2013(4).

程序设计教学论文范文第二篇

关键词:VB实例教学激发性主动性

作为语言程序设计领域的前沿软件,VB的发展历史已经很久,相关的技术也比较成熟,由于其简单易学、功能强大、应用广泛,因此在很多职业院校都开设了这门课程,我校也在计算机信息与管理、计算机网络技术以及电子商务等相关专业开设了这门课程。正是由于社会办学力量的推动和“程序设计”职业的热衷,现在会VB的人越来越多了,但是我们也应该看到,很多人都局限在“会VB”,而不能灵活的运用,不能用VB完成相应的程序设计,更谈不上从事专业编程工作了。在这样的情况下,作为高职教师的我们,在教学中怎样才能够吸引同学们努力主动的学习好VB,这是我们值得探讨的问题。虽然我们学生的起点相对来说较低,但以后所从事的工作大多数也是以程序设计操作员为主的,因此笔者认为我们的主要教学目标,不仅是使学生熟悉VB的基本概念,而且还要能够熟练的掌握一些程序设计的相关技巧和方法,有一定的程序编写思维能力,并且在今后的教学中同学们能够积极主动的探索和学习。为了达到这个目的,笔者认为以下几个方面是我们在教学中值得开展的:

一、注重实例教学

对于一项操作性很强的工作,我们是不可以只讲理论的,正如当我们学习游泳的时候,如果教练只是告诉我们每个动作的名称但不告诉我们这些动作怎么完成,我们是不可能学会游泳的。那么我们在学习VB的过程中也必须结合大量的实例演示,让同学们真正体会到VB的可视化设计和它的实用性。

在最初接触这门课程的时候,我们必须先要详细的介绍各个控件,只有知道每个控件各自的作用以及使用方法以后我们才可以在VB中创造我们自己的程序。在控件介绍和程序设计中我们必须通过实例的演示来让学生在模仿中学会各个控件的使用和程序的编写。特别是在程序的编写方面,我们一定要有相关的实例来让学生在感性上得到认识。比如在介绍IF……ELSE选择控制语句的时候,如果我们只是讲解单纯的语句,学生听起来觉得比较枯燥,但笔者首先给同学们演示一个通过用户名和密码的登录界面,通过选择控制语句来确定我们在文本框中输入的条件是否为真做出判断,如果为真就登录到我们所需要的另一个界面,否则弹出一个提示信息框。在演示的过程中,同学们都表现出强烈的好奇心和学习的欲望,思维表现得非常活跃,因为他们觉得这些知识非常有用。在这个时候我们抓住这一特点,首先,讲解实现这一程序的基本思路,提出实现思路所需要解决的问题。其次,在程序中讲解新语句的使用方法,总结新语句的使用方法和注意事项。这样的教学使学生很快了解了程序设计的整个过程,并有豁然开朗的感觉,从而产生浓厚的学习兴趣。虽然这是一个简单的编程应用,整个创作过程只用到了简单的选择控制语句,但通过此例的学习学生学会了选择控制语句的使用以及如何设置选择控制语句,同时也激发了同学们学习程序设计的兴趣,从而创作出自己的程序。

目前市面上有很多关于VB的实例教材及各种参考书,但是都比较散而且内容也不是很详细,所以在讲解的时候笔者认为必须对实例进行慎重的选取和必要的修改,力求做到以下几点:

1、程序结构严谨化

笔者所收集的程序除了强调程序的可靠性以外,还要特别强调程序的结构性,即使是一个简单的实例,也需要做到程序结构的严谨化,使之符合大众的思维,但也要突出自己的特点。比如在讲FOR……NEXT等循环语句的时候,一般的都是利用从1累加到另一个固定的数值,来完成我们的循环讲解,这样的语句由于方法是完全一样的,所以最后的效果也没有什么吸引力可说。因此,笔者采用了另外一种方式,结合利用文本框输入的方式,即在两个文本框中可以输入任何两个数,使之从小的数值累加到另一个较大的数值,这样程序的效果也就更具结构严谨的魅力,同学们的感受也就会完全不同。

2、步骤详细化

因为同学们对新知识的接受,特别象程序设计这样的知识结构,还是需要一定的过程,因此为了让学生能够顺利的完成实例,从而在实践中提高自己的能力,笔者认为对每一个实例的操作步骤都要详细的板书出来,上机课或是在课余时间学生只要按照程序的操作步骤去做,就可以得到最终的效果,只有这样同学们才能掌握程序设计的基本思想和相关步骤。

3、方法常规化

在讲解的过程中,力求采用最简单、最容易的方法完成每一个实例,尽量采用常规化的语句,避开一些不容易理解的概念、方法。比如,在利用文件操作对数据录入以及把录入的所有数据输出时,我们可以避开利用Type语句定义自己的数据类型的使用,因为采用Type语句定义,有多少个字段,就会产生多少个相关的成员,在这种情况下同学们就很难想得到这个成员代表的是什么,它的作用是什么,这样就把程序复杂化了,其实我们完全可以采用简单的文本框来进行输入,然后用Input函数输出就轻松完成了。

二、注重培养学生的实际操作能力

还是以游泳为例,不管我们怎么看别人游泳,但自己却不下水实践,我们是永远都学不会游泳的,那么我们在学习VB语言程序设计的过程中也必须不断的练习、实践。

笔者曾担任了计算机网络技术两个班的该门课程的教学,为每周四学时,其中两学时是笔者的理论讲解课,两学时是上机实践操作课。由于学生的思想还不够成熟,自我控制能力相对来说还是比较差,因此自觉性还不够好,为了监督他们很好的学习、认真的实践,笔者每次课都留一次作业,第一次就是完全按照笔者的课堂实例上机操作,以加强对本节课课程内容的理解并熟练这些操作技巧,这项作业是必须要上交的,并作为平时成绩登记。因为这是这门课程中最基本的知识要点和教学要求,虽然学生不可能每个人都对这门课程有浓厚的兴趣,不可能以后都有可能去从事专业的程序设计工作,但是作为计算机专业毕业的学生,笔者希望他们不管以后从事什么样的职业,对于一些基本的程序设计思想以及常用的计算机软件操作,至少都能够体现出来。

在最后的综合实训、实践中,笔者结合同学们所学的知识并引进一些课外的知识实例来弥补课本上没有的相关内容。比如,我们利用VB做前台界面的设计,尽量用到所学过的所有控件进行布局、设置,把它们结合起来使用,而用小型的Access数据库做后台数据管理来做一个学生成绩管理系统,它具备一般的常用功能,即成绩的添加、查询、修改、删除,用户的管理等,虽然这个管理系统程序的设计比较简单,但通过这样一个小型的综合实例,就更加让同学们了解了VB语言程序设计的功能及特点。这是我们VB程序设计教学课程中不可缺少的一个重要环节,只有通过这样的一个综合实例,才能把同学们零散学到的知识全部的串联起来,让他们感觉到自己所学的知识终于有了一定的成果,他们自己也会感觉很有成就感,也会产生一种利用计算机解决实际问题的强烈愿望,在今后的学习中才能更加有信心和目标。

以上的两个方面是笔者认为的主要教学方法。采用实例教学的一个重要目的实际上就是为了使课堂生动,提高学生的积极性、主动性。虽

然是实例教学,有很多有趣的程序及相关的小动画,但是这样的有趣如果久了,也并不能完全抓住学生的心,因为这些过程进行的场所都是在课堂,课堂生活不可避免的具有一定的单调性,这只是一个方面。另一方面是,笔者要求学生在完成自由独立创作这一作业以后要相互交流经验,这种交流我们一般都是在自己班内部进行的,次数多了大家就会觉得似乎还需要加入一些更新的内容,希望与其他班的同学一起探讨学习。为了弥补课堂学习和班内交流的不足,笔者有时间就会将两个班的学生聚集在一起,首先每个班选几个优秀的作品演示给大家看,并向大家介绍创作的技巧和存在的问题,然后大家一起讨论。最后笔者会结合最近的学习内容对设计进行一个总的评说。通过这些活动既可以提高学生的学习兴趣,提高他们的专业技能。我们在教学中,实例的运用是提高教学效果的保障,在教学中,我们不防在讲解本次课的内容之前,先演示本次课需要用到的实例,这样既可以调动学生学习的积极性和主动性,也激发了他们的好奇性,这样也就抓住了同学们“人在教室,心也在教室”。

总之,教学有法,教无定法,只要教学得法。程序设计教学的主要目标是为了使同学们了解编程的基本思想,培养分析问题、解决问题的基本能力。围绕着这个目标,在保证同学们学习积极性的前提下,按照他们的认知规律组织教学,一切有效的教学方法都可以在我们的教学过程中加以运用,进而使综合素质得到整体提高,这是VB程序设计课程教学的最终目标。

参考文献

[1]刘炳文、杨明福、陈定中.全国计算机二级教程VB语言程序设计[M]高等教育出版社.20__.4

[2]张书云、姜淑菊.程序设计教学方法探悉[J]计算机教育.20__(5)

程序设计教学论文范文第三篇

《Android应用程序设计》是一门理论与实践结合紧密的课程[3],该课程教学目标与社会对人才的需要密切相关,但由于受传统教学模式的影响,在具体的教学实践中不能取得预期的教学效果,主要表现以下方面。

1.1核心知识点模糊

2010年之后,很多高校开始开设Android相关课程,对其培养目标、课程体系和核心知识点还处于探索阶段,教学方法仍处在研究和实践阶段,导致教师在对核心知识点的选择各有不同。

1.2学生基础薄弱

《Android应用程序设计》课程要求学生掌握Java知识、数据库应用和计算机网络等方面的基础知识,对学生的实际动手能力要求较高,因此很多学生学习该课程存在一定的难度。

1.3实践教学环节薄弱

受传统教学模式的影响,《Android应用程序设计》的课程讲授仍采用理论授课为主、上机实验为辅的教学模式,缺乏与实际应用结合;部分教师虽然在课堂教学中采用了案例教学,但这些案例往往是对特定知识点的练习,与实际项目开发相差很大,学生毕业后遇到项目开发时不能正确科学分析具体问题;课后作业虽然在一定程度上锻炼学生的编程能力,但这些题目往往针对某个特定的知识点,导致很多学生作业完成得很好,但实践能力得不到提升[3-4]。

1.4考核方式不科学

目前大多数高校采用类似表1所示的课程考核标准;其中期末考试占70%,其他占30%。这种考核方式主要考核理论学习,与《Android应用程序设计》强调实际动手能力的教学目标不一致,往往导致学生的笔头能力强而实践能力薄弱,因此,这种考核方式不能科学地反映学生的实践能力、团队合作和交流沟通等综合素质。针对上述问题,结合黄河科技学院信息工程学院应用型人才培养的目标,确定《Android应用程序设计》课程的目标是培养学生对移动互联网产品的设计、开发、测试、维护等能力,因此通过在教学过程中引入案例教学法达到提高学生实际操作能力的目的。

2案例教学在《Android应用程序设计》中的应用

20世纪初,哈佛大学创造了“案例教学法”。案例教学法是指教师以学生为中心,围绕教学目标和教学任务,对实际应用的真实的情景加以典型化处理,使学生进入特定情境之中,然后通过学生对事件进行积极主动的探究活动,来提高学生分析问题和解决问题能力的一种教学模式[3-5]。

2.1案例的设计

教师在选择典型案例时,应考虑以下4个因素:①案例的选择应该覆盖若干个核心知识点;②案例的选择应该贴近实际生活且生动有趣;②确定案例的规模要适当;④确定案例的难度要适中;表2显示了《Android应用程序设计》核心知识点与典型案例的对应关系。教师对学生采用案例教学,能够充分调动学生学习的主动性和创造性。例如针对当前很多大学生都非常喜欢在手机应用商店下载自己喜好的APP,教师可以以这个兴趣为话题,引导学生开发简易音乐播放器为切入点,教会学生了解软件开发的流程以及在开发过程中应当注意过程控制。

2.2案例的实施

Android应用程序的开发环境需要在PC机搭建,搭建步骤:第一步,安装Java的运行环境;第二步安装Eclipse集成开发环境;第三步安装SDK套件,配置SDK的安装路径;第四步创建Android模拟器(AndroidVirtualMachine),可以模拟仿真不同型号的Android智能手机。

2.3案例的讨论

开展案例教学培养学生具有独立分析问题能力、项目管理能力、团队协作和沟通协调能力等职业素质,丰富学生的实际移动互联APP开发经验[7]。教师在案例教学过程中应注意以下几点:①要求学生掌握Android应用程序开发过程和方法;②采用启发式教学,恰当地引进教学案例;③学期开始就安排学生自由组队,每4~6人组成一个项目团队,以小组为单位完成一个Android应用程序的开发。教师在案例教学过程中穿插一些相关知识点,通过开发科学计算器,满足学生的成就感,提高学生的学习热情,使学生对Android课程产生浓厚的兴趣。2.4案例的考核结合《Android应用程序设计》的课程特点,该课程主要考核学生基本技能和解决实际问题的能力,因此课程考核采用如表3所示考核标准。

3结语

目前,基于案例的教学方法已经在12级计算机科学与技术(嵌入式方向)、12级计算机科学与技术(多媒体方向)等专业学生的教学中进行了尝试,取得了较好的效果。于传统的教学模式相比,在《Android应用程序设计》课程教学中采用案例教学,强化理论与实践的结合,有利于提高学生的综合素质,培养出符合时展要求的应用型人才。

程序设计教学论文范文第四篇

关键词:C++;课程研究;教材建设;负反馈教学

1C++教材建设现状

C++语言是兼容C语言的面向对象程序设计语言,随着软件工程技术和面向对象程序设计技术的发展,迅速成为主流的面向过程和面向对象的程序设计语言,是编写系统软件和应用软件的通用语言,也是各类高校,尤其是理工类和综合性高校开设高级语言程序设计课程的首选教学语言之一,同时也是非计算机专业计算机等级考试和计算机专业程序员水平与资格考试指定语种之一,其影响广泛而深远。C++程序设计课程(以下简称C++课程)也因此成为国内外高校普遍开设的计算机基础课程。它不仅是一门程序设计课程,而且是许多专业课程(如数据结构、操作系统、微机原理,单片机及应用)的重要基础,更是这些专业开展计算机研究、应用和综合运用本专业知识的重要表达工具和开发工具。它的基础性、普遍性和重要性逐步为人认识和重视。国外高校比较重视该课程建设,从原版影印教材可见一斑。国内高校讲授该课程较晚,课程建设也较晚,现有教材状况可分下列几类。

1) 英文影印版。主要用于高校图书馆馆藏、教学参考和高校双语教学试点,如高等教育出版社影印出版的《The C++ Programming Language》(BjarneStroustrup著)和《Programming in C++》(Nell Dale,Chip Weems和Mark Headington著)。由于国外高校课程体系与国内高校有较大差别,且国外高校的教学课程通常只指定教学参考书而不指定教材,因此,若把这些教学参考书当教材使用,必然使主讲教师所讲内容与所选教材吻合度较差,很难发挥教材应有的作用。

2) 英文编著版。这类教材是指由高校主讲教师依据本校双语教学试点要求和/或合作办学要求自编,目前尚处于探索阶段。

3) 编译版。这类教材是指引进国外经典C++教材,翻译成中文,在国内销售的教材,如Harvey M.Deitel, Paul James Deitel编著的《C++ How to Program》分别由清华大学出版社出版(名为《C++程序设计教程》,施平安译)及电子工业出版社出版(名为《C++大学教程》,邱仲潘等译)。由于翻译质量、阅读习惯、价格、教材配套、课程体系等方面的问题,通常用作教学参考和图书馆馆藏,很少用作教材。

4) 中文编著版。这类教材量大面广,通常由高校主讲教师(如南京理工大学张岳新,浙江工业大学钱能,清华大学郑莉,西安交通大学罗建军,华南理工大学周霭如,北京大学吕凤翥等)结合本校实际编写。编写思路多,如有的以算法为主、有的以语法为主、有的先讲面向过程程序设计后讲面向对象程序设计、有的自始至终贯彻面向对象程序设计思想,还有的参照国外教材的编排体系等。但上述教材或多或少存在一些不足,如起点高、跨度大、系统性不强、急于阐述C++的新进展等,对实验、学习、课程设计指导等重视不够,不一定满足其他学校的教学要求。

2C++教材建设思路

C++课程是各类高校普遍开设的计算机核心基础课程,应用广、影响大。与欧美发达国家高校相比,我国高校生平均教学资源占有率严重偏低,尤其是可用的C++课程教学参考资料较少,因此,教材在我国既是知识的载体,又是教学的工具,对保障教学质量显得格外重要。与传统教材相比,C++课程教材的内容广,理论性、实践性和综合性强,更新速度快,成熟意味着过时,教材作者新人辈出,教材种类多、更新快、问题也多。因此,C++课程教材改革与建设有其自身的显著特点。

C++课程理论教学和实验教学并重,学以致用,以通过编程解决实际问题为目标;课程内容涉及基本语法、基本算法、基本数据结构、编程思想、编程技巧和程序调试技术等,综合性、实践性强,理论与实践结合紧密;实验编程环境极其严格,结果要求百分之百正确,对培养大学生编程能力、创新能力和严谨的科学作风有非常重要的作用。

好的C++程序设计教材首先应以长期持续的课程建设为依托,以坚实的教学研究和教学实践为基础,体现课程建设成果;其次应结合自身实际,分析研究C++课程的目标、特点、内容、结构及与其他课程的关系,在教材的编写思路、框架结构和教学内容的组织、取舍、阐述、更新、难点处理等诸多方面有所改进和创新,注重学生实际编程能力培养和创新能力培养;再次应符合读者的认识规律和编程能力的形成规律,既便于自学和教学,又利于教学效果的巩固和教学质量的提高;最后还应有必要的优质的配套教学资源。

3C++课程建设历程

我校于1998年在计算机专业首先开设C++课程,2000年扩展到电子信息工程、电子科学与技术、通信工程、电气工程、自动化、信息计算、信息系统与信息管理等非计算机专业。目前课程规模年均近2000人。

基于C++课程的基础性和重要性,2000年在校教务部门和院领导的指导和支持下,专门成立了以具有丰富教学经验和实际编程经验的教师为主体的C++教学研究小组(以下简称教研组),并设立课程负责人,使课程的教学、研究、建设和管理步入持续不断的良性发展轨道。

十多年来,教研组结合我校实际,对C++课程的特点、内容、结构、方法及与其他课程的关系等方面做了大量研究工作,以提高教学质量为首要目标,改进教学方法,形成了一整套针对该课程实际的教学理论和教学方法,即C++课程负反馈教学法,并编写了大量具有负反馈教学法特色的教学材料,采取了一系列的教改措施,使该课程的教学质量得到明显的提高,为本课程的精品化建设奠定了坚实基础。

3.1积极稳妥推进教学方法改革,形成颇具特色的负反馈教学法[1-3]

课题组根据多年教学研究与实践,在教育学和心理学的基础上,用现代过程控制理论分析传统教学过程,于2002年建立负反馈教学模型(如图1所示)。由于模型引入了负反馈环节,从理论上可以确保教学质量的稳定。在负反馈教学模型基础上,吸收单元教学法、布鲁纳的“发现教学法”和瓦根舍因的“范例教学法”的合理成分,形成负反馈教学法,在我校C++课程教学实践中,取得了较好的教学效果。

负反馈教学法的原理是从教学过程中反馈(作业、实验、答疑、单元测验等)的问题入手,通过及时讲评,解决学生学习中存在的各种问题,以达到预期的教学目标。由于反馈的是教学过程中存在的问题,故称此方法为负反馈教学法。负反馈教学法包括以下4个主要方面。

1) 教学内容单元化组织。

按程序设计方法演进发展的自然顺序及C++实际编程能力形成的3个关键期,即结构化程序设计模块程序设计面向对象程序设计,将C++教学内容组织为3个单元,有利于教学的组织、实施、考核,有利于教学效果的巩固和教学质量的提高。

2) 用“范例”组织课堂教学,贯彻“发现式”教学思想,注重学生创新素质和优秀人才的培养。

范例教学法由教育学家瓦根舍因(M.Wagenshein)提出,教师通过范例辅助学生理解、掌握知识和原理,其目的是让学生能够独立地获得判断能力、推理能力、认识能力和继续学习的能力。以往,程序设计课程教学通常以一门具体语言为主线,围绕语法知识展开。而实质上,设计程序是为了解决实际问题,是一种缜密思维方式、创新素质和综合能力的培养,要使学生对程序设计有兴趣,必须使他们亲自感受并体验程序设计的无限魅力。为此,我们改用范例组织本课程的课堂教学。在多媒体教学设备和真实编程环境的支持下,课堂教学以程序(范例)为主线。所选范例程序具有典型性、综合性和可扩展性,涉及基本语法、基本算法和基本调试技术。范例程序的讲解首先符合“现象发现问题分析问题解决问题验证”的探索过程,使学生掌握基本语法、算法及应用;其次,通过对范例程序的启发式扩展,揭示程序由小到大、由简单到复杂直到实用的过程,激发学生的探索热情和兴趣,使学生掌握知识间的联系和编程的工程化思想,获得实际编程能力。

3) 采集教学负反馈信息,做好分类、分析和讲评,注重学生整体水平。

按负反馈教学法要求,任课教师做好作业和实验报告抽样批改、单元测验的全样批改,重视实验指导和答疑。在获取足够的负反馈信息后,任课教师及时做好问题的分类、分析和讲评,以保证学生整体水平的提高。

4) 根据大班教学特点,推进强同步教学策略,确保整体效果。

大班教学成功的关键在于保持教学的师生同步状态。负反馈教学法的师生同步措施有:授课、作业、实验、讲评和测验。其中,作业与实验报告同步效果欠佳,其原因是大班教学学生抄袭现象较为普遍,因此,作业与实验报告为弱同步措施;授课、讲评与测验同步效果较好,为强同步措施。为使大班教学取得较好的效果,采用强同步措施是必要的。我们在每个单元结束时安排一次测验,以实现师生的强同步,及时取得真实的负反馈信息。

由于采用负反馈教学法,所以课堂教学可以突出重点和难点,而将易于自学的内容只做要求不做讲解,这样,一方面解决了课时少与内容多、难点多的矛盾,另一方面也提高了学生的自学能力和自我解决问题的能力。

3.2强化实践教学,注重培养学生的实际编程能力和创新能力[1-3]

C++课程难点多、综合性,主要涉及基本语法、基本算法、基本操作及综合应用等方面内容。

实验是本课程至关重要的环节,学生只有通过实验才能检验自己是否真正掌握和运用该语言:通过上机调试程序,会发现很多想不到的问题;通过解决这些问题,可以加深对语言和算法的理解、提高程序调试能力、实际编程能力和创新能力。为此,本课程设有课内实验和课程设计实践教学环节。

1) 课内实验注重培养学生基本调试能力和基本编程能力。

基本调试能力是学生通过深入学习取得实际编程能力的前提,常被人忽视。因此,我们根据教学内容编写了一套以调试技术、基本语法、基本算法、综合编程为核心内容的同步实验指导,共拟定了17个实验,每个实验通常包括调试题、编程题和选做题,可供不同层次的学生选用。

2) 课程设计注重培养学生综合编程能力。

C++课程设计以综合性程序设计训练为主,选题具有典型性、综合性和示范性,突出难点及其实用价值,使学生体会到难点不难,而且感到难点在实际编程中非常有用。学生通过训练进一步巩固和掌握基本语法、基本算法和基本调试技术,养成良好程序设计风格(模块化、结构化)和严谨的科学作风,初步形成软件工程化思想,并具有一定的程序组织能力。

C++课程设计的内容包括基本算法和数据结构的综合运用。其中,基本算法涉及穷举、迭代、递推、递归、排序和查找等,数据结构涉及数组、结构、指针、动态内存分配、单向链表、类、文件等。

3) 强化实践教学辅导和考核,确保实践教学质量。

实践环节实行教师辅导、答疑和考核。课内实验实践环节主要涉及预习情况检查、辅导情况记录、实验报告批阅和典型问题讲评,课程设计实践环节主要涉及预习情况检查、辅导情况记录、联机考核和课程设计报告批阅。对于课程设计考核,每位学生的联机考核时间约5~10分钟,考核内容包括讲解和演示自编程序,回答老师提问(3~5个)。通过采取上述措施,实践教学质量得到充分保障。

4) 及时总结和推广实践教学经验。

根据教师多年的实际编程经验和教学经验,编印典型问题和综合问题编程专题,供学生课外阅读参考,便于学生突破难点,融会贯通,体验综合编程的乐趣,培养他们分析和解决问题的能力。

3.3积极开展教学内容研究,及时更新教学内容

根据程序设计课程本身发展快、更新快、综合性强、存在问题多的特点,针对同类教材中普遍存在的问题和不足,积极开展教学内容的研究,确保教学内容的正确性和系统性,确保将重点难点内容讲清讲透,先后发表教学内容研究论文20多篇。代表性论文有:C++运算符重载教学和编程中易被忽视的问题、C++语言引用型变量的实现机制浅析、C/C++语言可变参数函数的参数传递机制剖析、C/C++中数组与指针的关系、C++中二维数组与指针关系的深入剖析、C++迭代器机制剖析、C++标准模板库与代码重用。

4C++教材建设成果

教研组根据对国内外流行C++教材的研究分析和试用,结合我校非计算机专业计算机基础教学改革、计算机专业教学改革和课程建设的实际,积极稳妥地开展体现负反馈教学特色的系列教材的编写和出版工作。

2005年2月,教研组自编教材《Visual C++程序设计习题、实验与编程实践》由华东理工大学出版社出版,同年12月第二次印刷,累计印刷3次,得到了社会读者的认同。2005年10月,我校C++课程获江苏省高等学校精品教材立项建设,在清华大学出版社的支持下,于2007年2月主编出版教材《C++程序设计实践教程》(含教学课件),累计印刷3次;在高等教育出版社的支持下,于2007年11月主编出版教材《C++程序设计教程》(含教学课件)和《C++程序设计实验与编程实践》。

教材的配套建设充分发挥了教材的作用,满足了我校教学需要。其中,《C++程序设计教程》和《C++程序设计实验与编程实践》主要用于我校计算机专业教学,《C++程序设计实践教程》和《Visual C++程序设计习题、实验与编程实践》主要用于我校非计算机专业教学。

下面简要介绍教研组近年主编出版的C++课程系列教材的特点。

4.1 《C++程序设计教程》及其配套教材[4-5]

1) 内容组织结构合理,层次分明。教材按程序设计方法演进发展的自然顺序及C++实际编程能力形成的三个关键期,将C++教学内容分为三大单元,即结构化程序设计(1~4章)模块化程序设计(5~9章)面向对象程序设计(10~14章)。内容组织由浅入深,循序渐进,符合读者的认识规律和编程能力的形成规律,便于教学的组织、实施和考核,利于教学效果的巩固和教学质量的提高。

2) 紧跟标准,内容求新。本书介绍的是标准C++,符合ANSI/ISO C++标准(包括1998第一版和2003第二版),引导读者按C++标准编写程序。本书对以往教材中带有一定普遍性的问题如“指针就是地址,地址就是指针”等进行了澄清和纠正。

3) 不避难点,力求突破。许多有一定基础的读者学习程序设计半途而废的重要原因之一是未能突破实际编程中的难点问题,这与不少主流教材以各种理由极力回避难点有密切的关系。本书针对教学和实际编程中的难点(如递归、指针、动态内存分配、虚函数等),精挑多选范例程序,想方设法讲清讲透,力求使读者突破难点,学以致用,不致半途而废。

4) 范例程序,精心设计。程序是语法、算法、思想和方法有机结合的载体,是计算机解决实际问题的钥匙,学习程序设计离不开程序。书中大量的范例程序是经过作者精心挑选和精心设计的,表达准确、简练,书写规范,示范性强。

配套教材《C++程序设计实验与编程实践》分三部分:

1) 实验指导。实验与课堂教学同步进行,是本课程至关重要的环节。共20个实验,每个实验通常包括调试题、编程题和选做题,供不同层次读者选用。

2) 典型问题和综合问题编程。列举实际编程中提炼的典型和综合问题的编程范例,突出难点及其实用价值,使读者体会到难点不难,难点在实际编程中非常有用。所列范例程序涉及程序的结构化书写格式、程序由小到大、由简单到复杂直到实用的过程。

3)Visual C++ 6.0程序调试技术。这部分内容帮助读者熟练掌握主流的C++开发环境Visual C++ 6.0的程序调试技术,使他们具备主动上机调试程序的能力。

4.3 《C++程序设计实践教程》[6]

1) 内容组织原则与4.2一致。

2) 内容取舍上,根据阅读对象为高校理工类专业的一年级新生的实际,注重基础和系统,兼顾提高。内容包括:结构化程序设计基础(C++概述、数据类型、运算符、表达式、简单的输入输出、算法及其表示、流程控制)、模块化程序设计(函数、编译预处理、数组、结构体、共用体、枚举类型、指针和引用)和面向对象程序设计(类、对象、继承、派生、友元、虚函数、运算符重载、I/O流类库、模板、异常处理、命名空间等)。

3) 编写思路上,通过以基本语法和基本算法为主线的典型、综合范例程序,适时阐述有关程序设计的思想、方法和技巧,将C++语法、基本算法和程序设计方法有机结合起来,理论联系实际,注重学生实际编程能力培养。

4) 内容阐述上,注重概念准确、由浅入深、循序渐进、图文并茂、简明扼要、举一反三、用例精练,便于教学和自学。范例程序表达简洁,书写规范,示范性强。

5) 难点处理上,不回避教学和实际编程中的难点,并适时提出扩展性问题,激发学生的探索热情和兴趣,利于创新人才培养。

6) 内容的更新上,及时反映C++程序设计课程的教学研究成果,对以往教材中带有一定普遍性的问题如“引用型变量不占内存”等进行了澄清和纠正。

7) 配套的教学资源上,丰富、实用,包括实验与编程指导、学习指导、课程设计指导、电子教案、试卷库和课程网站等。

8) 教学的试点上,校内试用多年,几经调整,起点低,教学效果好。

4.4 《Visual C++程序设计习题、实验与编程实践》[7]

1) 学习指导。根据非计算机专业计算机等级考试要求,按章编排了相应具有较强启发性的典型例题和习题。为取得较好学习效果,按C++实际编程能力形成的三个关键期,共设置了三个单元测验。单元测验的内容突出重点和难点以及综合运用,目的是及时发现并解决教学中存在的问题。

2) 实验指导。共有17个实验,每个实验包含调试技术介绍、程序调试题、程序设计题和选做题,注重培养学生的编程能力和调试能力,强化其实际编程能力训练,激发其编程兴趣。

3) 典型问题和综合问题编程。共8个专题,便于学生突破难点,融会贯通,体验综合编程的乐趣,培养他们分析和解决问题的能力。

4) 二级考试模拟试卷。

5)VC++ 6.0程序调试技术,包括使用VC++ 6.0 IDE编写和调试程序的方法和技巧。

5结语

十多年来,教研组围绕C++课程,潜心教学、研究、建设和积累,形成了颇具特色的负反馈教学法,发表相关教学论文20多篇,出版教材4部,建成1门省级精品课程(《Visual C++程序设计》)、1部省级精品教材(《C++程序设计教程》)和1个校级优秀教学团队,取得中国交通教育研究会2007-2009年度优秀成果一等奖(《C++程序设计实践教程》)1项,获得第十届“挑战杯”全国大学生课外科技作品竞赛全国二等奖等5项省级以上奖励。

精品教材建设是一个长期过程,我们将继续沿着自底向上的建设路径,及时总结C++教材建设的经验,认真做好特色系列教材的编写、重印、修订、再版和配套建设,进一步提升教材建设的层次,不断扩大C++教材在校内、省内和国内的受益面。

参考文献:

[1] 陈建平,刘维富,王春明,等. Visual C++程序设计课程建设研究与实践[J]. 计算机教育,2007(12):18-20.

[2] 刘维富,陈建平,王春明,等. 浅谈“C++程序设计”课程的建设与实践[C]//大学计算机课程报告论坛组委会. 大学计算机课程报告论坛论文集2006. 北京:高等教育出版社,2007:92-97.

[3] 顾晖,刘维富,管致锦,等. 负反馈教学法的原理与实践[J]. 电气电子教学学报,2004(4):102-104.

[4] 陈建平,刘维富,葛建芳. C++程序设计教程[M]. 北京:高等教育出版社,2007:前言.

[5] 刘维富,葛建芳. C++程序设计实验与编程实践[M]. 北京:高等教育出版社,2007:前言

[6] 刘维富,陈建平,葛建芳,等. C++程序设计实践教程[M]. 北京:清华大学出版社,2007:前言.

[7] 刘维富,丁卫平,沈学华,等. Visual C++程序设计习题、实验与编程实践[M]. 上海:华东理工大学出版社,2005:前言.

C++ Programming Course Research and Textbook Construction

LIU Wei-fu, CHEN Jian-ping, WANG Chun-ming, GE Jian-fang, QIU Jian-lin, GU Hui

(Computer School of Science and Technology, Nantong University, Nantong 226019, China )

Abstract: Firstly, this paper simply introduces the characteristics of C++ language and C++ course, and simply analyzes the textbook constuction’s actuality of domestic university in the C++ course; Secondly, the paper aims at the characteristics of C++ course, combines C++ course’s construction, teaching research, teaching practice and teaching idea, takes the understanding regulation of the student and the formation regulation of the programming ability as a basis, takes developping the student’s actual programming ability and creative ability as a target, elaborates the C++ series textbook’s construction process and construction result.

程序设计教学论文范文第五篇

关键词:民办高校;C语言;教学改革

中图分类号:G642 文献标识码:A 文章编号:1009-3044(2015)30-0104-03

《C语言程序设计》是针对我校理工类专业大一新生所开设的一门重要的专业基础课程,该课程是目前高校最流行和实用的一种计算机高级程序设计语言,是进行程序设计教学和计算机软件开发的主要工具之一,也是理工类专业学生学习其他相关专业课程的一座重要桥梁,因此,该门课程一直是高校所开设的高级语言课程之一。

1 现状分析

笔者通过问卷调查的方式,了解目前我校教师在《C语言程序设计》这门课程教学方面的现状及学生的学习情况,分析,总结了师生普遍感到这门课程难教、难学的原因,觉得有以下几个方面。

1.1 我校学生的学习积极性处于比较低层次

大多数学生是少数民族,入校时学习基础比较薄弱,对中文的学习能力和理解能力比较弱,逻辑思维能力和动手能力相对比较差,对学习的自信心不太强,学习的主动性和积极性也有所欠缺,大部分同学自主获得知识的能力偏差,总的来说,他们的学习能力处于较低层次,学习方法比较落后,在学习过程中,对中文的理解能力欠佳,大多同学,不理解课堂上老师所讲的内容,只会采用死记硬背的方法,被动地记忆教师讲授的基本概念、语法知识等,上机也只会调试程序,根本设计不出程序,对上机实践操作兴趣不高,缺乏对所学知识的综合运用能力,不会举一反三,给自己增大了莫名的学习负担,编程上遇到一些困难就容易退缩。尤其是在大一第二学期阶段,有不少学生对计算机的基础知识及操作还不太熟悉,程序设计课程对初学计算机的非计算机专业学生来说显得更加抽象、一些程序设计的流难以理解,这往往是导致学生的学习兴趣不高,产生畏难、甚至恐惧情绪的原因,最终导致厌学的后果。

1.2 教学内容的组织不太合理

教学内容的组织和教学方法对培养和增强学生的学习兴趣和学习信心起着极为重要的作用。《C语言程序设计》这门课一般都是在大一阶段第二学期开设,此时学生对计算机的系统结构、工作原理有了一定的了解,但对高级语言程序设计方面的内容,了解的甚少。因此,针对我校学生的基础特点,现对《C语言程序设计》这门课程内容进行提炼,减少传统的C语言教材较为复杂语法知识、算法等知识,传统教材一开始上来的几节课便是介绍和计算机硬件结合紧密术语、数据类型、语法规则,算法流程等基本概念,学习内容显得相当的抽象、繁杂、枯燥,新概念名词和规则如排山倒海般涌来,学生在学习过程中感觉学习的内容相当多,而且比较枯燥乏味、跟实际生活毫无关联,顿感学习压力很大,对程序设计的好奇心和期待随着前几节课云山雾罩般语法知识和规则的涌来消失殆尽,一开始满怀的学习热情受到压抑,因而失去进一步的学习兴趣和学习信心,失去学习动力,甚至有极少学生因而产生畏惧情绪选择放弃,不利于课程的进一步学习。

1.3 上机实践存在问题

《C语言程序设计》是一门实践性很强的课程,主要培养学生的动手能力和编程能力,所以,实践教学对这门课程来讲,非常重要,很多理论知识必须要通过上机动手调试才能够加深理解,帮助学生掌握和巩固所学知识。目前,许多高校的《C语言程序设计》这门课程的考试形式基本上是采用笔试,考试的主要内容仅仅是对所学的理论知识进行检测。这种考试形式使得学生在平时只注重理论知识的学习,不太重视实验实践的环节,另外,也有因为硬件环境或课时原因而造成学生上机实践课时不足,使得学生的理论知识学习与实践环节脱节,反过来影响了对理论知识的深入理解和掌握。

2 教学内容的改革

重构《C语言程序设计》课程教学大纲,包括理论教学大纲和实践教学大纲,课程内容分为2个阶段,第一阶段C语言基础,第二阶段是程序设计。制定的新课程教学大纲“本着理论够用,重在实践”的教学理念,强调学生的自主学习能力、创新能力、程序设计能力和对所学知识的综合应用能力。教学内容由浅入深,由易到难,降低程序设计的难易程度,加强程序设计中分析问题和解决问题的深度和广度,教学内容循序渐进,螺旋式上升。增加新知识、新理论以及交叉学科知识的介绍,补充教材难以编入的学科发展的前沿知识,充分体现该课程教学大纲的系统性、实用性、实践性、科学性、先进性。

该门课程的开设64课时,其中理论32课时,实践32课时,在教学实施过程中,在充分掌握理论知识的同时,加强实践教学。通过修订教学大纲、课程标准、授课计划等相关教学文件,着力加强实践教学,并对实践过程进行单独考核。另外,为了弥补不同层次学生对不同知识的需求情况,将实验项目计划增设了选做内容和必做项目,要求学生根据自己的学习情况选做相应的项目,利用业余时间完成。在实践教学过程中推行“项目驱动、小组合作”的实践教学模式。选择趣味性强且与学生生活贴近的项目作为教学主线,合理布局第一个项目,将每个实践项目分解成一个个体现相关的知识点又与实际生活紧密相连的子项目,对应理论教学的各个教学知识点,把相关的知识点融入到项目的各个环节中去,层层推进项目。通过对项目中的问题的深化和知识点的补充,来拓宽学生对所学知识的深度理解,实现独立完成项目的目的,从而达到学习知识、培养能力,提高实践能力的目的。

另外,在教学内容的选择上,尤其是介绍新内容时,避免选取复杂程序或学生不熟悉的数学、物理等问题作为案例,尽量选择学生平常比较熟悉的问题来进行分析讲解程序设计。在学生了解了新的知识点及新的编程方法后,再扩展介绍新方法的应用和一些常见的技巧,由浅入深,有利于学生了解掌握有一定难度但常用的一些编程技巧。

在教学内容的安排上,以程序设计思想为教学内容的主线,围绕着一个学生熟悉项目,努力让学生能主动而非被动接受新教学内容。用教学项目把整个课程诸多关联的知识点有机地联系起来,紧紧围绕着一个案例,如学生进行计算器的设计,从这个主题出发,循序渐进,逐渐延伸、拓展,随着带领学生不断提出新的用户需求并主动设法解决,引出能满足新要求的方法和相关知识点。

3 教学方法的改革

按照我校学生的实际情况,制定符合我校学生实际的课程标准、教学大纲,围绕本课程的教学目标,根据《C语言程序设计》课程和学生的特点,按“够用、实用”为原则对传统的教学内容进行重新组织,合理取舍设置教学内容。教学内容上舍弃了一些不常用的语法和章节,注重强调基础性、实用性和实践性,同时,兼顾教学和自学两方面的适用性。例如:可以先带领学生完成一个简单的项目――设计一个简单“加减乘除”的计算器程序,做简单的输入二个数据、然后计算结果和输出计算结果的工作,而后再给学生进一步讲解完成每一步工作所用的相关语法知识和需要注意的问题。而学生对两个数据的“加减乘除”的处理方法很熟悉,学生通过把平常熟悉的工作用计算机语言描述出来并在计算机上运行得到所需的工作结果,让学生体会到C语言程序的神奇而不神秘,有趣而不难学,体会到用计算机解决问题步骤的条理性、逻辑性和掌握相关语法知识的重要性,减少、消除学生初学程序设计语言时的神秘感和恐惧感,激发学生的学习兴趣和求知欲望。

形成“三结合一补充”的教学方法,即:“理论教学与实践教学相结合、自主学习与过程评价相结合、平时考核与开放考试相结合,模拟项目对课堂教学进行补充”的教学方法;充分利用信息技术手段,满足学生的个性化发展,包括多媒体教学手段、网络课堂、数字图书馆等。

3.1 采用任务驱动式的项目教学法

在理论教学过程中,抛弃传统的从介绍基本概念、语法知识和规则再到举例说明它们的应用的教学方法,采用任务驱动式教学方法。在教学过程中,全程贯穿任务驱动式教学的思想,按照提出问题、分析问题、解决问题的逻辑思路,引导学生主动参与从接受任务到如何完成任务的整个过程中,改变以往的被动接受为主动学习,充分发挥主观能动性,积极地思考、学习和掌握编程知识和编程方法,锻炼提高分析问题和解决问题的逻辑思维能力。

3.2 采取有效的讲课方法

在课堂教学过程中,采取有效的讲课方法,调动学生积极性。如采用师生互动法,避免传统的“满堂灌”、“填鸭式”教学方法,以免学生因被动学习产生抵触情绪。加强师生互动,采用小组合作的教学模式,融“教学做”为一体,引领学生积极参与教学中,主动提问题,积极思考解决问题。在利用基础知识解决问题的过程中,培养学生举一反三的能力,适时提出或引导学生提出一些进一步的要求,拓展学生的思路,让学生从如何编出程序能解决问题再进一步提高到如何把问题解决的巧妙些、任务完成的更好些、程序的质量更高些,培养学生的问题求解、编程及创新能力。

图1 采用“教、学、做一体化”的教学模式图

对于重点、难点的问题,要采取有效的讲课方式和思路进行讲解,如启发式、循序渐进式、师生互动式、实例法、类比法等方法,可以有效突出重点、化解难点。如帮助学生对循环控制变量作用的理解,可以类比环形跑道上的长跑裁判员统计运动员所跑的圈数并给出最终判断。

对于一些比较抽象的、难于理解的内容,借助动画将其转化为直观的形象便于学生理解。如讲解数据冒泡排序时,我们老师做了教学动画帮助学生理解一组数据排序的过程及最后最终结果,这样学生对抽象的一组数据的排序就容易理解了。

在教学手段上,充分利用多媒体教学和传统板书的优势互补,在碰到难点内容时,我们制作微课,帮助同学们理解较为抽象的内容。使用多媒体电子课件和微课相结合的方式,演示程序设计中的难点部分,提高教师、学生的教、学效率,利用微课,提高学生的学习积极性。因此,结合传统板书来讲课,写出重点难点,画龙点睛,帮助学生加深对重点内容的印象,理清程序运行过程中的数据变化情况。尤其在初期讲解程序设计时,利用板书逐步写出程序的效果更好些,这样在整个板书过程中能够有效控制要讲解的内容,思考、提问、修改等环节有机结合起来。使得学生的思路能与教师的讲解保持同步。

3.3 实验教学的改革

让学生明确编程理论知识必须要通过上机动手调试才能加深理解和掌握,思维能力、编程能力等都需要通过实践教学来培养,建立重视实践教学的新理念,主动积极参与实践教学。将实验内容设为基本篇和提高篇,基本篇用以锻炼学生应用基本知识编程解决简单问题。在此基础上提出更高的要求,设为提高篇用以锻炼学生能灵活运用所学知识编程解决较为复杂的问题,培养学生探索创新能力和实践能力。

为保证实验的效果,要求学生必须做好上机前准备,设计源程序和调试中可能会出现的问题及解决方法,实验结束上交源程序,课后上交实验报告。

3.4 建设多元的立体化教材

积极进行立体化教材的建设和实践。其中包括教材、教学大纲、实验大纲、实验指导、教案、电子多媒体课件、微课堂、教学网站、题库、习题集等。 出版1部教材。由笔者参编的《C语言程序设计项目教程》是以项目教学为编写思想,在该教材中融入大量最新的以同学们生活非常贴近具有趣味性的教学案例和操作性非常强的实例,力求提高教材的通读性和实用性,强化学习实践操作能力,做到“教师易教,学生易学,技能实用”。

教案中除教学目的与要求、教学重点和难点、教学内容等内容外,根据《C语言程序设计程序设计》课程特点,编写了课后的作业题、思考题等内容,电子教案内容非常充实,充分体现了教师与学生之间、学生与学生之间的互动;在多媒体课件内容的设计上,尽量简明扼要,突出重点,只要有用的;知识点之间的衔接思路清晰,既包括了教材的所有内容,在又能激发少数民族学生的学习兴趣,取得良好的教学效果;本课程电子课件、作业、课后思考题、教学大纲等均通过网络以精品课程的形式对全校所有同学开放,另外有充足的网络教育资源加上对于该门课程的难点内容利用微课来展现,这些对提高学生的自主学习能力,培养学生的学习兴趣,发挥了积极作用。

4 考核方式的改革

考核对学生的学习起着重要的引导和促进作用。改变以往以笔试为主的考试方式为全面考核,既要考核学生的理论知识,也考核学生上机动手实践能力。为了更加公平、公正的检测学生的学习效果,体现教学改革的效果,《C语言程序设计》课程采取“过程考核”和“期末考试”相结合的方式,改变传统的一考定成绩的方式,过程考核是以上机操作为主,突出学生的实践能力的培养,在进行完一个知识点的学习后,就进行相应的考核,让学生更好地掌握自己的学习情况,以及与同学之间的差距,根据考核结果调整学习计划;期末考试,以试卷考核为主,主要考查同学对所学理论知论的综合应用能力。

5 评价方式的改革

在《C语言程序设计》这门课程的教学改革中,对考核的评价方式作了大量的修改,制定了符合我校学生实际,又能激发学生学习热情的考核方式。在该门课程的考试中,除了期末的考试由教师来评价之外,对学生的实践操作采取了过程性的考核方式,其中过程性的考核采用了“学生评价、学生互评、教学评价”等多种评价方式,激发了学生的学习兴趣。

6 总结

本课程的教学改革在我校实施一年以来,取得了一定的成效,但教改成果与国家精品课程标准有相当大的差距和不足,我们将继续加大《C语言程序设计》这门课程的教学改革国度,加强教学研究,发表高水平教学论文,完善网络教学资源,加强课程在线学习手段,提高学生的自主学习能力,最终增强学生对所学知识的综合应用能力。

参考文献:

[1] 任淑美, 李宁湘, 陈杰. 《C语言程序设计》课程教学改革与实践[J]. 计算机时代, 2014(7): 65-67.

[2] 王冰. 《C 语言程序设计》实验教学方法研究[J]. 中国现代教育装备, 2014, 191(7): 58-60.

程序设计教学论文范文第六篇

课堂提问必须面向全体学生,使全体学生都可获取知识营养,满足需要。教师所提出的问题,不宜偏重某一层次的学生而忽视其余。可以采取这样的策略:对尖子生可适当“提高”,对普通生可逐步“提升”,对后进生可稍微“降低”。这样才能引导全体学生集中注意听讲。教师要根据教学目的、要求与问题的难易程度,有目的地选择提问对象,采用多种方式问答,如学生个别解答、小组代表回答、自由抢答等,这样有利于全体学生的积极参与。而不要先点名后提问,也不要按一定次序轮流发问,更不要只向几位冒尖生发问,而应将答问的机会适当向后进生倾斜。因此,教师在提问时一定要采取全体动员法,个别学生在回答问题时也应该让其他学生认真倾听。

2引导学生主动建构数学知识

小学生学习数学是在教师的启发引导下,接受前人已有数学知识的过程,在这个过程中必须有学生自己积极主动的建构活动。由于学生处于身心发展阶段,教师的启发引导不仅是必须的,而且是必要的。因此,在新的教育思想指导下,寻找教师对学生数学学习的指导与学生自主探究之间的平衡,把握好教师对学生数学学习的引领,是一个重要的方面。教师要提供整理方法和程序的具体示范,指导和帮助学生学会整理知识,促进学生知识学习的结构化。

例如,在复习平面图形的面积计算时,教师让学生说说都会计算哪些平面图形的面积。他们说了长方形、正方形、平行四边形、三角形、梯形、圆形等,回答杂乱无序。教师按一定顺序板书在黑板上,然后在复习每一种图形的面积计算公式推导的过程中,用箭头将有关联的图形连在一起,形成一个非常清楚的网络图来展现知识点之间的内在联系。在复习的过程中,可以适当提问,注意发现学生的错误认识,并及时纠正。教师的板书,潜移默化地教给学生整理复习的方法,理清思路,促进和优化相关知识的建构。

3改进教学评价,进行有效评价

教学中教师要重视评价的作用,这里的评价,既有教师与学生的自我评价,也有教师对学生、学生对学生、学生对教师的评价。师生通过自我评价,反思自己的不足并纠正错误;通过相互评价,发现并肯定对方的优势,形成评价与教学相互促进的良性机制。需要指出的是,进行教学反思,写教学故事是一种很好的评价形式。它不同于纯理论、思辨式的教学论文,是教师对所经历过的教学活动的一种回忆、刻画、描述,教师可以通过这种文本记录发现课堂教学的脉络,更快地形成自己独有的教学风格。而且通过教师之间的互评,可以凸显被教师习惯化的环节,有助于教师对教学活动进行理性、深刻地反思,形成客观的评价,促进教师的专业成长。另外,教师要组织好学生的课堂反馈,从学生的思维、语言特点出发,写出他们评价背后对课堂教学的期待,以学生的所想、所思作为自己的所忧、所虑,反思教学过程中预设与生成之间的矛盾,这样才能不断改进和提升小学数学课堂教学的有效性。

4加强现代多媒体教育手段对教学的辅助

新课改要求下的数学教学同样需要激发学生学习的兴趣,让其主动积极地参与知识的建构。在课堂教学的初始阶段导入新课时,如果能引发学生的兴趣,促进学生主动参与新课的学习,那么就可能取得事半功倍的效果。

注:本文为网友上传,不代表本站观点,与本站立场无关。

上一篇:案例驱动法论文范文 下一篇:传热学论文范文

免责声明
发表评论  快捷匿名评论,或 登录 后评论
评论