程序设计教学论文汇总十篇

时间:2023-04-26 15:38:22

程序设计教学论文

程序设计教学论文篇(1)

学情分析是教学设计系统中“影响学习系统最终设计”的重要因素之一。在教学设计中,依据教学设计理论,认真研究学生的实际需要、能力水平和认知倾向,“为学习者设计教学”,可优化教学过程,更有效地达成教学目标,提高教学效率。VB的开课学期一般在大一第二学期,按照专业培养计划,计算机网络技术等专业在新生入学的第一学期就开设了《C语言程序设计》这门课。对于从未接触过语言类课程的大一新生来说,C语言的学习,颠覆了大部分学生的思维方式,学生普遍感到很吃力,有相当一部分同学开始对程序类课程感到害怕。

二、教学方法探讨

1.消除学生的畏难情绪

为了打消学生的畏难情绪,对于VB教学,应首先与学生谈VB,而不是教VB。首先,要让学生明白VB和C语言是完全不同的两种编程方式,不要因为害怕C语言,而害怕VB。教学中,通过演示一个简单的例子,向学生演示只需要两行代码便可制作出美观的界面和可爱的功能。比如:示例1:制作美观的界面,实现窗体上的文字自动或手动的向下移动。突现VB相对于C语言的简单易懂,引导学生一步步完成所需功能。最后,启发学生:如果想让文字上移,如何修改程序?如果想让文字左移或右移,如何修改程序?如果想让文字左右交替移动,又要如何修改程序?通过上述示例的讲解,使得学生对VB有一个全新的认识——直观、简单、易学、易用。其次,要让学生了解为什么学习VB,VB对于他们有多么重要。这门课的开设除了承上启下其他专业课程外,还有一个重要的作用就是为了让学生能够参加计算机二级考证,VB在二级考证中相对比较易学易用。再次,告诉学生,有了C语言的基础,代码的编写会更为容易。从而激发学生学习的信心。

2.提高学生的学习兴趣

在教学过程中应尽量使用简单易懂的语言和示例,提高学生的学习兴趣,帮助学生理解知识点。比如,在讲属性、方法和事件这三个很枯燥的概念时,可以通过生活中有趣的示例来进行解释。示例2:通过“蟑螂从女生脚上爬过”的事例,讲解属性、方法和事件的概念。蟑螂从女生脚上爬过时,女生的脸色变红,脸的颜色为红色就是属性;女生尖叫起来,女生跳起来,这是女生本身做出的动作就是方法;蟑螂爬过女生的脚,这是外部事物对女生做出的动作,就是事件。通过这种类型的示例,成功吸引了学生的注意力,也帮助学生理解了这几个难懂的概念。在讲属性、方法、事件的书写格式时,也可将这个示例写成VB伪代码的形式:属性的表示方法:女生.脸的颜色=红色方法的表示方法:女生.尖叫啊事件的表示方法:女生_蟑螂爬过至此,学生对VB程序一下就理解了。

3.实践中学习,项目中巩固

程序设计教学论文篇(2)

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

二、项目教学法的实施

1.项目教学法实施原则

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

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

2.项目教学法实施步骤

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

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

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

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

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

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

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

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

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

程序设计教学论文篇(3)

2.有利于学生提前进入企业岗位角色,校企对接有效缩小学校与社会的距离。本着先进性和实用性优化程序设计类专业课程体系,采用“2+1”模式,即将程序设计类专业核心课程设置在前两年完成,学生在第五学期主要进行企业顶岗实习的同时,完成辅助课程的学习任务,第六学期进行校外毕业实习,部分学生在企业完成毕业设计,使学生提前适应企业岗位需要,并通过学校教师和企业技术人员的共同指导,更快地提升专业技能。

3.有助于营造职业氛围,提高学生的学习兴趣。程序设计类课程体系中职业核心课程选择典型工作任务,按照基于工作过程进行课程改革,将企业真实项目引入教学中,教学方式采用“教、学、做、评”一体化,创新实践工作室使学生在业余时间进行实践项目训练,在教师的指导下对企业进行技术支持,完成企业项目。

二、增强创新实践能力的程序设计类专业教学改革实践

