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

程序设计教学论文

程序设计教学论文范文1

《网络程序设计》的教学知识点很多,也很杂,不同类型的高校在教学中采取教学方法存在很大差别,是学好网络安全、动态网页设计和网络管理等的充分条件,教学内容通常可以分为三类,一类是强调广而浅,使学生掌握最基本的程序设计,并了解网络程序设计的前景发展;一类是覆盖类,基于规范或者工具开发网站,使学生的网络知识体系和程序设计的进一步提高,这部分内容更加倾向于技能性培养;一类是覆盖第一类,此部分的教学内容更加重视于网络程序设计能力的培养。

项目教学法是理论教学和实践教学的有机组合,因此非常适合使用在网络程序设计的教学中,项目教学法旨在培养学生整合知识和经验的能力,并不断培养学生积极探索的精神,在改变教学内容和学习评估方面具有很大的优势。项目教学法改变了传统的教学模式,使学生和教师共同参与到教学中,虽然在完成项目实践的过程中,学生同样会遇到很多的困难,但是为了解决问题,很多学生会自发的查询资料,从而,课程教学变得十分生动。在项目教学中教师把课程的重点和难点都落实到了实践中,通过讨论等反馈机制及时了解学生的学习动态。

二、项目教学法的实施

1.项目教学法实施原则

项目教学法和传统教学法相比最大的区别在于把学生作为教学的中心,把项目作为教材中心,学生是认知的主体。项目教学法在实施中需要遵守以下原则,项目的选取要充分结合现实,教师在备选项目案例之前,必须先经过大量的市场调研,项目必须具有实用性、教学型和通用性,在项目的选取中必须选择学生感兴趣的,项目活动必须能够充分调动学生已学过的理论知识,能够渗透到教学中,项目的分解能够保证教学过程的连贯性。

项目教学法以学生作为主体,虽然教师是项目的设计和实施教学的负责人,但是在实践中需要教师和学生共同参与,教师有目的的引导学生进行知识的掌握。在项目教学的实施中,教师最主要的工作是创建学习的资源和协作学习的环境,在学生面对困难的时候,教师需要进行引导,并把学生分为合适的工作小组,实现分工和合作。在项目教学法应用的过程中,教师还必须确定一个多元性的评价方式,强调运行完成项目的方式。

2.项目教学法实施步骤

项目的选择。项目教学法的关键,是设计和制定一个项目的主体,项目化教学法成功首要部分就在于项目的选取。整个教学过程与内容基本来源于教师所布置的任务,因此项目的实施过程中,重要的并不是学习的结果,而是学习的过程。项目内容的选取以及情景的设置必须与所学知识和现实生活息息相关,明确目标,包括相关知识与技能的掌握。通过大量的专业实例考察,总结出网络程序设计所需的主要知识和专业素养,将所学的知识融合在一起,把典型的程序设计融入教学中,要求学生通过学习,掌握基础理论知识,能根据需求自行查找资料。在教师选取项目时为最大化的激发学生的学习兴趣,需要列出应用表单,使学生有目标地参与到项目的实施中。

选择的项目要有层次感以及典型性等,能够使学生联系自己所学知识进行发挥,教师在项目教学法实施之前需要先整理分析学生要完成的具体情况,为项目做好准备工作。从教学方法上来看,教师在项目教学法实施的过程中设置一些问题,引导学生自主性的学习。学生的个体特点以及接受能力存在很大差别,因此在布置项目的时候需要注意项目的难易程度以及学生的接受能力,不能打击到学生的自信心。项目的设计实施需要学生广泛的积极参与,最后在项目的选取中教师需要留出思考空间,启发学生不断尝试,培养学生的创新能力。

具体而言,类与对象以及输入输出流技术是项目的关键部分,在选取项目的过程中必须渗透到其中,项目必须具有实用性和可理解性,本文选取的项目为《学生档案管理系统》的程序设计。

项目的实施。把其分解为多个课内教学实验,本文的设计中共分为五个任务,每个任务都对应着学生的理论知识,前一阶段的学习是后一个任务的前提条件,具体而言五个任务分别为学生档案管理系统——对象和类的识别、学生档案管理的设计(类的封装)、学生档案管理的设计(模板技术应用)、学生档案管理的设计(继承的应用)、学生档案管理的设计(输出输入流的应用等)。使学生有一个整体的认识。在软件预览中教师需要先把制作好的《学生档案管理系统》进行展示,为学生说明学习的目的,激发学生的兴趣,在数据库的设计中,教师可以与学生共同参与到研究中,保证学生所创建的应用程序具有非常高的性能。程序设计一直是学习的重点和难点,在这部分的项目实施中,教师应重点强调课程设计方法,使学生能够熟练地掌握常用函数以及表达式的用法。

本文以第一个分解项目为例,目的是识别学生档案管理系统的类和对象,在情景设置中,先与学生回顾所学过程知识,以及要求用到识别方法,在项目的讲解中,教师需要先向学生讲解学习目的,以及常用构造函数等,通过对象用例分析,逐渐抽象出不同类,还可以采用UMI建模技术来识别类与其类的关系。学生在实践中独立思考理解知识点,在学生遇到问题时,教师可以先给予指导。学生完成项目后,教师可以当堂表扬学生,并通过批阅学生的项目代码,查找学生普遍存在的问题,在项目的回顾中,发现本设计的项目存在很多的全局函数,因此需要进行一些改进,在下阶段的类的封装中进行下一步的学习。

