欢迎来到速发表网,咨询电话:400-838-9661

关于我们 登录/注册 购物车(0)

期刊 科普 SCI期刊 投稿技巧 学术 出书

首页 > 优秀范文 > 程序设计教学论文

程序设计教学论文样例十一篇

时间:2023-03-27 16:47:50

程序设计教学论文

程序设计教学论文例1

随着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

2.算法的构建。在处理一些问题时,一系列可操作的步骤需要设计,或者设计它的可算操作,来通过这些步骤进行解决问题,这种解决问题的方法就是通常指的算法。广义的算法:就是一种工作的方法和步骤,例如,歌曲的歌谱、洗衣机说明书等都是它们使用的算法。数学教学中的算法:数学中,把计算机解决问题过程中的程序认为是现代意义的“算法”。这种算法可以用计算机实现,对求解的方法也是统一、机械的,例如:解方程、作图问题、函数求值等的算法。

二、ARCS动机设计模式在高中数学程序设计教学中的应用

1.注意策略。在学生考虑到需要输入输出时,实际上他们就已经开始有了算法思维,只是很多学生在开始时不确定如何准确划分步骤。通过上述例证使学生了解算法解决问题的思路和步骤。

2.相关性策略。《孙子算经》中原文是:“今有物,不知其数,三三数之,剩二,五五数之,剩三,七七数之,剩二,问物几何?答曰:二十三。”对高中生来说,在问题提出后,即使有些同学的思路一开始出现了偏差,但是和实际情况对比之后基本都能猜出正确答案。因此,对自己判断与实际情况不一致的同学来说,他们就会更深一步地问自己:为什么不一样?哪里出现了问题?这有助于学生独立思考能力的培养。只有让学生自己发现错误、判断错误、解决错误,才能让学生真正地掌握相关知识,这也有助于提高学生的高阶思维能力。

3.信心策略。算法实例基本是必考题,每次的考试中都有或多或少地涉及一些。算法题出题方式灵活,可考查内容较多,是一个全面评估学生知识掌握程度的考题。教师在对学生进行考核时,要考虑到学生自身知识的掌握水平,从学生角度出发,循序渐进地增加难度,切忌一次考核过难,打击学生的自信心,降低学生的学习兴趣。案例:例1.通过求1+2+3+4+5中的一个算法。解:算法1用逐一相加的方法来进行。第一步:计算1+2,得数3;第二步:把第一步中所得结果3与3相加,计算得到6;第三步:将第二步中所得的运算结果6与4相加,计算得到10;第四步:将第三步中所得的结果10与5相加,计算得得到15.说明:①一个问题的算法肯定不是唯一。②若将本例题改为“求1+2+3+…+100的结果,给一个算法”,则以上第二算法和第三算法表达较为方便。对刚开始接触程序设计的学生来说,这类题型可以提高学生的自信心,使学生产生强烈的荣誉感。题目的难度是明确的,但实际解题思路并不复杂,却有多种解题方法,对解题思路明确后,其流程图绘制也就轻而易举了。给学生自信心,让学生感受自身的能力有助于提升学生的学习动力。

4.满意策略。以满意度策略为基础的数学课堂教学方式有很多,如多媒体教学、学生学习目标设定、多元化教学方式等。在教学中,本人根据学生各自情况,与学生进行沟通后为每人设定了相应的学习目标。每次测评之后并不以全班同学的成绩来评论学生的好坏,而是通过横向与纵向两方面相比,让学生全面了解自身当前学习状况。另外,数学课堂教学中,要重视学生的能动性,通过参与问题、解决问题的方式让学生充分表现自己。通过满意策略提高学生的学习动机。

程序设计教学论文例3

1.1教学设计概述

所谓教学设计,就是为了达到一定的教学目的,对教什么(课程、教学内容等)和怎么教(组织、方法、媒体的使用等)进行设计。教学设计不等同于传统的备课写教案。教学设计有利于教学工作的科学化,使教学活动纳入科学的轨道。教学设计的意义就在于追求教学效果的最优化,不仅关心教师如何教,更关心学生如何学,注重将人类对教与学的研究结果和理论综合应用于教学实践。教学设计主要包括确定教学目标、组织教学内容、分析教学对象、选择教学形式和方法及教学媒体、设计教学过程、教学质量评价设计等基本环节,其中,设计教学过程是课程教学设计的核心。

1.2该课程教学设计的内容

西安理工大学C语言程序设计课程组于2003年出版了《C语言程序设计教程》及配套的《C语言程序设计教程上机实验与学习指导》特色教材。自2011年开始,非计算机专业选用的教材与计算机专业不同。目前非计算机专业选用《C语言程序设计》(第1版,张毅坤教授,高等教育出版社,2011)作为该课程的教材。非计算机专业C语言程序设计的教学设计是一项复杂的系统工程,主要包括课程教学设计、章节教学设计、课堂教学设计和实验教学设计,以西安理工大学C语言程序设计课程教学大纲为指导,以《C语言程序设计》(第1版)及其配套教材为基础,确定课程教学设计的内容:①将该课程的教学目标确定为“掌握C语言的基本语法和语义,理解结构化程序设计的思想和方法,提高学生的编程能力和调试程序的能力”。②组织教学内容的关键是进行教材的组织呈现,理论教学内容包括《C语言程序设计》(第1版)的第一章至第八章,实验教学体现于该教材的第九章及配套教材。③学生作为教学对象始终是教学过程中的重要角色,工科非计算机专业的种类多,分析教学对象就是掌握学生特点与了解专业背景并重。④重点突出课堂教学设计,传统教学与案例教学有机结合,“讲解+多媒体演示+课堂板书”缺一不可。⑤设计教学过程与“组织教学内容”联系最为紧密,主要包括课堂教学设计和实验教学设计,教学过程设计遵循的总原则是:激发学生兴趣,注重能力培养,合理安排教学顺序,讲清重点与化解难点紧密结合,课堂提高与课后巩固拓展有机统一,并预测教学实践中可能出现的意外情况。⑥将学生评价、同行评价、教学督导组专家评价、主管教学的领导评价和教师自我评价这几种评价的结果综合起来,比较客观的评价教学效果与教学质量。

2教学设计的实践及效果

我们连续多年承担非计算机专业C语言程序设计课程,先后承担过西安理工大学电气工程及其自动化(电力)、水文与水资源工程、印刷工程、包装工程和材料科学与工程等专业的C语言程序设计的理论教学和实验教学任务。始终将上述教学设计的内容贯穿于课堂教学和实验教学之中。C语言程序设计本身是一门实践性很强的课程,加之各个理工科专业的特色鲜明,所以结合学生所学专业特点与需求,同一门课程,针对不同专业的学生,适当调整教学设计内容,并在教学实践中检验教学效果。2012年以来,学生对笔者的教学评分一直在95分以上,也给予了肯定性的评价,例如“采用启发式教学,阐述问题深入浅出,重点突出,能理论联系实际或联系学科发展的新成果”;“对于您的授课方式我们很满意,感谢您对这门课程的热忱,我们会努力学下去”;等等。