通过分析目前国内程序设计类专业学生创新实践能力现状存在的问题、企业用人需求与学校教育存在的问题,总结学习其他高职高专院校增强创新实践能力的程序设计类专业教学先进经验和工作方法,探索实践增强创新实践能力的程序设计类专业教学综合改革。

1.本着先进性和实用性优化程序设计类专业课程体系,采用“2+1”模式。课程内容的选择要既先进又实用,将程序设计类专业核心课程设置在前两年完成,学生在第五学期主要进行企业顶岗实习的同时,完成辅助课程的学习任务,第六学期进行校外毕业实习,部分学生在企业完成毕业设计,使学生提前适应企业岗位需要,并通过学校教师和企业技术人员的共同指导,更快地提升学生专业技能。这种“2+1”模式不同于普通学校实施的方法,“2+1”模式的实施使学生在顶岗实习的同时完成辅助课程的学习,学生便于及时与企业技术人员、学校专业教师沟通,及时提升专业技能。这与有些院校开展的前两年纯学习、最后一年纯顶岗实习相比,具有明显的优势。以顶岗实习项目为载体,创造真实的企业实战平台,增强创新实践能力的程序设计类专业课程体系改革立足软件业,例如移动互联网应用开发专业,形成了“一线四平台”的工学结合人才培养模式。“一线”是以岗位职业能力培养为主线,着重培养移动嵌入式软件开发能力、移动网站开发能力和软件测试及运行维护能力。“四平台”指课程实践平台、项目实训平台、企业实战平台和创新创业平台。搭建“教、学、做、评”一体化课程教学实践平台,实现学和做的融合、理论与实践的融合。模拟软件公司工作环境,借鉴软件项目管理经验,引入企业真实项目,创建专业项目实训平台。

2.进行基于工作过程的程序设计类专业课程体系的职业核心课程教学改革。按照基于工作过程进行课程教学改革,选择典型工作任务,理论与实践一体化。以工作过程为导向进行课程设计和开发,充分体现职业性、实践性和开放性的要求,根据行业企业发展需要和完成职业岗位实际工作任务所需要的知识、能力、素质要求,选取教学内容,让学生在工作之前就知道自己该学些什么、做些什么和怎样去做,为学生可持续发展奠定良好的基础。例如,基于工作过程的《JavaEE应用开发》课程设计主要包括:课程定位、工作任务及职业能力、课程目标、教学组织、教学内容与能力要求、教学手段、教学方法以及评价与考核等几个方面。基于工作过程的课程设计和开发过程:首先对岗位进行分析,在工作任务分析的基础上,根据能力复杂程度整合典型工作任务形成综合能力领域,根据认知及职业成长规律递进重构行动领域转换为课程,即学习领域。然后根据课程面对的工作任务和职业能力要求,确定课程的教学目标。其次是确定教学情境,在教学实施过程中,根据完整思维及职业特征分解学习领域为主题学习单元,在JavaEE应用开发课程开发中,按照软件工程的要求及实际开发流程,将真实的Web应用系统开发贯穿于整个教学过程中,本课程以“在线答疑系统”作为教学项目。再次是确定教学方法和手段,综合采用了项目导向、任务驱动、案例分析、多媒体演示等教学方法,将“在实践中学习、在学习中实践、理论与实践教学一体化”的思想贯穿在整个教学过程中。

3.教学方式采用“教、学、做、评”一体化。采用工学结合的教学模式,教学过程全部在一体化实训室中完成。模拟企业工作环境,组织学生分组学习、讨论,由学生分别扮演企业项目组中的不同角色,由项目经理根据组员完成系统规定的情况对组员打分,锻炼学生工作环境的适应能力和管理能力,培养团队协作精神。开展学生作品评析活动,从而融“教、学、做、评”为一体,融学校、企业为一体。

4.实施过程性考核作为程序设计类专业核心课程的考核成绩。考核方式以实操的熟练程度、任务的运行情况、项目的完成质量进行综合考评。根据课程的性质,程序设计类课程注重对学生实践动手能力的考核,加大过程性评价成绩所占的比例,从知识、技能、态度三方面对学生进行评价考核,成绩比例为:学习态度10%,团队合作10%,阶段项目50%,创新项目20%,报告文档10%。