项目教学法的最后一个环节是项目评估,为了保证学生评估的公平公正性,教师需要先设计互评表以及自评表,表中包含具体的分数登记以及评定条目,为提高学生的责任感和自主学习性,在评估中还需要采取自评和互评,评价表需要便于学生的操作等。

三、项目教学法实施需要注意的问题

项目教学法虽然能够极大的提高学生整体规划能力以及交流能力等,但是在实践中还会出现很多问题,因此在项目教学法的应用中还需要注意以下几方面的问题。教学中教师虽然需要足够重视项目的完成,但是也不能忽略掉基本知识的掌握,必须为学生构建一个系统的全面的知识框架。

在学习小组的划分中,必须重视学生的能力,根据学生的特长和能力进行分工,每组的人数不需要太多,最好采取优势互补的方式进行学习,组员之间为避免产生依赖心理,最好先进行分工。在采取项目教学法的过程中,学生的个性能够得到极大的发挥,但是非常容易出现两极分化的情况,因此在分组中,教师一定要注意这个问题,及时对学生的不良情况进行纠正。在评估中教师需要创建一个合理的课程考核机制,把学生项目的完成过程和完成结果也添加在课程考核机制中。最后项目教学法对教师提出了一个很大的挑战,在教学中教师不仅需要指导学生本专业的知识,还需要了解相邻学科间的知识,因此教师在以后的教学中需要不断完善自己。

四、结束语

程序设计教学论文范文2

一、相关概念

(一)面向对象程序设计

OOP是一种计算机编程架构,它具备软件工程的灵活性、重用性和扩展性。OOP不仅具有丰富的理论知识,同时具有很强的实践性,坚持在真实的项目中锻炼编程能力,才能理解其精髓,进而活学活用。

(二)项目教学法

项目教学法以学生为教学中心,是学生在教师的指导下处理项目,提高自身能力的教学方法。其优势在实践性较强的OOP课程中体现得淋漓尽致。具体实施时,教师化身为顾问,主要的作用是引导学生把课堂所学用在实践过程中,理论联系实际,进而提高动手能力;学生是项目的具体操作者,知识水平和发现问题、解决问题能力均能得到提高。

二、改革的必要性

OOP是一门实践性很强的课程,如果不进行实践教学,学生不能全面掌握其核心思想。原因主要有以下两方面:

(一)难理解

由于面向对象概念较抽象,是基于现实世界的特点,对系统的复杂性进行概括、抽象和分类,对象是OOP的核心,是将代码和数据封装起来的具有某些特性的具体事物的抽象。从学生角度来看,以知识点为中心的讲解教学方式理论性太强,不好理解,甚至有部分学生自始至终也无法掌握OOP的重要概念,不能满足课程考核要求。

(二)理论教学多

教师上课采用多媒体教学,这种方式基本上是教师在课堂上唱独角戏,把理论和方法灌输给学生,学生被动地学习,只是把教师讲的内容在大脑中形成记忆,没有自己独立思考的过程,不利于培养学生的创造能力。

三、项目教学法的改革要点

项目教学法设计了完整的软件项目教学背景,克服了传统教学中注重理论知识忽视应用实践的缺点。学生在慢慢了解、逐渐熟悉软件项目开发的过程中,能够理解应用,学习和掌握各种知识并训练相关技能。

(一)项目题目的设定

教师在进行项目教学引导时需要策略,创设学习的资源,协调学习合作环境。教学项目题目的选取是其中的关键问题,选题最好能与软件公司进行交流或合作,应具备针对性和实用性,能体现出学生综合能力的运用,并且可以进行客观评价。首先,项目题目应尽可能覆盖教学大纲的多项知识点;其次,应该构建具有完整项目的项目案例库,项目题目应有不同的难易度和适当的工程工作量,适应所教班级的不同学生的实际水平;最后,项目题目应尽量贴近大学生的生活,并可以用一些标准,如软件是否易用、是否有良好的用户交互性等进行公平、准确的评价。

(二)互动增强

传统的教学环节中,老师和同学的交流仅限于课间十分钟或者课下较短时间的交流,交流时间少,沟通的问题也只是教学内容中个别的知识点。而在项目教学法中,沟通渠道是多向的,老师与学生之间沟通的宽度和广度都加大了。另外,即使在同一课堂上听讲,不同的学生在学习动机、学习心理、学习兴趣和学习能力等方面仍然会有一些差别。

(三)角色换位

在项目教学法中,学生居于教学活动中的主要地位,应该是项目的积极参与者,首先要认真阅读选定的真实项目材料,和同一个项目的同学讨论,甚至就项目问题的不同理解与同组同学展开争辩。其次在真实项目实战场景下,经过认真的独立思考和判断动手编写程序。学生的自学能力和实践能力得到提升,并主动构建自己的知识体系。居于教学活动中从属地位的是教师,教师不再是整个课程的中心。教师对整个教学活动按照工程项目的需要加以指导,做适当的示范,只是项目的指导者或者说是项目进度的推动者,引导学生进行深入学习。

程序设计教学论文范文3

关键词:图论;计算机专业;程序设计竞赛;在线实践

中图分类号:G642 文献标识码:B

1图论及图论教学

图论(Graph Theory)是数学的一个重要分支,以“图”为研究对象。图论中的图是由若干个给定的顶点及若干条连接两个顶点的边所构成的图形。这种图形通常用来描述某些事物之间的某种特定关系:用顶点代表事物,用连接两个顶点的边表示相应两个事物间具有这种关系。这种图提供了一个很自然的数据结构,可以对自然科学和社会科学中许多领域的问题进行恰当的描述或建模,因此图论研究越来越得到这些领域的专家和学者的重视。