程序设计教学论文例4

何谓计算思维,即借助于计算机科学基础概念来分析问题、解决问题、系统设计以及理解人类的一种行为。如下图灵奖得主ButlerLampson的报告,这种思维为人自身一种根本且概念化思维方式,是一种思想而非人造物,为数学与工程思维相互融合和互补所形成的一种思想。计算思维自身为抽象与自动化,这种抽象是借助于嵌入、简化、递归以及转换等方式,把某一个较为复杂的问题转变成多个简单的子问题,并实施求解的一个过程。而自动化则是指通过计算机自身所具运算能力的充分利用来分析、解决各种问题,以此来弥补人在计算方面所存在的各种缺陷和不足,这种自动化也在很大程度上使得计算机应用范围更为广泛。基于上述这些内容可知,计算思维其实就是一种人机共存、形式规整以及解答问题的思维。

2基于计算思维培养的C程序设计验教学

2.1教学目标的明确

众所周知,实施教育的主要目标就在于学生综合能力以及素质的培养。目前我国教育部门在计算机教学目标上予以了明确的规定,即计算机基础教学能力培养的目标应包含四个方面的内容,即计算机认知能力、计算机应用能力、网络学习能力以及借助于计算机的一种共处能力,在这些目标中,前两个目标所反映出来的内容及就为计算环境以及问题求解。在计算机这门学科中,C程序的设计就是计算思维中的语言机问题求解。对此,在C程序设计教学过程中,计算思维这一能力不仅仅为其核心能力,同时也是教学中的核心内容。鉴于上述内容,在本次C程序设计实验教学上,教学目标主要为计算机思维的培养,教学主要内容为程序设计方式的讲解,通过上机实践的强化,使学生能够借助于这种实践感受,以及计算问题求解基本方式与思维模式的领悟,为学生创新能力的培养以及综合素质的提高打好基础。下图为C程序的设计的教学模块。

2.2教学内容的设计

在计算机这门学科中,C程序设计这一课程属于理论和实践并重的一门课程,要求教师在教学过程中,必须要把理论教学和实践教学有机结合,从而使理论教学和实践教学能够互相推动。在教学过程中,由于学生对于所学内容缺乏一定的感性认识,对此,教师在实施教学,应综合考虑学生自身的学习情况,结合所要学习的内容,对C程序实验教学内容进行合理且科学地设计,把学生能力的培养、知识的传授以及技能的训练等融为一体,使学生能够在做的过程学到知识,在学习过程中获得相应的操作技能,继而使其能够将自身所学到的内容与知识有效地应用至实践中,并解决在实践中所遇到的各种问题。为达到理论够用实践突出这一目的,在本次C程序设计教学中,把所有的知识点归纳并总结为了九个核心点,根据所学内容的难易程度,把教学过程细化成为三个模块,即基础能力、中级应用以及高级应用,基于由浅入深这一原则,循序渐进地实施教学,把C程序实验教学分为了三个方面的实验,即验证实验、综合实验以及设计型实验,通过这种方式,使学生能够在记忆中来理解所学知识,并在理解中学会怎样应用这些知识,最后使学生在实践应用过程中学会创新。第一,通过验证型实验的实施,使学生能够熟悉该语言的设计环境。学生实施编程以及应用编程的一个基础就是基础能力模块知识,在该模块中,教师必须要求学生学会记忆以及理解,把该模块实验教学内容设置成为验证型的实验,让学生对于C程序设计环境以及步骤有一个基本的认识,使在学生熟悉这一环境后,了解该程序的书写格式、特点以及结构,了解并掌握该程序数据的基本类型、表达式以及运算符等,继而进一步使学生掌握C程序数据的输入以及输出,明白C程序所具备的三种结构,使学生通过验证型实验,可独立解决编程方面存在的各种问题。在实施验证型实验教学时,应要求学生应按照教师解决问题的方式来完成相应的实验内容,这种模拟的方式就是计算思维的模仿,在这一环节中,所强调的是科学内容活动的演示以及证明,注重是学生实验操作、观察、数据处理以及计算等个性化智力技能的培养,在教学过程中,学生借助于验证标准的这一已知程序来理解并学习基础模块中的内容,在理解和学习的过程中,学生可直观且清楚地看到在实际实验程序中各知识点的具体应用,能够更为快速地熟悉这种环境,继而更为地理解以及记忆C程序设计的基本知识。此外,在学生实施验证型实验之前,教师应实适时引导学生对以往所学C程序知识进行回顾,并在基础上对实验步骤实施讨论,提出相关的注意事项,针对学生在实验中容易出错的这些操作方,教师应该事先进行示范,以免在实验中学生出现一些不必要的错误。第二,通过设计型实验的实施,强化学生计算思维能力的培养。所谓设计型实验,就是指不同计算思维方式的综合应用来分析并解决各种问题。设计型实验是基于学生自身已掌握相应的实验方法与技能,通过所学知识的应用,自行提出相应的问题,并在此基础上分析和解决问题,经过算法的分析、程序运行结果的分析处理以及实验结果等,获得正确且规范的研究分析理论。在这一环节中,所注重的是学生团结协作、勇于探索以及的严谨求实精神的培养,在实施设计型实验教学时,教师应事先对程序进行填空、设计以及改错,并提出相关的思考问题,积极引导学生来讨论与分析,鼓励学生提出不同解决方案。第三,通过综合型实验的实施,强化学生创新以及应用意识的培养。在C程序设计实验教学中,为培养学生创新精神以及探索精神,使其计算思维得到扩展与升华,可结合学生自身的学习进度,基于所学内容的难易程度,定期设计一个相应的综合型实验程序题目,鼓励学生在课外课余时间来编程,同时在规定的时间内把所自己的所编程的这一源程序上传至电脑,由教师来进行批阅,对于参与这一活动的学生,教师应该实施相应的鼓励,这样不仅能够进一步激发学生学习的兴趣,同时还可提供学生的实践操作能力,使学生今后能够更好地适应社会市场,在潜移默化中使学生应用创新能力以及计算思维得到培养。总之选择了一些趣味性强、有吸引力的例子和话题以提高学生的学习兴趣,选择一些实用性强的例子和话题,以努力提高高校学生的工程实践能力。精选的“不断提升”的引导性例题、习题和实验题,以及贯穿全书的综合实例,起到了开拓思路、引导读者探究问题求解方法、激发读者程序设计兴趣的目的。

2.3基于计算思维能力培养的C程序设计实验教学