5.利用创新实践工作室平台,开展创新实践活动。为了能有效利用业余时间提升程序设计类专业学生的创新实践能力,我们创建了大学生创新实践工作室。工作室以教师为支柱,以学生为主体,以培养学生的创新实践能力为目的,根据专业培养目标和学生兴趣爱好,组成学习实践小组,灵活合理地组织开展学习和创新实践活动,通过专题讲座、交流讨论、项目实践、经验总结、职业规划及头脑风暴等形式,对创新实践工作室学生进行重点培养和拔高,让这部分学生参与到真实的项目开发过程中,提高技术应用水平,增加项目开发经验。工作室学习小组每学期之初制订学习计划和实践项目,在教师的指导和团队的合作下,对企业进行技术支持,完成企业项目,保证学习实践的连续和深入,同时结合系部和学校组织的技能大赛,形成一个良好的学习实践氛围,带动其他学生参与专业实践的积极性。通过创新实践工作室,搭建一条学生与教师交流、学习的桥梁;激发程序设计类各专业学生的创新意识、创新能力、动手能力,扩宽思维方式,提高大学生科技创新和工程实践能力;增强了学生的就业竞争力,提高了学生的高质量就业率。

6.校企合作开展创新实践活动。由企业专家来学校开展周末软件实训班、与企业联合举办软件开发知识竞赛、企业专家为学生授课等一系列形式,使学生较早掌握当前较流行的编程技术,为学生的程序设计拓宽思路,提高其创新思维的能力,从而提高其职业实践能力。

三、改革效果

通过增强创新实践能力的程序设计类专业教学改革与实践,通过比较科学的、行之有效的操作方法及规范的管理办法,提高了学生的创新实践能力。

1.毕业生就业率得以提高。通过增强创新实践能力的程序设计类专业教学改革与实践,为学生择业和企事业选人创造了条件,学生整体就业得到了提高。

2.就业质量得以提高。学生创新实践能力的增强,使学生在毕业时,职业技能比较好,更容易进入职业角色,大大缩短了毕业生试用期和职工的培训时间,学生更容易进入层次较高的单位就业,毕业生中有三分之一在二年级结束时就被多家企业录用。

程序设计教学论文篇(4)

(1)单选按钮和复选框的Value属性单选按钮和复选框的Value属性值不同,均能实现判断用户的选择。但是单选按钮的Value值有true和false,分别代表选中和不选中;而复选框的Value属性值有三种:0表示Unchecked,即复选框处于未被选中状态,1表示checked即复选框处于被选中状态,2表示Unavailable即复选框处于禁止状态,不可使用,复选框将以灰色显示。此部分在讲解时,准备利用两类控件的Value属性,来完成判断字体、字形、颜色、滚动方向等功能,以强化知识点的理解。(2)多分支语句结构的书写多分控制结构语句书写也是本次课的重点之一,在本项目中主要实现根据用户不同的选择实现字幕的控制。因此在教学过程中,教师应集中讲解该部分知识点,更好促进学生消化知识。

1.2难点

(1)根据用户选择改变字型设置以“发现问题—探究问题—解决问题”为主线,采用讲授法、对比法、演示法等,引导学生使用思考分析,促进知识的消化吸收,提高课堂学习效率。(2)利用Timer控件和多分支结构语句设置显示字幕滚动通过将知识点融入任务中,逐步消化吸收,采用教师讲授和学生自主探究知识相结合的方法,使学生在理解的基础上能够做到举一反三。

2教学方法设计

2.1目标逆向教学法

以实践活动为中心,学生为主体,教师引导学生主动参与教学活动;在活动中发现问题,然后通过理论知识讲解来解决活动中学生提出的问题。

2.2双层情境教学法

教师将教学情境分类为两个阶段,在第一个阶段的重点是让学生了解必需的技术知识、概念和掌握常用的技术操作,并初步获得技术在工作中的感性认识,即技术情景化阶段。在第二阶段,创设应用技术的现实情境,让学生完成真实的任务并创新,即技术应用情景化阶段[3]。

3教学过程设计

3.1创设情境

假设你是某银行的IT技术人员,经理请你设计门头滚动字幕,更好地宣传银行的各种金融业务。此步骤设计的目的是让学生尽快进入角色,体验情境;明确任务。

3.2展示项目“滚动电子屏”设置程序