基于图论的重要性,目前很多高校课程都涉及到图论知识,如离散数学、数据结构、算法分析与设计、运筹学、组合数学、拓扑学、网络优化等。越来越多的大学将图论单独作为一门课程来开设,作为数学、计算机科学与技术、电子科学与技术、管理学等专业本科生和研究生的必修课或选修课。

图论的教学具有如下特点:

(1) 概念、定理特别多,定理的证明通常都很难,在一定程度上造成教学比较难而且枯燥。

(2) 图论里很多问题都有具体的应用背景,但通常难以转换成图论中的模型,从而求解比较难,所以学生对图论课程有一定的兴趣,但往往会望而却步。

(3) 图论中的算法丰富,几乎每个应用问题都有不同复杂度的算法。例如,最短路径问题常用的算法有Dijkstra算法、Bellman-Ford算法、SPFA算法、Floyd算法,如果要用程序实现这些算法并求解实际问题,对学生的程序设计和算法分析能力有比较高的要求。

(4) 图论课程对锻炼计算机科学与技术等专业学生的算法分析与设计能力有很好的作用。

作者调查发现,国内高校图论课程的教学或者是侧重于完整的图论知识体系介绍、复杂的图论定理证明,或者是侧重于从应用数学的角度介绍图论在各领域的应用。我们在教学中发现,许多学生(特别是计算机专业的学生)在学习图论时,都不满足于图论算法的手工和草稿纸演算,迫切地想知道如何用程序来实现图论中的算法,以及如何用这些算法思想求解实际问题,这就对计算机专业的图论教学提出了新的要求。

2教学改革背景

随着我国的高等教育进入大众化阶段,许多高校将人才培养目标定位成应用型人才的培养。这就要求高校培养的学生不仅具备扎实的专业知识,还要有过硬的应用性知识。

对计算机科学与技术专业来说,应用型人才的培养目标要求注重培养学生软硬件系统的研发能力,强调学生对非计算机学科(专业)知识的融会贯通,学生应具备扎实的计算机基础理论知识和较强的实践能力。

发展应用型教育,培养应用型人才,应该贯穿于整个教学活动中,包括专业设置、教学管理、课程设计、教学手段和方法以及教学制度建设等方面。

在这样的背景下,我们在图论教学中一直在思考以下几个问题:

(1)“图论算法实现及应用”在我校是作为一门选修课开设的,如何让学生在感受到图论知识魅力的同时提高学习兴趣,调动学生的学习积极性。

(2) 如何针对计算机专业学生设计合适的教学方法,以适应他们的专业特点和专业发展方向。

(3) 如何设计新颖的实践教学形式和内容,引导和加强实践教学,让学生真正理解图论算法思想并能编程实现,灵活运用图论算法求解各种应用问题,以适应应用型人才培养的要求。

3图论课程教学改革

3.1改革思路

针对图论课程的教学现状和应用型人才培养的要求,我们尝试按以下思路进行教学改革:以培养学习兴趣入手,引导学生进入丰富的图论知识领域;向学生阐述有具体应用背景的图论算法思想;侧重图论算法的复杂度分析和程序实现;通过在线实践引导学生运用图论算法求解问题。

为此,我们在充分调研和积极探索的基础上,提出以下教学改革措施:(1)以大学生程序设计竞赛这一学科竞赛为驱动,激发学生的学习热情和积极性。(2)以“在线实践”这种新颖的实践方式为导向,丰富课程的实践教学并提高学生的实践能力。(3)加强“程序与算法设计”课程群的建设,构建完整的、系统的知识体系。(4)做好教材建设,编写适合这种教学思路的图论讲义、教材和实验指导书。

3.2以程序设计竞赛激发学生的学习积极性

由美国计算机协会组织的ACM/ICPC国际大学生程序设计竞赛已经有30年的历史了,中国大陆的高校在上世纪90年代中期陆续参赛,很多高校在总决赛中取得了优异的成绩。ACM/ICPC竞赛在公平竞争的前提下,提供了一个让大学生充分展示用计算机分析问题、解决问题的能力与才华的平台。ACM/ICPC竞赛鼓励创造性和团队协作精神,鼓励在编写程序时的开拓与创新。

近十年来,很多高校开始举办全校性的程序设计竞赛,并逐渐发展成为全省(市)性质的比赛,这极大地推动了这项学科竞赛在中国大陆高校的开展。

图论是这项程序设计竞赛中重要的题目类型之一。图的遍历、活动网络、最小生成树、最短路径、图的行遍性问题、网络流问题、匹配问题、图的连通性、图的着色等都有大量经典的题目,几乎涵盖了图论完整的知识体系。

例如,我们在举办竞赛时曾经出了这样一道题:由M×N个方格组成的网格表示敌占区,通讯员要从初始方格S出发,送情报到达目标方格T,其他符号的含义如图1所示。初始时,通讯员具有一定的体力。通讯员从某个方格出发,到达上、右、下、左4个方向上的相邻方格需要花费的时间和消耗的体力如图1所示。另外,从目标方格的相邻方格到达目标方格,花费时间1,消耗体力1。本题要求解的是:通讯员能否到达目标方格?如果能到达,所需最少的时间是多少(只需要保证到达目标方格时,通讯员的体力>0即可)。本题的求解要用到广度优先搜索算法。图1中给出了一条花费时间最少为13的路线(初始体力为8),到达目标方格时剩余体力为1。

我们在教学中以这些题目为例阐述图论算法思想、分析算法的复杂度并用程序实现,让学生切实地理解算法思想、直观地体会到算法的具体应用,同时我们也布置相应的题目作为练习题。这些题目的趣味性和挑战性能吸引学生投入较多的时间和精力去完成,在丰富知识结构的同时提高学生的程序设计和算法分析实践能力。