第一,上机操作实验流程的规范。在教学之前,教师应该要求学生对所学内容进行预习,通过题目的分析,明确实验教学中所需的数据结构,对参与运算的这些变量进行赋值,接着应用三种结构来解决问题,将结果输出,进行N-S流程图的绘制,基于该图编写相应的源程序,最后准备好测试程序所需的数据以及预期结果,进行上级调试工作,并归纳总结。通过实验流程的规范,不仅便于学生良好学习习惯以及思维习惯的培养,同时还可提升学生分析与解决各种问题的能力。

第二,加强上机操作过程中的指导与引导。在学生实际上机操作时,教师可借助于提问的方式来引导学生将自身所存在的问题找出来。在程序调试、上机输入以及编辑时,除了系统所引发的问题外,通常情况下,其他问题均由学生自己来独立解决。此外,在教学过程中,教师还还应鼓励学生采用不同的算法,正确引导学生反思这些算法,继而培养学生的计算思维能力。现以“打印水仙花树”以案例说明。

第三,加强实验过程的反思,采取合理且科学的考核评价制度,使学生的计算思维能够得到扩展。在上机完成以后,教师应要求学生对于本次实验实施反思、总结以及归纳,可采取小组的方式来交流和沟通,集思广益,使学生在交流和反思的过程中,拓展其计算思维。此外,还应采取相应的考核评价措施,可采取机考与笔试,结合学生平时学习表现情况,合理且科学地评价,对于学生所获得的成功,不管大小,均应予以相应的肯定,以此激发学生学习的积极性。下面以“打印水仙花数”为例,简要说明基于计算思维的案例设计的基本方法。“打印水仙花数”案例设计步骤(图3)打印水仙花数”案例的具体设计与实施(图4)

程序设计教学论文例5

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所示考核标准。

程序设计教学论文例6

2项目教学法在《程序设计》课程教学中的实践

2.1项目的确立

将项目教学法应用于《程序设计》课程的教学中,教师依据教学内容设计合理的项目。例如选取学生成绩管理系统、学生选课管理系统、通讯录、订单管理系统等,以项目来贯穿整个教学过程和所教授的内容。再把此项目分解成几个子项目,每个子项目可分解为若干个任务,学生通过完成各个任务、子项目,直至最后完成整个项目,来达到对教学内容的掌握和应用。项目与任务的分解可以参照表1。这样设计教学环节,把传授知识为主的传统教学,转变为以解决问题、完成项目任务为主的多维互动式的教学方式,既使学生有兴趣动手编程,又能与理论教学内容相结合,把程序设计语言的学习过程由枯燥的单方向接受变成愉快的探索之旅。例如,在C#的教学中,可以将整个项目分解为几个子项目,每个子项目分解为若干任务[2]。

2.2项目的实施

学生以小组为单位,探究与协作学习相结合。由每个小组负责完成自己所选定的小项目或班级大项目中的一个任务模块,小组成员在学习过程中学会按照软件工程的思想,把每个项目分解为几个任务,探索或发现的信息和材料为全体组员所共享,甚至为全班所有成员所共享[3],小组内或各组间的同学相互学习和借鉴。项目的实施过程中,教师要进行随时点评,即通过随时观察学生编程进展情况,进行实时提示、指导,指出问题所在与解决方法,引导学生不断完善项目的开发,师生按照“学习-改进-总结-提高”的过程进行教学,提高了学生运用计算机语言编程解决实际问题的综合能力。与此同时教师也要指导学生在面对不同的观点时,学会理清和表达自己对编程问题的见解,学会聆听和理解他人的想法,注重团队合作的配合和沟通。由此,学生可以看到编程问题的不同算法和实现途径,从而对编程知识产生新的洞察。

2.3项目的总结与考核评价

项目成品的效果演示是一个组的成员分享劳动成果的时刻,可以激发学生的学习兴趣,探究的欲望,更明确学习的目标。考核方式也是采用以小组为单位的考核方法,每个小组的项目负责人陈述本项目的主要功能构成、设计流程、开发过程,重点介绍原理和方法,以及在完成任务过程中遇到了哪些问题,怎样解决,等等。小组其他人员进行现场演示和补充说明,并共同回答教师以及其他小组成员的提问。教师根据每个小组的任务完成、陈述情况结合在项目确立阶段制定的项目完成的评价指标和标准,给出学生项目成果的考核评价。教师要对项目完成步骤及如何提高项目的解题思路作总体性的概括,同时可对教学知识点的遗漏进行补充,也可进行相关知识点的扩展。编程语言的项目教学评价重在鼓励学生探究、创造、实践,激发学生探究编程问题的积极性、主动性。重视学生能否把学到的编程知识与技能用于解决实际问题,以及在探究和解决问题中所获得的编程体验。总之,其评价应充分体现项目教学中学习目标的达成。

3结语

3.1取得的效果分析

项目教学法在C#程序设计教学过程的应用,是教学模式的改革,是对教学内容和教学过程的重新描述;使教学过程从“以教师为中心”转变到“以学生为中心”;将理论教学与实践教学有机结合起来;为学生创造了充分的发展空间。项目教学法可以促使学生将软件工程的思想和项目管理的方法应用到具体的任务实践中;使学生在学习程序设计的同时能按照软件工程的思想,对任务进行系统的分析、设计、开发、集成和测试,养成良好的程序设计习惯,提升程序设计素养,为以后就业以及参加实际项目开发做好铺垫。通过进行一系列的教学评测,包括学生的问卷调查、教学督导的观摩、企业同行的参与等环节,均取得了良好的反映。

程序设计教学论文例7

文章编号:1672-5913(2013)07-0095-04

中图分类号:G642

1 课程教学现状及存在问题

“C/C++语言程序设计”是理工科非计算机专业本科学生的第二门计算机课程,也是大学计算机基础系列课程的核心课程。“C/C++语言程序设计”课程的内容抽象,概念和语法规则较多,特别讲究适用技巧。长期以来,高校都在不断地探索和实践关于“C/C++语言程序设计”课程的教学改革,但仍然存在很多问题。例如,教学依然以传统教学方式为主,不能将实验环节与课堂教学环节很好地相互连贯,相互印证,使得理论教学和实践教学脱节;某些教师忽视学生的实践能力和创新能力的培养,使学生在分析问题和解决问题时无从下手,缺乏编程和调试的能力;实验教学中的多数实验内容是验证性的,学生机械式的运行程序,对知识的理解只停留在表面上;理论和实验课时数较少,上课信息量大,学生接受知识的进度不一样,这就导致教师和学生的学习步调不一致。