教师首先展示项目“滚动电子屏”设置程序,如图1所示。学生观看教师演示,对项目有初步的印象。然后回答老师提出的问题:这个程序主要用到了哪些控件?我们学过的有哪些?学生根据已有知识对窗体控件进行梳理;初步认识到单选按钮和复选框的功能和应用场合,巩固已有知识,并培养学生仔细观察能力,并为下面将单选按钮和组合框控件的讲解做铺垫。

3.3任务一为窗体添加控件、设置基本属性

在展示项目后,教师鼓励学生根据项目演示,利用前阶段所学知识,尝试向窗体中添加控件,并设置基本属性。在学生添加控件的过程中,很多同学不使用按钮数组,而直接向窗体逐个增加,这时教师应该及时提出问题:如果按钮单个添加,在编写程序时怎样区分这些按钮、并且能快捷地实现属性的统一设置?学生激起共鸣,然后教师讲解控件数组的优点。

3.4任务二编写字体、大小、字形、背景颜色和字体颜色的设置

在任务一完成后,教师引出任务二的内容。即:为“设置”按钮编写程序,实现字体、大小、字形、背景颜色和字体颜色的调整。由于字形和字体等属性学生已经学过,所以教师采用循序渐进的方法,先鼓励学生完成易实现的部分,即书写字形字体属性,树立他们的信心。对于教学难点多分支控制结构If-Then-Elseif,教师采用集中讲解的方式提高课堂学习效率。

3.5任务三设置字幕滚动方向和滚动速度

任务三主要是通过单选按钮控制字幕滚动方向和速度,为了完成此项功能,涉及到计时器控件Timer。由于Timer控件的属性较为简单,教师鼓励学生先通过自学的方式学习Interval属性;对于Timer事件中控制滚动方向实践代码的编写,教师通过启发引导的方式来鼓励学生完成。

3.6任务四设置滚动字幕颜色、背景颜色为随机色

任务四是编写程序语句,为滚动字幕设置随机字体颜色和背景颜色。此步骤涉及的知识点RGB()颜色函数和随机函数Rnd()较为简单,因此完全以学生自学和组内合作的方式解决问题。

程序设计教学论文篇(5)

(一)面向对象程序设计

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

(二)项目教学法

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

二、改革的必要性

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

(一)难理解

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

(二)理论教学多

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

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

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

(一)项目题目的设定

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

(二)互动增强

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

(三)角色换位

程序设计教学论文篇(6)

(2)基于TCP套接字编程模型

面向连接的网络通信的建立有多个步骤,要使用多个函数。为了便于理解,可以将其比喻为“打电话”这个过程。要建立基于TCP的C-S(客户-服务器)通信,首先双方进程必须各自创建一个端点,也就是调用socket函数创建套接字,正如打电话之前,双方必须都拥有一台电话机一样。Socket是面向模型设计的,针对C-S通信双方提供不同的socket系统调用。客户随机申请一个socket号,这类似想打电话的人可以在任何一台入网的电话上呼叫。服务器拥有全局公认的socket,调用bind函数将套接字地址和所创建的套接字句柄联系起来,任何客户都可以向它发出连接请求和信息请求,这就类似于被呼叫方的电话号码告知了呼叫方。客户端调用connect函数发出连接请求,就好比拨打对方的电话。而服务端有可能在完成当前请求之前又发生多个服务请求,为了很好的处理这个问题,服务器调用listen函数将所有的服务请求放在一个请求队列中排队,并尽快处理这些请求[2],这就如被呼叫方在开启呼叫等待的功能,不错过任何呼叫请求。服务器端执行accept函数等待来自某一客户端的实际连接请求,实现与客户进程连接,这就如被呼叫方拿起电话,双方可以正式通话。最后,客户端与服务端完成数据传输后调用close函数关闭套接字,撤销连接。这就好比打电话双方通话结束后,挂掉电话。

(3)基于UDP的通信机制

用“邮局系统通信”来类比这一种通信机制是非常恰当的。基于UDP通信是面向非连接的,无法保证数据以正确的顺序到达。这就类似我们先后寄出两封信给对方,不能确保第一封信一定会比第二封信先到达对方手上。而在通信过程中,服务端和客户端双方首先都需要绑定IP地址和端口号,这就好比寄信之前,对方的通信地址我们是要已知的。而客户端发送信息以及服务端回应的时候,调用sendto函数来实现,需要指明对方的地址。这如同在寄信的时候,需在信封上要注明对方的地址信息。