3.3以在线实践提升学生的程序实践能力

随着ACM/ICPC程序设计竞赛的推广,各种在线程序评判(Online Judge,简写为OJ)网站也应运而生,这为程序设计爱好者提供了一种新的程序实践方法:在线程序实践。

在线程序实践是指由OJ网站提供题目,学生在线提交程序,OJ网站的在线评判系统实时评判并反馈评判结果。这些题目一般具有较强的趣味性和挑战性,评判过程和结果也公正及时,因此能引起学生的极大兴趣。

学生可以根据OJ系统反馈回来的评判结果反复修改程序,直到最终收获Accept(程序正确)。这不仅能培养学生独立分析问题、解决问题的能力,而且每成功解决一道题目都能给学生带来极大的成就感。

在教学中,我们以组织学生开发的OJ系统作为实践教学平台,该平台主要起到了以下作用:(1)作为教学演示平台。对课程中涉及到的算法都尽量用程序实现,并提交到OJ系统进行验证和演示。(2)作为算法分析平台。针对图论算法丰富的特点,我们在教学中对同一个应用问题采用不同算法实现,并提交到OJ系统,以测试程序的运行时间,让学生直观观察到算法的优劣。(3)作为实验教学的平台。在实验课上,学生可以用程序求解练习题并提交到OJ系统验证。(4)作为课程考核平台。对图论课程进行教学改革后,我们认为不适合采用笔试方式考核,因此采用在OJ系统上机考试的形式。这种考核方式过程更直观、结果更客观。

3.4以课程群建设推动知识体系的系统性构建

教学改革后,图论课程的教学目标定位为培养学生图论算法分析、设计和应用能力。这跟我们建设的“程序与算法设计”课程群的知识体系、知识目标、能力目标是吻合的,因此我们将图论课程纳入该课程群。

“程序与算法设计”课程群的知识体系设计为:程序设计思想和方法、数据结构设计与运用、算法分析与设计、面向对象的软件开发、图论算法分析与应用。为此,我们精选了6门课程组成该课程群,如图2所示。

课程群的知识目标为:通过课程群中各门课程的学习,掌握基本的程序设计思想和方法;理解面向对象程序设计的思想并能熟练运用;理解各种数据结构的原理和使用方法;熟练掌握常用算法分析和设计技巧,掌握常用算法的综合运用;掌握系统分析与设计的基本方法。

课程群的能力目标为:掌握基本的程序设计、测试、调试能力;能运用面向对象程序设计思想和方法开发较大规模的软件;能综合运用各种数据结构对软件功能进行描述和建模;具备基本的数据结构和算法分析和设计能力;能针对各种图论应用问题设计合理的算法并用程序实现;在软件开发中运用系统观点,对应用问题进行初步的分析和设计;在实践活动中锻炼毅力,树立克服困难的信心,培养竞争和创新的意识。

图论算法实现及应用课程是第四学期作为选修课开设的。在此之前,学生通过前期课程的学习,已经掌握了基本的程序设计思想、方法以及基本的数据结构使用,该课程与算法分析与设计课程同步开设。

图论课程在课程群中利用其算法丰富、应用问题多而广的特点,给学生提供算法分析与设计的实践机会。通过图论课程的学习,学生不仅能掌握丰富的图论知识,程序设计、算法分析能力也将得到进一步巩固和提高。

3.5完善教材建设,适应新的教学思路

教材建设是课程建设的重要工作,教材包括课堂教学使用的教材或讲义、实验教学使用的实验指导书、辅导教材等。为适应新的教学思路和方法,我们编写了讲义和实验指导教材。讲义立足于图论算法思想的描述及程序实现,并以大量的ACM/ICPC题目阐述图论算法思想在求解这些题目中的应用。该讲义在内容取材、描述上具有如下特点:(1)许多图论教材对图论概念的描述不一致,造成读者的阅读和使用困难,该讲义试图改变这一现状。对每个概念的表述,我们查阅了大量的图论著作并进行比较分析。在讲义中,我们对每个概念采用大多数图论教材采用的名词和描述方式。(2)忽略所有图论定理的证明,着重分析图论算法的思想,重点在于这些图论算法的程序实现和应用。对图论算法的程序实现是以经典的ACM/ICPC例题来阐述的。(3)分析每一个算法的复杂度,并对同一个问题不同算法的复杂度进行对比分析。(4)采用浅显易懂的语言、丰富的图表来描述图论算法思想。

4教学方法

一种新的教学思路必须辅以一套新颖的、有效的教学方法,因此我们注重探索合适的教学方法。

4.1课堂教学

课堂教学是教学的重点,我们在教学中采取以下教学方法加强课堂教学效果。

(1) 上好第一堂课。第一堂课的教学效果会决定学生是否会认真听这门课,特别是选修课。对图论的第一堂课,我们往往从一些有趣的问题入手引入图论的研究内容,如哥尼斯堡七桥问题、中国邮递员问题、周游世界问题、图的着色等。这些问题通俗易懂,比较有趣,更重要的是,这些问题可以把图论里的主要研究内容串接起来,从而让学生对图论研究的概况有一定的了解。

(2) 加强课堂互动。图论的很多问题来自于生产生活,在学生的学习生活中也能找到应用的例子。在课堂上,我们经常邀请学生在黑板上演示算法的求解过程,这能帮助学生理解算法的思想和求解过程。