针对上述问题,许多高校对“C/C++语言程序设计”课程的教学作出了有益的探索,如文献[1]提出“通、实、新、联”的教学理念;文献[2]提出教学设计原理;文献[3]提出项目教学法;文献[4]提出案例教学法;文献[5]提出“机房授课+自主学习”的授课模式;文献[6]提出将“以应用为背景,以知识为主线,以提高能力和兴趣为目的,变应试为应用”的教学理念应用于该课程的教学中。这些方法均在一定程度上激发了学生的学习兴趣,增强了学生的动手能力,取得了较为明显的教学效果。

为了探究出适合成都理工大学人才培养的课程特点,“C/C++语言程序设计”课程组经过多年的课程建设和对教学环节的研究与探索,提出了“以应用为前提,学生为主体,知识为主线,培养学生的实践动手能力为着力点”的教学理念,构建了一套教材体系完善、教学资源丰富、教学手段先进、教学评价合理、考核方式差异化、精品课程网站新颖的教学体系。下面分别从教学设计、教学方法、教学手段、考核方式以及教学资源等方面进行阐述。

2 教学设计及课程内容组织

2.1教学设计

成都理工大学每年有4000名以上的学生参加“C/C++语言程序设计”课程学习。为实施因材施教,我们重视研究性学习、探究性学习、协作学习等现代教育理念在教学中的应用,根据课程内容和学生特征,对教学方法和教学评价进行设计,并在教学理念与教学设计上实施了多种改革举措。

1)以学生为中心的教学模式。

以学生为中心的教学模式让教师从传统的教学方式中解脱出来,变“教学”为“导学”。教师充分利用多种教学媒体和提示学习资源,讲重点、解难点、释疑点,讲评作业,指导学习方法,辅助小组学习,发挥学生的主体作用,引导学生自主学习,帮助学生培养自学能力。

教师要在理论课前了解学生是否掌握了与课程有关的基础知识和基本技能,根据学生在实验课的表现来了解学生是否掌握了教学目标中要求学会的知识和技能,以及掌握的程度等信息,从而确定后续教学中应重点讲解和辅导的知识,根据学生的实际情况设计教学环节。对于部分优秀学生和已经学习了程序设计的学生,我们要加快他们的学习进度,增加学习难度和深度,使他们可以很快在自己的专业中使用程序设计来解决相关问题。

2)精心准备每一节课,激发学生学习积极性。

激发学生对程序设计课程的学习兴趣,是本课程任务执行的重要目标。学生是主动学习还是被动学习会让教学效果产生明显的差别,因此每位教师都应精心准备每一节课。引领学生跨入程序设计大门的第一节课是极其重要的。学生所关心的是所学课程对自己的专业和今后的工作有什么作用,教师可从不同的专业角度,结合当前最热门的IT话题和实际应用为学生介绍学习本课程的意义和作用,同时介绍一些往届学生将所学程序设计知识用于数学建模、程序设计竞赛、专业课程学习等方面的生动实例,这些都是教师第一节课的良好素材。

3)培养学生系统化的程序设计思维。

程序设计课程长期存在着注重语句、语法和细节的特点,基本上是以程序设计语言自身的体系为脉络展开的。许多学生在学习程序设计语言课程时会觉得枯燥难学,学过后又不能用来解决实际问题。所以学生虽然学了一定的程序设计知识,但编程能力较差。‘部分学生在遇到实际问题依旧无从下手。而系统化程序设计思维培养模式是从本科生的认知特点出发,让教师在教授学生程序设计课程、提高学生编程能力的同时,培养学生的系统化程序设计思维。

程序设计课程不仅教学生如何进行计算机编程,而且教学生如何像程序员一样思考问题。系统化的程序设计思维的培养过程就是让学生自己动手解决实际问题的过程。这个过程充满了学生对未知问题的探索、研究与创新,不仅可以教会学生解决在程序设计中遇到的问题,而且可以锻炼思维,使学生的逻辑思维更加严密,这对一个理工科的大学生来说是至关重要的,对学生整体素质的提高、程序设计课程整体教学水平的提高都有现实意义。

4)互换角色思考与提问。

在教学过程中我们发现,很多学生不提问,有时是学生提不出问题,有时是不知该如何提问。这时,教师需要站在学生位置上,思考学生可能会有什么问题,然后由教师提出问题,让学生来回答。如果学生不能回答,教师再为学生解答。教师备课时不再只是准备我要讲什么,而是思考学生会遇到什么难点,需要向学生提什么问题、解答什么问题。基于此目的,教师需准备大量经典案例,提出问题,分析问题,并在问题中设置一些错误,让学生思考原因,并进一步思考如何修改错误,在这样的学习过程中潜移默化地掌握基本的语法知识和解决问题的方法。这种模式转变了学生的学习方式,激励学生积极思考问题、分析和解决问题。

2.2理论课程设计

由于科学技术的快速发展,计算机科学与其他学科间的交叉、融合日益增强。大多数非计算机专业的培养目标已将学生的计算机程序设计能力作为了一项重要内容。

本课程主要是针对非计算机专业的理工科一年级大学生开设的。与计算机专业不同的是,非计算机专业学生一般只学一门语言课程。因此,该课程的教学就担负起培养学生编程能力的重要责任,成为了学习其他程序设计语言的基础。

根据非计算机专业各学科的培养目标,“C/C++语言程序设计”课程在理论课程内容设计上注意知识结构的合理,强调基本能力的培养,注重基础理论与实际应用的融合。课程内容体系结构重点突出学以致用。课程内容知识结构由C语言简单程序的编写和调试、C语言程序设计基础、控制结构、数组、指针、函数、编译预处理与变量的存储类型、文件、结构体与共用体、图形程序设计基础、C++程序设计基础、查找和排序12部分组成。

根据学以致用的原则,在实际应用中,函数是程序设计的重要内容之一,也是学生学习的难点之一,因此在理论课程设计中,我们将函数的使用提前讲解,让学生尽早接触函数,理解模块化的设计方法,掌握函数的基本设计和操作。在讲授第2章有关输入/输出库函数时,可同时结合第8章文件的知识,使学生掌握实际问题中涉及不同数据的不同输入/输出方式,较好地解决了学生学习C语言后不能熟练掌握文件操作的问题。

教材在内容编排上注重易用性。每章的开头设置本章学习目标,之后设置本章学习指导,包含“课前思考”“本章难点”和“本章编程中容易出现的错误”。每章后的练习题涵盖了程序设计中的常见算法,涉及简单程序设计、较复杂程序设计、易于举一反三的程序设计问题等内容,使学生能够通过练习,大大地提高编程能力。

2.3实验课程设计

“C/C++语言程序设计”是一门实践性很强的课程。在近几年的课程建设与教学改革中,实验课程注重理论课程内容与实验内容的有机结合,强调学生创新能力和实际动手能力的培养。C/C++程序设计实验教学内容改变了以往验证性实验为主的现象,使设计性实验内容占了70%以上。通过实验,培养学生分析问题和解决问题的能力,以及动手能力和程序设计能力,从而加深对理论课程内容的理解。