(4)协议端口

在讲解“协议端口”时,学生总是不能理解为什么在网络通信的时候要指明端口号,为了解决这个问题,同样采取比喻教学法。大多数操作系统是支持多进程的,目的主机到底把收到的数据包送给哪个进程呢?就好比我们去银行办理业务,银行的业务有多种,有多个服务窗口。我们要成功地办理业务,必须知道对应的窗口号。同理,当你的主机开启多个服务时,如FTP、WWW、E-Mail多个服务,当接收到传送过来的数据包时,主机要准确的把数据包传送给相应的进程,这就需要数据传输的双方进程开启端口,这样数据包将会有标识有源端口,确保接收方顺利地将数据包传送至这个端口。

(5)带外数据

通常数据是按顺序传输的,然而套接字API概念性的提供了一些使用程序,从而可以使得一串数据无阻的先于普通的数据到达接收端。这就是所谓的发送带外数据。这就好比大家排队在银行依次办理业务,有个强盗拿着枪走入银行,越过整个队伍走到柜员面前。这个就可看作为带外数据。这个强盗能越过整个队伍,是因为枪标识他的特殊性,给了他凌驾于众人的权力。

程序设计教学论文篇(7)

1 问题的提出

程序设计语言类课程是面向所有专业一年级学生开设的计算机基础课程,以南华大学为例,非计算机专业为4学分64学时,工科采用c语言,文科选用VB语言。课程目的是通过学习程序设计语言,掌握基本的程序设计思想和编程方法,具备运用程序分析解决实际应用问题的能力。目前教学中普遍存在教学课时短、学生基础参差不齐、教学以“语言”为主、上机以“验证”为主、考核方式单一、重语言轻应用等问题,导致部分学生不知学为何用,甚至滋生厌学情绪,致使教学质量不高。从语言学角度看,程序设计语言与外语同属语言范畴,可借鉴外语教学取得的研究成果与成功经验。

2 理论基础

图式记忆结构,包括语言知识、社会知识、文化知识等。1932年,英国心理学家Bartlett首先使用了图式(Schema)这一概念,用来解释人类的高级心理活动。1980年,美国人工智能专家Rumelhart进一步发展完善了这一理论。图式是大脑为了便于信息存储和处理,而将新事物与已有的知识、经历有机地组织起来的一种知识表征形式,是相互关联的知识构成的完整的信息系统。

图式理论的主要观点是,人们在理解新事物时,需要将新事物与已知的概念、过去的经历及背景知识联系起来,对新事物的理解和解释取决于头脑中已经存在的图式。图式能促进理解,也可阻碍理解。如果输入的信息与记忆中的图式结构不一致,会导致两种情况,一种是拒绝接受与自己原有概念相反的信息;另一种是修正、增补原有的知识结构、尽可能与新的信息一致。图式理论将阅读过程解释为读者所具备的背景知识和阅读材料相互作用的过程。这种对读者运用图式知识进行语言理解和文本解读的阐述就是图式理论,现已被广泛用于语言研究和阅读研究。

根据图式理论,程序阅读的心理构建过程基于两个方面:一是程序文本提供的新信息;二是读者已有的相关知识,如程序设计范式。这一心理过程的完成要求读者利用记忆中的编程语言知识,以及过去的经验、程序设计范式和背景知识对程序所传递的信息进行加工编码、联想和预测,领会作者通过语言符号表达的意图,从而达到与作者相互交流的目的。

按照图式理论,学习者的图式知识结构分3种类型:内容图式(content schema):指文章内容的背景知识,读者对文章主题的熟悉程度;形式图式(formal schema):指读者对文章体裁结构的理解程度;语言图式(1inguistic schema):指学习者对词汇、语法、习惯用法等语言知识的掌握程度及语言运用能力。

程序阅读具有鲜明的学科特色,应扩展图式知识结构内涵,如表1所示,内容图式(content schema):指程序应用的背景知识,如:N—tier、MVC、MVVC、ORM、SignalR等;形式图式(formal schema):指一定的程序设计范式,如:顺序、分支、循环、递归、控制流图、事件响应模型、数据访问模型、Web生命周期、设计模式等;语言图式(linguistic schema):指编程语言的基本符号集合、语句、对象、控件、属性、事件、方法等。程序设计语言教学本质上是以某种特定编程语言为基础,传授程序设计思想。它强调思维的定式,而非局限于语法语义本身,所以教学核心是帮助学生在头脑中构建程序设计有关图式,尤其应注重形式图式的训练。