(3) 加强算法的对比分析和演示。为了让学生对图论算法的复杂度有直观的认识,我们通常在分析完算法的复杂度后,对一些例题进行程序实现,并提交到OJ系统,通过反馈回来的运行时间来验证算法的时间复杂度。

4.2实践教学

这里谈的实践教学不局限于实验课。为提高学生对图论课程的兴趣,并引导学生开展基础的论文阅读和文献综述,为今后的专业发展奠定基础,我们在教学中开展了丰富的实践教学内容。

(1) 在解题时,指导学生阅读相关论文,启迪他们的论文查阅意识和能力。比如学生在求解网络最大流问题时指导他们阅读文献[3],这篇文献综述了网络流算法的研究历史和现状。

(2) 图论里有很多问题至今都没有得到解决,比如汉密尔顿回路、图的着色等,国内外学者对这些问题的研究也一直没有中断。我们指导学生综述这些研究,这对培养学生的探索性思维有很大的帮助。

(3) 指导学生定期对求解过的题目进行总结,以解题报告或小论文的形式提交,作为平时成绩的一部分。

(4) 为了丰富OJ系统的题库,我们采取一系列措施鼓励学生出题,比如在题目中对出题学生进行署名,组织学生的个人专场比赛等。学生出的题目大多来源于平时的学习和解题的积累,因此这些激励措施也能提高学生的学习积极性。

5结束语

图论是一门既有趣又具有较大难度的课程。对计算机专业的学生来说,图论课程不仅丰富了他们的数学知识,更锻炼了他们的算法分析与设计能力。采取新的教学思路后,选修这门课的学生逐年增多,许多学生的程序设计和算法设计能力得到了极大提升,并在程序设计竞赛中取得了很好的成绩。

参考文献:

[1] 徐俊明. 图论及其应用[M]. 2版. 合肥:中国科学技术大学出版社,2004.

[2] 徐俊明. 《图论及其应用》课程建设探索[J]. 教育与现代化,1997(2):41-46.

[3] 张宪超,陈国良,万颖瑜. 网络最大流问题研究进展[J]. 计算机研究与发展,2003,40(9):1281-1292.

[4] 钱建国. 浅谈算法实例在图论教学中的作用[J]. 莆田学院学报,2004,11(3):70-71.

程序设计教学论文范文4

力学、热学课程是师范院校物理教育专业的专业基础课程,在大学一年级开设,而紧跟力学、热学课程而开设的计算机程序设计课程是培养学生计算机程序设计能力的重要课程。物理教育专业学生在计算机程序设计课程学习中,随着课程的深入,递归循环、指针等难度较大内容出现,一部分学生感觉较难理解,更难自己编写计算机程序实现某些略为复杂的算法,容易产生计算机程序设计课程学习无从与物理专业课相联系、枯燥无味的感觉,降低了计算机程序设计课程的积极性、主动性。然而大学物理与与计算机的关系密切,物理教育专业本科毕业论文、物理学科硕士论文,都涉及大量的计算机编程,因为物理学复杂的非线性问题已经无法找到理论精确解,只能利用计算机进行计算、求解、分析、预测,另外计算机仿真实验提供了验证物理学理论、探测真实物理实验方案的可行性、验证物理数据的一种实验成本低廉、快捷的方法[1-3],因此,物理教育专业学生计算机程序设计能力的强弱,直接影响到其本科毕业论文研究以及将来可能的硕士论文研究。现有的教学研究论文中,未见定量分析大学物理基础课程成绩对计算机程序设计课程成绩的影响[4-6]。因此,选取论文作者所授课的广西师范大学物理教育专业4届5个班本科生的力学与热学课程期考成绩、计算机程序设计课程的段考与期考成绩,利用相关系数法定量分析力学、热学课程成绩对计算机程序设计课程成绩的影响。

2实验对象与分析方法

实验对论文作者所授课的广西师范大学物理教育专业4届5个班本科生,其中1997级81人、1999级78人、2000级65人、2001级1班59人、2001级2班55人,选取大学一年级的力学、热学的期考成绩,力热课程开设之后的计算机程序设计课程的段考、期考成绩。利用相关系数法反映计算机程序设计课程成绩与力学、热学课程成绩之间线性关系的密切程度[7,8]。

3实验结果

分析所选取的计算机程序设计课程成绩比例分布,考虑优秀、不及格两端的学生人数相对较少,进行相关分析的误差较大,而良好、中等、及格分数段的学生人数较多,因此将分数S分为优良分数段(S≥80)、中等分数段(70≤S<80)、及格与不及格分数段(S<70)三段,三段中的学生人数相差不大,分别计算计算机程序设计课程成绩全部、优良分数段、中等分数段、及格与不及格分数段与力学、热学课程相对应成绩的相关系数,结果见表1、表2。可以看出,表中所有相关系数均为正值,除个别外主要分布在0.40~0.80之间,绝大部分相关系数均大于0.45,大于0.8的相关系数很少,没有大于0.9的相关系数,说明力学、热学课程成绩对计算机程序设计课程成绩有一定的影响,但影响并不是特别显著,有一定的正相关性,但相关性并不是特别高,计算机程序设计课程成绩还受其它因素的综合影响。

计算机程序设计课程成绩在优良分数段、及格与不及格分数段与力学、热学课程相对应成绩的相关系数几乎都低于全部分数段的相关系数,甚至出现相关系数为0.20~0.39,极低无显著性意义的现象,而中等分数段的相关系数几乎都略大于全部分数段的相关系数,说明中等分数段的计算机程序设计课程成绩受力学、热学课程相对应成绩的影响要比优良分数段、及格与不及格分数段显著一些,即有一些计算机程序设计课程成绩优良的学生未必对应力学、热学课程成绩优良,也即有一些计算机程序设计课程成绩较差的学生也未必对应力学、热学课程成绩较差。力学、热学两门课程成绩各自与计算机程序设计课程成绩的相关系数整体差异不大,影响的显著性相差不大。