实验课程配有实验指导书,共设计了11个实验项目和一个综合程序设计,其基本出发点是帮助学生理解和消化课堂教学的内容,培养学生自主学习能力,加强其实践能力和团队协作精神,让学生掌握程序设计的基本思想和方法。具体实验内容包括:C/C++简单程序的编写和调试、C语言程序设计基础、控制结构、数组、指针、函数、编译预处理、文件、结构体与共用体、图形程序设计、C++程序设计基础。

3 教学方法和手段

3.1教学方法

为了实现程序设计课程的教学目标,使学生不但掌握高级编程语言的知识、编程技术和基本算法,更要掌握程序设计的思想和方法,培养学生进行问题求解和编程的能力,以及探索和创新能力,我们采用了多种教学方法,主要做了以下改革。

1)课内与课外训练相结合,注重学生综合能力的培养。

课内教师根据教材进行引导学习,加强典型例题的启发式讲解。在分析常见错误案例的过程中,教师讲解程序设计的基本方法、程序测试方法以及程序调试和排错方法,帮助学生理解错误发生的原因和实质,掌握纠错的方法和解决的对策。在实验教学中,我们为每堂实验课设计相应的实验项目。实验项目的设计注重实用性和综合性。实践教学强调大量程序设计的训练。教师在网上为学生一些经典、实用、有一定挑战性的作业,鼓励学生课外多训练,倡导学生课后以寝室为单位,组成学习小组,进行讨论、分析和解决问题。

为了激励学生参与程序设计的实践,进一步提高学生程序设计的兴趣,提升他们的软件技术水平,成都理工大学每年举行一次全校范围的程序设计大赛。大赛采用初赛和决赛制,要求学生在2~4小时内完成一个综合性较强的程序设计题目,或在一段时间内完成一个综合程序设计题目,然后进行答辩。

2)重视实践教学环节、注重学生创新意识与应用能力的培养。

为了培养学生的实践动手能力,我们加强了实践教学环节的管理。教师要积极使用多媒体实验室的教学设备,进行启发、引导式的实验指导,将平时测试与期末测试结合,测试学生在1个小时内调试和正确编写程序的能力,引导和督促学生重视实践教学。开放性实验注重培养学生的创新意识与应用能力。

3)网站互动学习。

课程组建立的教学网站、精品课程网站、课程资源平台等为学生提供了网络课程、网上答疑、作业提交、理论试题及答案、上机试题及答案、教学录像、视频节目、精品课程网站链接、相关学习网站链接等资源,扩充了课堂教学区域。学生可以在任何时候、任何地点进行互动学习。这种方法及时地解决了学生在学习中遇到的疑难问题。

4)改革考核方式,采用多元评价方式考核实验成绩。

为了提高学生的学习兴趣,培养学生问题求解和编程能力,以及探索和创新能力,我们采用了开卷和闭卷相结合的考试方式,鼓励基础好的学生开卷考试,完成一个综合编程题目。经过实践,参加开卷考试的学生在独立分析问题、解决问题和编程能力上得到了很大提高。

3.2教学手段

多年以来,成都理工大学“C/C++语言程序设计”课程最大限度地、多方位地应用了以下现代教育技术手段。

1)课堂多媒体理论教学。

本课程的理论教学将传统教学手段和现代教育技术手段相结合,在应用现代教育技术手段的同时,继续发挥传统教学的优势。课堂上多媒体课件的播放效果直接影响到学生的听课效果,因此我们不仅制作了幻灯片,还利用Autherware、Flash等工具,制作了具有较强动画效果的多媒体课件,将程序的执行过程利用动画演示,生动、形象地模拟了计算机执行程序的真实情况。

2)建立计算机基础教学网站。

我们开发课程网上教学平台,为学生提供电子教案、多媒体课件、视频等丰富的网上教学资源,同时提供讨论和在线答疑,构建以学生为中心的自主学习环境。

3)网上考试系统。

网上考试系统为学生提供了模拟和考试环境,实现了系统自动组卷和评分功能,为学生课后自学和自测、提高教学效果搭建了一个有效的平台。

4 考核方式

课程考核可以采用开卷和闭卷2种形式。

1)闭卷考试由笔试和机试组成。

(1)笔试(占总成绩的50%)主要考核语言基础、基本的阅读和编写程序的能力。题型包括选择题、填空题、程序阅读题和程序填空题。

(2)机试(占总成绩50%)主要考核程序设计能力,包括上机考试(占总成绩的30%)和平时出勤及作业完成情况(占总成绩的20%)。

2)开卷考试主要考核学生综合程序设计的能力,独立分析问题和解决问题的能力,难度较大。通常只有学习优秀的学生可以参加开卷考试。这些学生必须是按时完成了每一次的实验项目,且中期考试合格。开卷考试要求学生提供源程序、开卷考试报告并参加面试。

5 结语

通过对各种教学方法和教学手段的研究和探索,我们改变了传统的知识传授理念,从而更加注重学生解决实际问题的能力,并提出“以学生为主体,教师为引导,网络教学为辅助”的全新理念,极大地激发了学生的学习兴趣,挖掘了学生的创造潜能,又培养了他们自主研究、协作学习的能力。实践证明,通过上述教学改革措施,教学效果取得了显著提高。在计算机二级c语言考试中,学生通过率较往年大大提升。当然,实际教学过程是一个相当复杂的系统,也还存在着一些需要解决的问题,还需要我们在今后的实践中继续开拓,不断探索。

参考文献:

[1]赵珊,贾宗璞,“C语言程序设计”课程教学模式改革方案探讨[J],科技资讯,2011(35):185-187。

[2]黄群,C语言程序设计课程教学设计探讨[J],计算机教育,2010(5):78-81。

[3]陈洪超,项目教学法在“C语言程序设计”课程中的应用[J],重庆电力高等专科学校学报,2012,17(3):29-30,36。

程序设计教学论文例8

中图分类号:G712 文献标识码:A 文章编号:1672-3791(2014)04(a)-0167-01

《C#程序设计》是计算机科学与技术和网络工程专业的一门重要的专业课,也是整个专业的教学体系中实践性较强的程序设计类课程。《C#程序设计》课程以C#语言和Visual Studio开发环境来介绍程序设计的思想和方法,重在培养学生良好的程序设计思想,并通过课程实践环节来提高学生的动手实践能力。但是在传统的教学方法指导下,程序设计类课程的实践教学过程中注重语言的语法、语句的教学,忽视程序编程思想和动手实践能力的培养。其次,讲授知识老化,与实际应用脱节。最后,课程实验和课程设计等实践环节相互孤立,对学生程序设计思想和能力的培养锻炼没有连续性。针对以上问题,需要对程序设计类课程的教学进行研究。