外语教学以“听说读写译”为训练手段,程序设计采用“读译写”作为训练方法。“读”指阅读代码;“译”指理解他人代码,从代码中抽象出思想,如算法、控制流、数据结构等;“写”指编写程序解决应用问题,将自己的解题思想用程序设计语言加以实现。3种方法都离不开对程序的阅读理解,图式理论是解释阅读过程的理论,所以教学中应指导学生主动地运用图式理论,改善程序阅读效果,进而提高程序设计语言教学质量。《礼记·中庸》中使用“博学之,审问之,慎思之,明辨之,笃行之”来描述学习的层次,它指明了学习的一般规律。程序设计语言教学应遵循这一规律。“读”是基础,该阶段应博学、审问,即广泛阅读程序,掌握基本语法与常见范式;“译”是提高阶段,应慎思、明辨,即分析对比程序;“写”是最高阶段,应笃行,即学以致用,使用编程语言解决实际应用问题。

3 教学中的应用

根据上述分析不难得出以下结论,传统教学模式以教师为中心,以语法为纲,主要分析讲解语句,片面强调语法和算法的重要性,缺乏创新能力培养,显然有悖于图式理论。因此,教学实践中应以学生为中心,以应用为导向,以程序设计范式为核心,遵循“读译写”学习规律,帮助学生主动地构建形式图式,激活扩充丰富已有图式,培养创新能力、实际应用能力。

3.1 构建形式图式

因为学生没有任何程序设计基础,头脑中也就不存在相关图式,所以首先要帮助学生构建程序设计图式。根据图式理论,认知受已有图式影响,因此构建的图式应尽可能确保其质量,这将影响今后学习。我们从Microsoft OneCodeSample与微软示例项目中精心挑选阅读材料,保证程序代码遵循统一的命名规范、编码、注释和文档规范。以1~2个项目贯穿教学全过程,每次课都有一个UI,既容易激发学生兴趣,又可以作为示例模仿,课堂以形式图式讲解为主,辅以图片动画便于理解加深印象。因为语言图式比较简单而且IDE工具提供智能提示功能,因此这一部分由学生自学掌握。部分形式图式案例,如表2所示。

3.2巩固已有图式

因为新信息的获取质量取决于已有图式,尽早激活已有图式有利于学生对新图式的理解和掌握,为此教学中采用了以下措施:①每次授课先回顾上次内容以激活已有图式;②采用螺旋模型逐步增加新信息以丰富扩充已有图式,如表3所示;③联系生活实际,列举现实生活中或学习中遇到的问题,说明如何用程序设计思想进行解决;④邀请学生介绍课后练习的基本解题思路,与学生共同讨论存在的问题及改进意见,刺激学生的学习兴趣,激发学好程序设计语言的欲望;⑤由学生上机实践,解决应用问题;⑥采取“书面考试+上机考试+综合应用”的考核方式,引导鼓励学生学以致用。

4 结语

程序设计教学论文篇(8)

中图分类号: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.

程序设计教学论文篇(9)

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

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

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

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

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

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

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

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

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

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

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

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

程序设计教学论文篇(10)

“C++高级编程”是一门对学生理论基础及实践能力要求较高的课程。C++高级编程是基于C++静态数据类型检查的、支持多重编程范式的通用程序设计语言基础上的高级编程。它支持过程化程序设计、数据抽象、面向对象程序设计、制作图标、泛型程序设计等多种设计风格,对学生理论水平及动手能力综合素质要求较高。

在教学工作中,我们坚持理论联系实践,帮助学生建立科学、有效的编程思想。并结合教学工作进行开发应用,提高了学生编写程序的动手能力,取得了较好的教学成果。

1教学中存在的主要问题

通过对我院计算机专业“C++高级编程”课程教学现状分析,发现主要存在以下问题:

(1) 重“理论教学”轻“实践教学”。我校计算机专业该课程教学总课时为70学时,要求学生在较短的学习时间内既要掌握理论知识,同时又具备较强的动手实践能力。因此,教师在授课过程中,要么过分强调理论教学,要么过分侧重于流行数据库开发工具的教学,致使理论教学与应用实践比例失衡,使学生存在理论高分实践低能现象。