程序设计教学论文范文5

关键词:程序设计;课程;课程群

中图分类号:G642 文献标识码:B

1概述

课程群是几门内容密切相关,前后承接连贯一致的课程集合,一般属于同一学科甚至同一专业。深入研究专业课程体系,探索课程基本内容以及课程之间的衔接关系,配备合理师资结构进行课程群建设,易于打通课程知识脉络,避免课程内容重复或者前后脱节,使得前后连贯,内容融合,进而获得整体优势。课程群之间的课程相互配合,既能不断加深拓展内在关系,又能起到举一反三,相互促进的作用。我国高校进行课程群的研究实践已有十余年的历史,对于课程群的内涵、建设和评审均有很多探讨,取得了一系列的成果,一定程度上解决了单门课程建设带来的问题。近一年来,厦门理工学院计算机科学与技术系紧抓应用型、创新型办学方向,在计算机科学与技术和网络工程两个专业中进行了课程群的建设,取得了很好的效果。本文就程序设计课程群建设的探索与实践进行探讨和总结。

程序设计课程内容丰富,语法繁多,技术复杂,不反复实践是很难掌握的。另外,VC++、VS2008等程序开发工具,不投入大量时间去摸索,也不可能熟练运用于软件开发。在教学实践中我们发现,随着课程的深入,很多同学慢慢放弃了学习程序设计。这几年IT行业特别是软件开发相关企业深感招人难,不是学生数量不够多,而是他们认为毕业生不好用。事实上,这是普遍碰到的难题,师生如何“教”与“学”才能破解这个难题?从教学内容上看,教学中存在内容庞杂不成体系、课程之间脱节的问题,导致部分学生学习的时候逐渐失去信心和兴趣。因此相关课程必须进行组合与统筹安排,理清知识的层次,在教学中做到知识点前后连贯,循序渐进,内容丰富而不杂乱。在逐步提高学生动手能力的同时提高学生理解力,触类旁通,进而培养创新型人才。

本文将从应用型、创新型人才培养的角度出发,首先介绍程序设计课程群建设的基本原则,然后介绍程序设计课程体系以及课程群的建设措施,实际教学过程取得的成绩证明该课程群建设是成功的。

2程序设计课程群建设的基本原则

课程群建设是专业建设的一部分,应用型人才培养方案应瞄准专业定位,与行业现状和发展相适用,才能明确知识点、课程和课程群的具体内容。同时,课程群建设应当注重课程的知识重组,知识融合,是对单独课程的教学大纲、实验大纲等教学内容的重新设计。

针对应用型人才的培养目标,程序设计课程群应当以“程序设计”为核心,注重实践与方法,走“实践――抽象――设计”的路子,尊重客观的学习规律,注重学习兴趣的培养,在不断实践的过程中体会程序设计的方法,加深对程序设计理论的理解。在教学内容的设置上,首先应当以验证、模仿的内容为主,通过不断的实践,体会程序设计的方法,获得学习的乐趣。具备了一定的经验和方法后,重点放在对问题的抽象和设计上,要求能够针对具体的问题,抽象出程序设计的相关要素,设计出解决的方法,回归实践,采用主流的开发工具和开发平台去验证。在学习过程中,将“自己的设计”和“成熟的技术”相结合,使得学习者不断加深对程序设计的认识。熟练掌握程序设计的“抽象”和“设计”后,程序设计理论的学习就顺理成章了。

不难看出,程序设计学习过程的重点部分就是“抽象”和“设计”。以面向对象程序设计技术为重点,不断学习用面向对象的思想来抽象待解决的问题,将其转换成“类”的概念,设计对象的属性和行为,以及对象之间的联系。采用成熟的技术实现所设计的内容,是程序设计学习的重点。

实现设计的技术有很多,逐一介绍不但效果不好,显然也是不现实的。采用“触类旁通”的教学思路,侧重熟练掌握一种工具和技术,而对其他技术点到为止,不失为一种好的教学办法。

常用的程序设计教学语言有很多,层次也不一样,在课程群建设中应该做到内容连贯统一,避免简单重复,讲究课程之间内容的融合、加深,也要兼顾实现技术由浅显入深,相互参照。因此在课程的选择上不宜过多,以4~5门为宜。理论和实践(包括教师的实验指导)课时比例是另一个重要的问题,在实践中我们发现1∶2左右比较恰当。对于不同课程之间内容相同或相似部分的处理方式最能体现课程群建设的优势。有些相同的概念都要介绍,并且要做到相互促进,使得概念更加明确,而有些类似的概念就需要删繁就简。

从教学目标来说,程序设计课程群教学是让学生熟练掌握一门编程语言,熟悉相关开发方法和工具,深刻理解面向对象思想,熟悉面向对象程序设计技术。

3程序设计课程群的课程体系

程序设计系列课程旨在培养学生面向对象程序设计的“抽象”和“设计”能力,积累丰富的编程经验,熟悉相关编程语言、工具和平台,做到基本功扎实,实践能力强,触类旁通,善于综合运用所学的知识积极主动解决问题。在课程设计上,尊重学习规律,由实践入手,环环相扣,具体设置如表1所示。