目前,有关程序设计类课程的教学研究方法中,多侧重于教学体系和模式的改革[1,2]、课程建设的研究[3]、实践教学内容和方法[4]等方面。对于如何提高学生的实践能力的研究不多,本文在分析现有实践教学中存在的问题的基础上,从理论教学、实践教学和课程设计三个层次(渐进式教学)介绍如何指导教学过程,以及采用案例教学作为辅助教学手段来尽可能地提高学生的实践能力。

1 渐进式教学方法

1.1 理论课程教学

理论课程,即课堂教学是学生直接学到课程知识的途径。程序设计类课程的理论教学不能像其他理论课程那样只为了讲解理论,而是要为实践教学服务。理论课程教学过程中,应重点关注以下几个方面。

(1)知识的类比。例如JAVA程序运行需要安装JAVA虚拟机(JVM),而C#程序运行则需要安装.NET框架(.NET Framework);JAVA程序编译时首先编译成字节码,然后再变成.exe文件,而C#程序的编译过程则是先编译成中间语言(MSIL),而后再编译成.exe文件。通过这样的对比学习,学生不仅熟悉了C#的编译过程,而且还清楚了C#与JAVA编译过程的区别。

(2)启发编程思想。为了更好地培养学生的编程思想,课堂讲解一个问题时要注意其编程的思想和解决问题的方法,通过选择多种实现方法,灌输算法设计的思想;这样既可以激发学生的学习兴趣,又可以培养学生思考和分析问题解决问题的能力。

(3)理论与实践教学的结合。针对实践教学过程中经常要用到的知识,借助课堂教学的方式予以讲解,让学生知道哪些知识必须要掌握,使学生学习更加有目的性。

除此之外,还可以借助网络技术搭建课程教学网站。通过网络可以学习辅助资料(包括:课件、教学大纲、实验大纲、实验指导手册和教学案例等)。这样可以极大地方便学生的学习,为进一步提高教学效果提供了支持。

1.2 实验教学

C#的实践教学是C#教学中的重要一个环节。通过学生上机实验,使学生掌握使用C#开发Windows窗体应用程序、数据库程序的相关方法。

《C#程序设计》实验包括:基础型实验和综合型实验两种类型。基础型实验按照章节介绍的知识点进行设置,重点加强学生对基础知识的掌握。具体内容包括:Visual Studio开发环境熟悉,C#基本语法练习、Windows窗体界面设计、数据库操作等,这些实验不完全是验证性实验,在验证的基础上增加了设计的内容。综合型实验综合考查基础型实验中用到的知识,以开发一个简易银行业务管理系统为例,熟悉C#开发Windows窗体应用程序和数据库操作的基本方法。

除此之外,在实验教学过程中加强了实验监督和实验考核等环节。实验监督环节主要由教师完成,由教师检查学生的上机实验,一方面给学生打分计入最后实验课程成绩;另一方面可以发现学生的在某些方面知识的欠缺,便于及时解决问题。实验考核方式中增加上机考试环节,进一步督促学生重视实验课程,加强自身的动手实践能力的锻炼。

1.3 课程设计

C#课程设计是《C#程序设计》课程实践教学的重要组成部分,也是培养学生实践能力和创新能力的重要环节。C#课程设计以分组的形式进行组织。每组由4~5人组成,每组选择一个负责人。小组负责人给同组内的同学安排具体的开发任务。C#课程设计采用任务驱动模式进行设计,由教师给出一些课程设计任务,供每个小组进行选择,然后由小组内的学生分工合作完成。课程设计任务的设置不仅需要综合运用课程所学的知识,同时也贴近实际项目开发。为了便于监督管理,具体实施过程中还要进行中期检查,由学生汇报课程设计任务进展情况,同时为学生当前的进度进行评估和打分。最后,做好期末项目答辩工作。学期末,由每个小组在课堂上演示其设计和完成的成果,由各组组长和教师统一打分。

2 案例辅助教学

为了进一步提高实践教学效果,在实践教学的过程中还充分利用程序设计案例作为辅助教学手段。任课教师准备内容丰富的案例,然后分发给学生,由学生进行参考和学习。专门设计了一些和游戏相关的教学案例,例如:打地鼠、打飞鸟、黑白棋、找茬等案例,教师及时引导学生在此基础上进行功能完善或者鼓励学生开发类似的游戏。与此同时,还准备了一些和实际项目相关的教学案例。比如:任务管理器、文件监控等案例,学生通过研究这些案例学会了如何开发系统类程序的技术。通过实施案例教学,不少的学生自己开发自己的小程序,并在上课前在班级进行演示,不仅给全班学生做了榜样,而且还带动了班级的学习风气。

3 结语

本文提出的渐进式教学方法,从理论教学、实践教学和课程设计三个环节来强化学生实践的能力的培养。近几年来,在我院的C#程序设计课程中实践此方法,发觉学生的动手实践能力有显著的提高。不少学生因为动手实践能力强,毕业后就找到了好工作。下一步要强化实践教学平台的建设,开发上机考试系统,为实践教学提供良好支撑,保证实践教学质量。

参考文献

[1] 罗宪,王家伟,周建丽.高级语言程序设计、面向对象程序设计精品课程教学改革与实践[J].重庆交通大学学报:社科版,2009,9(1):142-143.

程序设计教学论文例9

在新课标中,《算法与程序设计》成为信息技术课程的一个选修模块,该模块的教学目的是使学生在原有基础上进一步体验算法思想,了解算法和程序设计在解决问题过程中的地位和作用;能从简单问题出发,设计解决问题的算法,并能初步使用一种程序设计语言编制程序实现算法解决问题。在《算法与程序设计》教材中,首先介绍诸如算法、流程图的画法等知识,然后才是介绍VB程序的建立和运行。最后介绍常用算法实现等。这样的章节安排使得学生一开始的前几节课都接触的是稍显枯燥的理论知识,对激发学生学习本模块知识的兴趣是不利的。在具体教学过程中,笔者并没有完全按教材的章节安排来开展教学,而是采用先介绍实例,引导学生学习兴趣后再不断地在实例教学中穿插讲解算法、程序等方面的理论知识。

一、通过简单例子入门

很多程序设计教材,第一个入门程序都是“Hello World”程序,在VB程序中,类似的入门程序只需一个按钮和一行语句即可实现,但通过这样简单的演示程序却可以很好地介绍一个标准的图形界面程序中对话框、标题栏、按钮等基本要素,让学生知道学习程序设计也并不是一件很困难的事情。

在了解第一个入门程序后,紧接着给学生介绍的是一个简单计算器的设计,并以该程序和Windows系统自带的计算器程序作对比。让学生加深印象。简单计算器程序界面如下图所示。