(2) 教学方法和手段缺乏多样性。目前,多媒体教学日趋流行,我校教师在“C++高级编程”理论授课中大多采用CAI课件进行教学。此教学方法虽然减轻了教师的板书负担,增加了信息量。但学生反映在学习过程中,教学内容重视语法细节而轻视实践环节,理论结合实际解决问题的能力较低,始终处于被动学习状态。

(3) 实验内容过于简单,覆盖理论知识范围有限。在实验课教学过程中,每章节课后题可供学生选择范围较小,各章节实验内容联系不紧密,存在脱节现象。学生无法将所学知识应用到项目的分析、设计、实施、验收各环节中去。既不利于学生理论联系实际,也不利于学生适应工作后的企业项目开发环境。

(4)“教”与“学”考核方法过于单一。我校在“教”与“学”考核方式上以传统的理论笔试为主。该考核方式在“教与学”环节上存在重理论学习轻实践应用,使得绝大多数学生学习目的就是为了顺利通过考试,而忽略了实践能力的培养,致使“高分低能”现象的出现。

2教改思路

“C++高级编程”包括理论讲授、实验和课程设计三个环节,只有各环节紧密衔接、密切配合,才能保证该课程的教学效果。

2.1理论联系实际,采用案例教学法吸引学生兴趣

“C++高级编程”课程涉及知识面较广,理论性和实践性要求较强。在教学过程中,我通过设置具体案例,将学生学习内容溶入到分析、讨论、表达等教学过程中,让学生在具体的问题环境中积极思考、主动探索,培养学生认识问题、分析问题和解决问题的能力。

(1) 以典型案例为例证,引入核心知识。结合教学过程中每个关键知识点设置一些典型程序,以典型程序为例,详细讲解相关的知识点。在此过程中,以教师讲授为主,学生通过对典型程序代码的研讨学习,加深对知识的理解和掌握[1]。

例如,在讲解“网络程序设计”这一章时,首先向学生展示目前网络中最常见的即时聊天软件,如腾讯QQ;其次演示具体的程序实例,并讲解文字、语音或视频聊天程序的核心代码,遇到核心知识点时,再深入讲解相关的理论知识。

采用这种方法授课,可将复杂的问题简单化、枯燥的知识趣味化、抽象的道理具体化,可以使学生产生浓厚的兴趣,极大调动了学生研究学习代码的积极性。

(2) 围绕实际案例,展开讨论。当课程进行到中期时,学生已具备了一定的编程经验,这时可以借助一个实际案例,组织学生开展辩论和研讨。教师提出该案例,但不对案例作具体的解释说明,让学生在课堂上各自阐述自己的观点、论据,并相互提问和回答[2]。

例如,在“数据库程序设计”一章的学习中,总结该章节的内容后,就可以用一个学生做过的数据库程序为实际案例,让学生们讨论该程序有何优点、不足及如何改进。这种方法不仅可以锻炼学生独立发现问题、思考问题的能力,还有利于培养学生敏锐的应变能力、思维能力和语言表达能力。

2.2加强实验教学,锻炼学生动手能力

“C++高级编程”课程的实验教学是整个教学过程中一个非常重要的环节。上机实践不仅能提高学生灵活运用理论知识的能力,而且使学生在编程、上机操作、程序调试等方面受到严格的训练,有效地提高学生程序设计能力。

在开始学习“C++高级编程”课程之前,学生通过“C++程序设计”和“面向对象编程方法”的学习,已具备一定的编程基础。很多学生对程序设计的认识还只是停留在借助程序熟悉语法的程度上,对如何使程序高效、稳定、可移植性强等方面没有很理性的认识。如何培养学生养成良好的编程习惯,真正从专业角度进行软件设计,是“C++高级编程”实验教学需要认真思索和努力解决的问题。