目前,多数高校都把C语言作为程序设计的入门语言,但是对于后续课程的开设却有不同的见解。如果着重面向对象理论介绍,普遍开设了面向对象程序设计这门课程,这当中可选择的语言有C++、Java或C#等,虽然思想相同,但技术细节相差比较大。另外,也可以开设VB、Delphi和ASP等语言,因其形象直观,便于理解。从贯彻“抽象”和“设计”这个特征出发,我们选择C++语言。C++语言与C语言和数据结构有天然的联系,符合学习由浅入深、逐步推进、举一反三的特点。例如,数据结构中顺序表、链表等重要的概念,在学习C++模板的时候讲述了其实现技术,这对学习来说起到了“温故而知新”的作用。再如C语言中的字符串概念,在C++中出现了字符串类,实现的功能更为完备,实现方式更加让人易于接受,更有利于学生加深理解的是,学生自己可以实现一个字符串类。另外,对于重复的知识点,一般介绍功能较为完备的课程,比如一般C语言我们不介绍文件操作,而是让学生自学,到了C++中,再介绍C++中的文件操作,这样就删除了重复的内容。

为了进一步体现应用性的办学定位,结合当今行业的现状,我们认为有必要让学生在学校就接触和熟悉B/S结构程序设计,所以开设了相应的“Web程序设计”课程。当然,在培养计划中,“高级语言程序设计”、“数据结构”和“面向对象程序设计”作为专业必修课,而“软件开发平台”和“Web程序设计”可以作为专业限选课或专业任选课,注重讲述流行的编程技术、框架及其开发平台。毕竟,大型程序的开发需要软件工程方法,不借助好的开发平台,不仅难于设计,更难于实现。长期轻视应用技术类课程的教学,也是学生毕业后难以快速融入开发工作的原因。

4程序设计课程群实践体系

程序设计类课程实践性较强,为了强化学生的动手能力,通过实践体会理论知识,在教学安排中,理论课和实践课的内容和课时要合理设计。实践课一般分为课内实验课和课程设计,具体课时安排如表2所示。

课程群减少了实验安排的随意性和重复性。从内容上来看,“网页设计”的实验课注重界面效果;“高级语言程序设计”注重基本的语法知识和常用的算法;“数据结构”注重结构和算法,以及不同结构的特点;“面向对象程序设计”注重设计和实现;软件开发平台注重各类具体实现技术。具体实验内容如下:

(1) 高级语言程序设计:运行环境、数据类型、运算符和表达式、顺序程序设计、选择程序设计、循环程序设计、数组、函数、指针、结构体和链表、文件。

(2) 数据结构:顺序表操作、链表的操作、栈和队列、二叉树、图结构、查找和排序。

(3) 面向对象程序设计:熟悉IDE编程、流程控制语句、函数的应用、类与对象的实践、数组与指针、模板、动态内存分配、继承与派生、文件处理、异常处理。

(4) Web程序设计:Dreamweaver网页设计工具的使用、开发JSP(语法基础、内建对象)、Java Servlets 、JavaBeans、Java数据库编程技术、JSP综合应用实例等。

(5) 软件开发平台:Structs、Hibernate、Spring、Ajax、JSP、EJB、XML、WebServices等。

在内容安排上,课内实验课紧跟理论课程,而课程设计则一般学期中公布题目,期末完成,设计需要综合课程的内容,并且有一定的难度,需要学生能动地设计实现,一般需要查阅课外知识,培养学生的自学能力和创新能力。为了做到课程之间的衔接,课程设计的题目需经过课程群内任课教师的讨论通过。各门课程的课程设计各有所偏重,目前的安排情况如下:

高级语言程序设计:管理系统的功能分解,函数的设计以及指针结构体等的运用,典型算法的实现,注重语法和基本点算法。

数据结构:具体问题的数据结构设计与具体语言实现,注重各种结构的联系和区别以及灵活运用。

面向对象程序设计:具体问题抽象为类与对象的设计,继承、重载、多态等概念的运用,MFC平台的自学与运用,注重“类与对象”的抽象和设计。

软件开发平台:界面设计,B/S程序设计,网络程序设计等,注重各种技术的学习和运用。

5程序设计课程群的建设措施

课程群建设是个逐步探索,不断推进的过程,需要一系列的保障措施。下面主要讨论组织建设、教师培训、教材建设、教学内容建设和教研教改等方面。

组织建设方面,由课程主讲教师形成课程组,做到学历、职称和年龄的合理搭配,经验丰富的教师与青年教师形成帮扶关系。课程组设组长一名,负责整个课程群的建设和规划,以及日常会议的组织。系部出台相关指导性政策,并给与相应的经费支持。

在教师培训方面,“内培”与“外引”相结合,所谓内培,就是相互听课,取长补短,有计划地举行教研会议,就某个主题讨论,相互促进;鼓励主讲教师参与校外培训,包括去公司实习等。同时,注重引进本学科内有实际项目经验的高层次人才,补充教师队伍。

在教材建设方面,对每门课程制定长远的规划,不断总结教学经验,认真修订教学大纲和实验大纲,合理设计每一个实验题目和课程设计题目。对于有一定积累的课程,可以走先编写实验指导书,再出教材的路子。

在教学内容方面,程序设计课程的教学应当与应用技术的发展和行业的现状和发展结合起来,技术是不断革新变换的,因此程序设计课程群的课程和具体教学内容也需要不断地调整。当然,基本的概念、思想和理论有不变性,所以也应当注意变化的“度”。一味的追求变化,可能会丢失本质的内容,降低学生的理解能力和创新能力。我们的做法是有计划地组织教师参与相关的教研会议和课程培训,深入相关单位、部门和公司了解行业运用和对我们人才培养的期待,结合自身的定位调整教学内容。另外,与兄弟院校多交流也是一个积极的办法。