该程序包括三个标签控件,三个文本框控件和四个命令按钮控件。在演示界面设计后,即可介绍个命令按钮的代码设计,加法按钮所添加的代码也只有一行:Text3,Text=Val(Textl,Text)+val(Text2,Text),其他三个运算按钮的代码只需将上述代码行中的“+”号分别修改为“-”“*”和“/”即可。最后给学生演示一个除数为O的特例,然后程序出现异常提示,在结合数学知识分析出错的原因后,告诉学生针对“÷”按钮的特殊情况增加条件判断语句即可,代码如下:

If Val(Text2.Text)OThen

Text3.Text=Val(Textl,Text)/VM(Text2.Text)

Else

MsgBox“除数不能为零!”

End if

通过上例很好地让学生了解了程序设计的基本过程,让他们知道程序设计好像也并不难,从而一方面激发了学生兴趣,另一方面也建立了进一步深入学习的信心。

二、以生动例子激发学生兴趣

针对现在很多学生喜欢动漫、游戏的情况,在授课过程中教师特意演示动画程序的设计过程(该程序是通过图片交替运动、叠加实现的。不是播放视频文件),并告诉学生实际的电脑动漫、游戏的设计原理也是类似的。

三、理论知识与实例教学相结合

《算法与程序设计》教材的章节基本是按照“先理论后实践,先语句再程序”的顺序安排的,因此很多教师上课时为了让学一生便于结合课本学习,也是先结合教材讲解基础理论部分,如算法与程序的概念、流程图画法等,然后再介绍具体的Ⅶ程序设计。由于大多数学生在本门课程之前没有学习过相关知识,使得他们学习有些茫然,不知道怎么去学,也不知道学习这些理论后有什么意义,从而失去了学习兴趣。基于上述原因,教师授课时可以不按课本的章节顺序来开展教学,而是从简单程序实例开始让学生了解本课程到底是学习什么内容,学会之后能够做什么,从而提起学生的学习兴趣;同时在后续学习过程中也完全可以将算法相关的理论知识融合在一些学生容易理解的生动实例中进行讲解。

四、结束语

程序设计教学可以培养学生逻辑思维能力、描述问题能力、解决问题能力以及创造能力。在开展教学时,通过实例引导学生学习兴趣仅是第一步,另外教师还需加强程序设计思想的培养,有意识地向学生渗透解决问题的思想方法。中学《算法与程序设计》教学方法是灵活多样的,以上仅是笔者在教学过程中的探索与体会,总结出来希望能够互相交流,把中学《算法与程序设计》课程的教学工作开展得更好。

参考文献:

程序设计教学论文例10

关键词:算法设计;算法分析;实践环节

中图分类号:G642

文献标识码:B

“算法设计与分析”近年来在很多院校的本科阶段开设,体现计算学科以算法为主要研究内容的学科目标。算法研究的是解决计算问题的操作序列,早在计算机技术发明之前,人们就对算法作了大量的研究。在本科阶段开设“算法设计与分析”,就是要使学生通过本课程的学习认识算法的设计与分析对程序设计与程序性能改善的理论指导作用,为今后在职业生涯中开发出具有创新性的应用程序打下良好基础。

基于这一指导思想,在计算机专业本科阶段“算法设计与分析”课程的教学改革就要求我们把握好理论与技术的平衡。如何把握本门课程中理论与技术的平衡,笔者认为需要从如下几个方面加以考虑。

1教学内容

算法课是理论课,它指导的是程序设计的思想和行为。因此,本课程的教学内容以理论为主应是合理的。问题在于对本科阶段的理论深度与广度的把握。首先,从我国普通高校本科阶段数理基础课的教学实际出发,学生掌握的数学知识限于微积分、线性代数、数理统计初步以及不多的离散数学(包括集合论、近世代数、数理逻辑和图论的基本概念)基础知识,远不能达到在理论论证中灵活运用的程度。在算法课程中,无论是算法的设计还是算法的分析,都不能超越这一基础。盲目追求理论严密将会严重挫伤学生的学习积极性。其次,本课程往往开设于高年级阶段,课时少也限制了教学容量。但是,通过有限的理论教学要使学生明白如下几点:

程序设计不能没有理论指导

理论指导下设计的程序更优秀

实际的应用需求将会推动理论的发展

因此,笔者在本课程的教学中在内容上注重以下三个方面:

经典算法设计方法

常用的算法分析方法

算法性能改善对理论研究的要求

2教学模式

很多重点院校,特别是偏重于理论研究的院校开设算法课通常不包含实验环节。但计算学科发展至今,更多的学生走进计算机系学习计算机技术,把算法课作为一门纯理论课来开设,对大多数学生是不利的。以前算法课不含有实践环节的一个可能的原因是技术远落后于理论(数学理论已有近千年的历史,而计算机技术却仅有短短几十年的发展历程),很多精巧的理论很难用当时的描述工具和运行平台加以实现。今天,我们不但能够用高度抽象的程序设计语言描述复杂的算法,在微型计算机上实现大多数流式算法,很多院校还配置了中小型计算机,让学生可以做并行算法的实验。所以,现在我们已经有了验证理论的物质条件,就应当把算法课的课堂扩展到实验室去。

应当认识到,为算法课增添适当课时的实验环节不但是可行的也是必要的。这首先要从教学目标出发,我们培养的是今后从事计算机软硬件开发制造和计算机技术应用的工程技术人才,学习算法就是要培养他们能用正确的理论指导创新开发的实践。其次,通过实验,让学生知道现有技术可能还不足以实现理论上已有的成果,引导学生思考明天可能的技术改进或理论创新。笔者所在学校将算法课的教学模式设置为3:1的理论与实践教学学时比。课堂教学以理论阐述论证为主,实验课实现算法并验证算法的效率。笔者最近在学生中作了一个问卷调查,调查了如下问题:

对你而言“算法设计与分析”课程对提高程序设计技术的水平________________。

回答“没有什么帮助”占3%,回答“有一点帮助”占23%,回答“有较大帮助”占47%,回答“有很大帮助”28%。

对你而言学习“算法设计与分析”课程的最大好处在于_______________。

回答“深入学习程序设计语言”的占20%,回答“深入学习数据结构”的占23%,回答“提高程序设计能力”的占56%。

这说明大多数学生认为算法课确实能提高他们的程序设计能力。

3实验课的设计

笔者认为,在实验课中将课堂讨论的理论加以验证,加深对理论的理解仅仅是实验课最基本的任务。绝大多数学生必须保质保量地完成这一任务。但是,我们从调查问卷中对如下问题的统计数据中却看到一个很让人担心的情况:

你认为学习“算法设计与分析”课程的最大困难在于___________________。