首先,向学生介绍自己多年来的编程经验体会,推荐一些好的书籍和文献资料供学生使用。其次,让学生大量阅读和仿写优秀的程序,通过学习和借鉴快速掌握这些优秀程序员的经验和方法,少走弯路,养成良好的编程习惯。第三步,也是最关键的一步。在实验过程中,始终严格检查学生设计的程序,及时指出其在编程习惯上的错误。很多学生认为只要编写的代码能调试运行出结果就万事大吉,这是错误的思想。作为教师要具有极大的耐心和持之以恒的耐力,及时指出并纠正学生编程中出现的问题,使学生养成良好、高效的编程习惯。

另外,为取得实验教学的最佳效果,在实验项目的设计上采取由浅入深,逐渐增加难度的办法,引导学生逐步提升编程能力。开始时,多设计一些验证性强的实验,让学生结合事例步骤仿写程序。在中后期设计一些具有较强综合性的实验项目,锻炼学生综合运用知识的能力。教师开始时要详细讲解,分阶段布置一些难度较大的作业由学生独立完成,培养学生动手能力。

2.3通过综合性实验,培养学生独立研究的能力

课程设计环节安排在整个教学过程的后期,目的是着重提高学生软件分析、设计和开发的综合能力,是培养学生综合运用知识独立研究的关键环节。

所谓综合性实验是指实验内容涉及本课程的综合知识或相关课程知识的实验。开设综合性实验的目的在于培养学生的综合分析能力、实验动手能力、数据处理能力及查阅中外文资料的能力[3]。为此,我布置了4个综合性设计实验项目。

(1) 多媒体软件设计项目:设计开发一个多媒体播放器,能够播放某种格式的音频文件、视频文件或动画。要求该软件具有选择播放文件,播放、暂停、继续播放、停止、音量控制等基本功能。

(2) 图形图像软件设计项目:设计开发一个图形图像软件,要求该软件能够画出点、直线、圆等基本图形,具有设定颜色、大小、位置等基本功能。

(3) 数据库系统程序设计项目:设计开发一个后台数据库与一个前台信息管理系统,可以对数据库中的记录进行管理。要求该软件具有浏览、修改、增加、删除和查询等基本功能。

(4) 网络程序设计项目:设计开发一个客户机/服务器模式的网络软件,要求能够根据选择建立客户机端程序或服务器端程序,客户机端和服务器端之间能够相互交换数据。

实验中教师采取个别讲解、个别辅导、就普遍存在的问题演示相结合方法进行讲授,有针对性地发现和解决每个学生存在的问题。在课程设计过程中始终坚持以下要求:①按照软件工程思想使用面向对象技术进行程序设计。②注意养成良好的编程习惯和程序设计风格。③不断提高程序调试技能。

要求学生提交的课程设计报告包含的内容有:设计项目涉及的核心知识介绍、设计开发的步骤、程序功能介绍、核心源代码、设计总结。

经过4周共20学时的实践课程学习,学生按时提交了设计结果。其中40%的学生选择了多媒体软件设计项目,45%的学生选择了数据库系统程序设计项目,10%的学生选择了网络程序设计项目,5%的学生选择了图形图像软件设计项目。从设计过程、设计结果和课程设计报告综合分析来看,10%的学生非常优秀地完成了设计,30%的学生完成得较好,50%的学生基本达到了设计目标,而有10%的学生未完成或部分完成了设计。学生普遍反映通过实践学习开阔了视野,提高了编程综合能力,增长了信心,达到了预期的课程设计实践目标。

3结语

2008年5月教育部对我校的本科教学评估中,“C++高级编程课程设计”作为综合性、设计性实验项目获得专家的好评,该科目评审结果为优秀,教学经验在全校教师中进行了推广。

“C++高级编程”这门课程在教材、教学内容、教学方法的选择及实验内容的设计等方面都对任课教师提出了新要求。坚信通过不断实践改革“C++高级编程”教学内容,改进教学方法,我们会培养出更多具有创新型、研究型、综合素质高的人才。

参考文献:

[1] 黄英琼. 谈“计算机图像处理”课程实例教学法[J]. 计算机教育,2007(3):24-26.

[2] 马晓敏,姜远明,胡光. 试论计算机案例教学的新思路[J]. 教学与管理,2007(4):133-134.

[3] 江静.“数据结构”课程综合性实验的实践[J]. 实验科学与技术,2006(6):64-66.

Exploration and Practice on the Teaching Method in C++ Advanced Programming

MA Xiao-ting

上一篇: 节水灌溉论文 下一篇: 本科药学论文
相关精选
相关期刊