在教研教改方面,鼓励课程群内的教师积极申请相关的课程,包括精品课程、教研教改课题以及教学辅助设施建设(如教学网站、题库的建设)。

6结语

实施课程群建设一年来,我院形成了相对稳定的教师队伍,教学内容更加合理紧凑,教学大纲、实验大纲、实验指导书、教案等教学文档比较齐全。另外,总结了以往的教学经验和成果,我们的教师主编了相关的教材。长期坚持的教研教改活动也取得了效果,部分年轻教师的教学水平有所提高,在学校的教学比赛中获奖。学生学习目的更加明确,积极性高了,成绩比以往普遍好转。学生毕业设计中涉及到程序设计部分的课题质量也较以往有所提高,并且能热情参与各类学科竞赛。一系列的成果激励我们在今后的建设中,要进一步研究教学内容,凝炼办学特色,争取更多的教学成果,在教材建设、精品课程建设等方面取得更大的成绩。

参考文献:

[1] 王嘉才,杨式毅,霍雅玲,等. 课群及其质量检查评估指标体系的研究[J]. 高等工程教育研究,1999(S1):71-73.

[2] 李慧仙. 高校课程群三论[J]. 煤炭高等教育,2006,24(4):113-115.

[3] 郭必裕. 对高校课程群建设中课程内容融合与分解的探讨[J]. 现代教育科学,2005(2):66-68.

程序设计教学论文范文6

论文关键词:任务驱动教学,程序设计,教学探讨,高职教育

1引言

VB程序设计是高职院校计算机专业开设的一门专业基础课,开设这门课程的目的是让学生进行入门级编程教育,方便以后进行更深入地学习计算机编程和设计。VB程序设计的特点是界面友好,采用可视化编程技术,“所见即所得”,适合做界面设计和数据库管理。计算机编程是一件枯燥无味和繁琐的应用技术,如果没有强烈的求知欲望和学习兴趣,编程学习难以开展和深入研究。

高职院校侧重于职业教育,生源素质参差不齐,主要是成绩中等偏下的高中毕业生和中职毕业生。通过对高职学生知识能力架构进行统计和测量分析,数据显示,高职学生普遍存在厌学心理,高考的失足是一个沉重的打击,他们对计算机编程学习有强烈的抵触情绪,没有自学意识。激发学生学习兴趣成为VB程序设计教学的首要任务。高职学生虽厌恶理论和教条,但他们乐于动手实际操作,对简单实验和数据分析非常感兴趣,这种群体教育适合开展任务驱动教学。教学实践表明,在完成一个具体项目并投入实际应用时,学生充满了成就感和自豪感,大大提高了学生的主观能动性。

2任务驱动教学设计

任务驱动教学,是指在学习的过程中,学生在教师的帮助下,紧紧围绕一个共同的任务活动中心,在强烈的问题动机的驱动下,通过对学习资源的积极主动应用,进行自主探索和互动协作的学习,并在完成既定任务的同时,引导学生产生一种学习实践活动。它以建构主义教学理论为基础。针对任务驱动教学的特点,对课程进行总体目标、内容的整体设计、项目开发详细设计与流程分析等方面进行设置和分析。

2.1课程的总体目标

依据“因材施教”原则,VB程序设计采用多媒体教室或电子教室教学与实训机房上机实践相结合的授课方式。学生在做中学,在学中做,以及边学边做,重点突出技能培养。在突出技能的同时,还重点讲解解决思路和方法。学生通过学习,达到课程的总体目标:

(1)专业能力:了解可视化编程语言VB的特点;掌握面向对象程序设计的基本概念和方法;掌握程序设计常用算法;掌握VB的编程环境、常用的VB标准控件的基本使用方法;通过实验教学环节,熟练掌握VB可视化界面设计方法及相应编程;能够正确的阅读、分析、调试VB程序;达到能用VB设计简单的应用系统的能力。能够与他人合作组成一个小型的项目开发团队并积极主动的完成自己的工作。

(2)方法能力:培养学生的协调沟通能力、活动组织实施能力、语言表达能力、项目策划能力;具备分析问题、解决问题能力;具备资料检索和阅读能力;能够使用Office工具完成文档编写。

(3)社会能力:学生能够吃苦耐劳、保持严谨细致的工作作风;具备团队协作的能力;能够熟练的进行技术交流;使命感和责任感,强烈的自学意识和自学能力。

2.2课程内容的整体设计

在项目的设置上,把VB程序设计课程设置为9个具体开发项目,每个项目作为一个主题学习单元,项目均实行双线学习制,即课堂上教师指导学生完成一个规定项目,课外学生模仿课堂项目再完成一个自选项目。课程共设置72个学时,36个学时理论,36个学时实际操作和教师指导,每个项目占用8个学时。在课程的最后,设置一个综合项目开发的主题学习单元,与前面的学习单元不同的是,它是一个开放的项目,即需要学生自行组建开发团队,每个开发团队自行构思应用程序的类型和内容,明确软件的功能和效果,并完成应用程序的开发,这个主题学习单元可以综合培养学生的团队协作和组织能力,实现知识技术学习与能力培养一体化的目的。部分项目设置如下表:

具体项目

拟实现的能力目标

须掌握的知识内容

学时

……

……

……

……

5.精简版学生成绩管理系统

自定义类型的使用;掌握文件的打开、关闭和读写操作;文件系统控件的使用

自定义类型;文件的概念;访问顺序文件;访问随机文件;访问二进制文件;文件系统控件;

4学时理论+4学时实践

……

……