回答“听课理解”的占5%,回答“阅读理解”的占26%,回答“习题练习”的占17%,回答“算法实现”的占53%。

也就是说,半数以上的学生认为用他们在一、二年级所学的程序设计技能来实现已有的算法有困难。认真想来这也符合规律:一、二年级学习的是程序设计语言和基本的数据结构,学生没有充分体验到用语言和数据来设计解决问题的算法进而开发出能实际运行的程序的问题。所以,算法课的实践环节对工科学生来说,不仅是必要的,还是必须的。算法课增添实验环节既能让学生验证理论,还能在低年级所学的程序设计基础上提高程序设计开发的能力。

然而笔者认为,仅仅停留在算法的验证上还是不够的。当今的程序设计技术日新月异,利用当前的新技术实现并应用经典算法,使学生能够跟上技术发展的步伐,增强就业竞争力应当是我们在“算法设计与分析”课程中加入实验环节的另一个重要着眼点。利用诸如模板、仿函数、迭代子、对象合成等程序设计模式将实现的算法拓展成通用的函数库或类库,以此方式在实验中让学生自己掌握在高级程序设计语言课程中由于学时限制未曾深入研习的程序设计技术,从而切实地提高程序设计能力。

普通工科院校计算机专业的学生学习算法的设计与分析的最重要的目标,应当是其在程序开发中的应用。实验内容应该包含应用。笔者认为ACM/ICPC(国际大学生程序设计竞赛)历年来的题目很好地反映了算法设计与分析技巧在程序设计中的应用意义。笔者尝试着在本课程的实验中让有能力的学生研习一些这方面的题目,效果在一部分学生中是显著的。

总之,计算机教育工作者都在思考计算学科教育的本质以及如何提高本学科的教学质量。理论与技术的平衡是这场思考中的一个重要主题。厦门大学的赵致琢教授曾经指出“理论与实践相结合,理论与实践的统一是计算科学发展中最重要的特点之一。”因此,在教学中如何凸显本学科的这一特点,是每一门课程的教师应当认真思考并努力实践的。

参考文献

[1] 中国计算机科学与技术学科教程2002研究组. 中国计算机科学与技术学科教程2002[M]. 北京:清华大学出版社,2002.

程序设计教学论文例11

【中图分类号】G648【文献标识码】A【文章编号】1005-1074(2009)04-0109-01

1计算机专业程序设计课程实践教学的主要范畴

计算机专业程序设计课程实践教学主要包括上机实验、综合练习、课程设计、软件开发实训等几个方面。上机实验是最基本的实践教学,由任课教师根据理论教学的具体进度,设置一些简单的实验,要求学生在规定时间内完成,通过这些实验加强学生对理论知识的理解和掌握。综合练习一般在经历了一定的学习阶段之后,任课教师根据现阶段学生的学习情况,结合日常生活、工作中面临的实际问题,设置一些难度较小的综合性练习题,要求学生在规定的时间内进行调查分析,然后应用所学知识解决问题。综合练习主要侧重某一方面具体知识的应用。课程设计是在本门课程学习完毕后,任课老师根据教学大纲的要求,结合课程的特点和实际应用,设置一些难度适中、综合性强的课题,要求学生按要求完成课题任务。课程设计主要考查学生对知识综合运用的能力,培养学生利用所学知识来分析问题、解决问题的能力。软件开发实训则是通过实际软件项目来提高学生的职业综合技能。计算机程序设计实践教学都采取由浅入深的原则进行,其过程为:上机实验综合练习课程设计软件开发实训。

2计算机专业程序设计课程实践教学的重要性

2.1加强实践教学是实现计算机专业程序设计课程教学目标的要求计算机程序设计课程的主要目的是培养学生的程序基本开发能力、程序代码编写能力和程序调试应用能力,重点培养学生的算法应用分析能力和数据综合处理能力。其主要任务是通过日常教学,使学生掌握程序设计的一般方法和程序设计的具体过程,掌握计算机程序设计语言的语言特征,具备程序设计师的基础应用能力。在教学过程中,任课教师应以人才培养为目标,侧重编程综合应用能力的培养,通过具体的实践教学来提高学生的职业技能。

2.2实践教学是提高程序设计课程教学质量的重要手段实践教学是培养学生动手能力的重要手段,是提高学生的动手能力和职业技能最有效的方式,是对学生理论知识掌握程度的检验。“知识来源于实践”,“实践是检验真理的唯一标准”,计算机程序设计课程的理论知识应通过编程实践体现,通过具体的程序设计案例和实际编程来提高学生对理论知识的掌握,学生

综合编程能力的强弱是检验计算机专业程序设计课程教学质量的基本标准。

3成人教育业程序设计课程实践教学存在的问题

我国成人教育业程序设计课程的实践教学存在问题的体现在下述方面:①实践设施不足,教学条件不完善;②对教学认识不足,实践教学不受重视;③实践教学方法陈旧,考核方式单一。

4积极探索,构建合理的程序设计课程实践教学模式

4.1实践教学要符合教学目标的需要计算机专业程序设计课程实践教学必须紧紧围绕专业培养目标、人才培养规格进行。要结合专业特点更新教学内容,调整实践教学内容、方法和手段。实践教学内容的更新,要注重对学生编程综合能力的培养和创新能力的培养,要对已有的实践教学内容进行筛选、整合,改变单一的演示性、验证性实验,增加综合性、设计性、创新性实验,要充分利用计算机课程的教学特征,提高实践教学效果。

4.2以社会就业需求为主导,开展多种形式的实践教学程序设计课程实践教学主要有上机实验、课程章节综合练习、大作业、课程设计、软件项目实训、校外软件基地实习、软件合作企业顶岗实习、校内软件课题研发等。其中实训、实习和研发都是采用“真题真做”。通过上述这些实践过程,学生的程序设计综合应用能力和软件开发能力都能得到良好的锻炼。

4.3程序设计课程实践教学设计一般要求定教学的具体内容。大多数情形下,采用实例教学效果比较明显,通过实例的演练促进学生对知识的掌握。实例式实践教学设计一般应包括教学目标、课时要求、教学组织、教学内容、实践方式、实践总结、成绩评定等几部分内容。在设计实践教学内容的过程中,应做好三个方面工作。一是要结合学生实际情况,尽量体现知识性、实用性,激发学生的灵感和创造欲,使学生对实践内容感兴趣,以充分调动学生的学习积极性和主观能动性,促进学生积极创新,完成实践内容。二是应注重理论教学与实践教学相结合,保证实践教学与理论课教学相适应,加深学生对基本理论、基本知识的理解和掌握。三是保证实践题目难度和工作量适中,学生通过自己的努力,可以在规定时间内完成实践任务,实践方式可以灵活多变。