程序设计教学论文实用13篇

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

一、行为导向教学法的基本理论

“行为导向教学法”是在近几年从德国引进的现代的职业教育新模式,其目标层次是培养人的行为能力,方法层次是人的行为活动。即摘要:这种教育以行为为目标,教学以行为为导向,教学是学生积极参和的全面的教学,学习过程是学生同时用脑、心、手来进行学习的过程。

行为导向教学法具有很强的针对性,即是以职业活动为导向,以教会学生“学会学习、学会工作”为目标而开展教学活动,因此,对学习者来说,学习目的是十分明确,即现在的学习是为今后的职业服务。教学活动的开展,通常是围绕某一课题、新问题或项目开展,是以“学习任务”为载体,引导学生自主学习和探索的过程。整个教学过程为一个包括获取信息、制订计划、做出决定、实施工作计划、控制质量、评定工作成绩等环节在内的完整的行为模式。使用“行为导向教学法”,将能更好的培养学生的关键能力(专业能力、方法能力、社会能力、个性能力),以达到职业教育的“职业教育就是就业教育”的教学目标。

二、行为导向教学法在VisualBasic教学中的必要性和可行性

(一)必要性

现行的计算机专业类教材大多和其它学科式的教材一样,重视知识结构的系统性,教学内容大多以线性方式展开,适用于“循序渐进”的传统教学模式,以《VisualBasic程序设计》的教材为例,从语言基础、流程控制、过程和数组、窗体和控件、对话框设计、菜单、工具栏和状态栏设计等等,分章编排,在每一章的内容里,也同样按线性方式展开。假如,在教学中仍按传统的教学方法按章节讲授,势必降低的课程的综合性、实用性,也缺乏趣味性,这不但难以培养学生学习喜好,使得教学双方都陷入困境,而且,学生不知道如何在真实的情境中灵活地使用知识和运用技巧。这样的学习,是很难面对今后职业的。要改变这一现象的方法,比较成功的是运用以课题或项目来开展教学活动的行为导向教学法进行教学,在教学中,淡化知识的系统性和连贯性,更多关注的是知识之间的联系,在联系中学习知识、在综合运用中学习知识,使学生不仅学会了程序设计知识本身,又培养了学生运用程序设计的知识去解决实际新问题的能力,达到“学以致用”的教学目的。

(二)可行性

《VisualBasic程序设计》是一门实践性和操作性很强的课程,知识涉及许多抽象的术语,如摘要:类、对象、过程、语句、控件等等,还有大量的开发工具的使用。仅就VB的开发环境为例,其中就包含了摘要:窗体设计器、代码编辑器、对象浏览器、属性窗口、工程管理器、工具箱、菜单、工具栏等等。把握和熟悉它们的最好方法,就是在不断的结合实际的“案例”(案例教学法)或“课题”(项目教学法)的操作实践中去把握。在教学中,教师可以把课程内容包含在两到三个综合贴近实际的项目,给出案例,再把这个项目分成若干个小项目(或模块)。例如摘要:以开发一个“学生信息管理系统”为一个综合项目(教师首先给出案例演示,以引起同学们的关注),再分别以“登录窗口”、“查询窗口”等为小项目进行设计开发,学习相关的基础知识(如摘要:在设计“登录窗口”的项目中,学生可以把握“文本框、标签、命令按钮、属性设置、变量命名规则、变量定义、变量数据类型、变量的声明语句、赋值语句”等相关知识群)。学生在具有目标明确的项目驱动下,以“做中学”的方法进行学习,这样,不仅可以提高他们学习的主动性和学习乐趣,同时也培养了他们的关键能力。

二、“行为导向教学法”案例

行为导向教学法中的“项目教学法”是指师生以团队的形式共同实施一个完整“项目”的工作而进行的教学活动。通过在开展项目过程中有针对性的工作来培养学生的关键能力,非凡是独立工作能力、想象力、创新能力。项目教学法包括了计划、实施和检查及成果展示的全过程。它是由学生自己来完成整个过程的教学方法。以下是一个项目教学法的简案。

项目摘要:学生信息管理系统

(一)教学目标

1.培养学生运用VisualBasic知识解决实际新问题的能力;

2.培养学生独立学习和工作的能力;

3.培养学生和人合作的能力。

(二)项目的实施过程

三、需要重点注重的两个新问题

(一)教师角色的转换

在行为导向教学中,对教师提出了更高的要求。教师应是“双师型”的教师,老师的角色由传统的教学主导者转变为教学活动的引导者或主持人,在教学过程中,教师以咨询员、伙伴、朋友等角色出现在学生中,教学方法由注重“教法”转变为注重“学法”,为此,要完成教学任务,教师要付出更多的心血。

(二)项目设计的合理性

程序设计教学论文篇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

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 移动学习

移动学习(M-Learning)是借助移动互连技术,使用移动计算设备(智能手机、PDA、移动电话等)实现学习者随时随地进行不同目的、不同方式的学习[1]。移动的内涵包括:形式上是移动的,即学习者不再受时间、空间和有线网络的限制,可以随时随地进行不同需求、不同方式的学习;学习环境是移动的,学习资源和学习者也是移动的;内容上是互动的,进行教学活动的双方实时交流,教育信息、教育资源与教育服务依靠移动计算技术和互联网技术实现双向“移动”,教与学相互促进,才能更充分的体现移动学习的优越性;实现方式上是数字的,移动学习是基于无线移动设备进行的数字化学习,它是在数字化学习的基础上发展起来的,是远程学习发展的一个新阶段[2] 。

现阶段的移动学习受技术条件的制约,通常作为高校教学的一种辅助学习模式,主要应用于管理和为学习支持服务提供“交互”通道,学生和教师通过使用移动设备(如手机等)方便、灵活地实现交互式教学活动。高校移动学习的主要应用模式分为三大类:基于短信息的在线移动学习,基于连接的在线移动学习以及存储移动学习模式[3]。基于短信息的在线移动学习具有使用费用低,设备普遍支持等优点,主要应用于通信数据少并且可用简单文字描述的学习活动和学习服务,可用于向学习者发送课程安排、考试安排和考试成绩等信息,提供指导、激励和支持等作用。基于连接的在线移动学习和存储移动学习,需要建设WAP站点,提供能够支持移动设备访问和下载的学习资源,着重选取能够贴近学习者生活和工作同时又较为时尚和流行的主题作为学习内容。存储移动学习和基于短信息的在线移动学习将是目前在高校中最切实可行的移动学习应用模式[4] [5]。

2 C语言程序设计课程特点

C语言作为当今最为流行的程序设计语言之一毕业论文范文,不仅是计算机专业的必修课,也是很多

非计算机专业的学习课程。随着计算机的普及,学生运用计算机的能力越来越强,但计算机程序设计课程因其较复杂的语法、编程等知识,依然是众多学生学习上的“拦路虎”。

C语言程序课程知识点琐碎,概念繁多,理论不易掌握;概念抽象且复杂,包含的数据类型和运算符丰富,需预习与复习相结合才产生较好学习效果;对应的规则繁多且易混淆,使用较为灵活,容易出错,使得学生容易产生畏难、厌倦情绪;理论与实验教学学时分布不均衡,导致课堂教学中,对如何分析和解决问题讲得不够充分,学生编程思路不清楚;实验过程中,不能将理论知识应用自如,在处理实际问题时往往不知从何入手,需要在平时教学中注意培养学生动手能力[6][7]。

C语言程序课程的这种特点,适合采用移动学习作为其辅助教学方式。针对C语言理论性强的特点,可以在课前课后发送定时短信,提示预习摘要求较高,不好的缩进格式影响其呈现效果,结构化风格使得程序占用篇幅往往较长等等,这些因素均会制约移动设备的可读性。

3移动学习在课程教学中的应用

根据上述分析,设计移动学习方式如下:总体原则,以传统教学方式为主,移动学习方式为辅,移动学习方式充当课堂教学的重要补充,能够实现课堂知识的延伸,指导和激励学生进行更深层次的学习和实践。实现方式,主要采用基于短信息的在线移动学习方式,配合基于连接的移动学习空间、论坛,以及存储移动学习资源建设。针对课堂教学,精心设计课前案例,提出驱动式问题,相关预习提示,课后设计相关重点回顾,知识点延伸,以短信形式发给学生,对于短信不能很好显示的内容可以邮件形式发送给学生,或者放在相关网站上,以消息的形式提醒学生查收。软硬件支持:考虑到学生普遍拥有设备的程度,将移动设备限定在普通移动手机,软件使用中国移动飞信校园版(EFetion_campus)[10],可以支持PC端向移动手机的短信群发,通过飞信、群、语音、邮箱、空间等多种方式实现互联网、移动网间的无缝互通毕业论文范文,还可以使用日程提醒,邮件提醒等功能打造个性化的学习指导。移动学习具体实现方式如图1。

图1 移动学习应用模式图

3.1功能模块介绍

移动学习做为一种辅助教学模式,能够参与到C语言课堂教学的课前准备,课后辅导以及实验指导等方面。

3.1.1短消息学习模块

(1)课前预习提示。可将每节的学习目标、重点、难点发送给学生,也可发一典型程序,加驱动式问题,发送到邮箱里,同时设置邮件提醒功能。

(2)课堂内容回顾。对前面课程学习过的知识内容以短信形式发给学生,提醒其回顾。

(3)作业提示、阶段测试。也可仿照上述短信设置方式,定时群发给所有的学生。

3.1.2移动学习空间或论坛

移动学习空间既可以方便学生在线浏览,也要努力适应基于连接的移动学习访问,其资料下载模块提供的学习资源,也要支持移动终端设备。移动学习论坛,实现学生自由交流空间。在移动学习论坛上定期设置讨论专题,既可以是关于某个错误进行分析,也可以针对相关程序选题集思广益,还可以是对当前教育进行探讨等等。

(1)课堂内容延伸。可提供诸如:MSDN使用介绍,帮助学生自如设计C/C++程序等;CSDN论坛介绍,提供同资深程序员交流学习的平台。

(2)常见错误提示分析。提供调试程序基本步骤,常见错误解读及可能出错原因。

(3)课程设计选题。设计相关程序选题,使其能够体现课程各个阶段的进度,并且具有一定的实用性,趣味性,能够调动学生的学习积极性。

(4)测试空间。提供一些历年试题,可以帮助学生巩固理论学习。

(5)教育思考。定期对教学进行总结,寻求更好的教学方式,也可以一些高校精品课程网站链接。

(6)资料下载。课程内容的各种学习资源,如PPT课件、多媒体课件、部分课程的录音、录像等;有关课程的各种辅导资料,如各章节的知识要点、课程设计任务库、程序设计案例库、试题库等都可以作为下载的资料。

3.2移动学习内容设计

在高校教育中,学生同时需要进行多门课程的学习,如果在针对某一门课程实施基于短信息的移动学习方式时,设计过多的短信内容,或者发送较多的次数,都将会给学生造成信息轰炸,带来过重的信息负担。配合C语言程序课堂教学,在课前课后发送两条飞信,每次不超过5页,对于无法以短信内容呈现的资源就发送到邮箱,同时以短信形式提醒学生注意查收。程序设计课程所涉及程序对格式要求较严格,一个程序案例通常占用较多篇幅,此时以邮件的方式发送较为合适,同时在相关论坛上设置讨论专题,根据学生回答设置最佳答案,统计学生活跃度,作为平时成绩参照。图2为课前预习的飞信基本内容设计。

图2 飞信基本内容设计

把课程内容按照“章-节-知识点”的层次模式进行组织,整理出每章每节的学习目标、重点、难点、学习指导、参考资料等内容毕业论文范文,并概要总结出每个知识点的核心内容和若干测试题目,学习者可以通过短信息随时随地自由学习、复习这些重要的知识点,并对学习的效果进行测试。设计短信内容时需考虑程序格式问题,屏幕显示行数,尽量控制在8行*5屏=40行,每行8字以内,不要以图片的形式发送(涉及彩信资费问题)。

另一方面,为课程的核心内容提供文档、PPT课件、课程录音、课程录像等多种媒体格式、适合多种移动终端的学习资源,满足学习者不同的学习需求和学习习惯。学习者只要把这些资源通过教学网站,下载到自己的移动终端上,当他们在教室外面、公共汽车上等地方时,都可以通过移动终端来浏览这些学习内容,充分享受移动学习的便捷与方便,而且不需要承担高昂的移动通讯费用。但是供下载的资料要充分考虑移动学习的特点,不仅要考虑学生的设备支持程度,还要考虑移动学习的片段性特点,对其中的部分资料需要进行特殊处理使其适合移动学习方式,主要处理原则,按知识点,将文档,影音资料都处理成片段,确保一个片段一个知识点,每个片段持续10分钟左右。

4 实验分析

借助中国移动飞信校园版,上述大部分移动学习方式都可以实现,从PC端到手机客户

端可以方便的实现短信群发,只要不超过一定数量,免费且易于操作。学生也分常乐意参与到这种形式的移动学习中来,非移动用户除了在接收短信受限之外,也可以加入飞信校园版PC端,可以共享资源。实验证明,使用移动学习方式作为程序设计课程的辅助教学方式能够大大调动学生学习的积极性。但是在学生中间出现了两级分化的现象,部分同学兴趣高涨,能够充分利用提供的学习资源,学习进度甚至出现超前现象,另外一部分同学上课时也在查看手机,学习不仅没有进步,反而沉迷于手机上网。这种现象提醒大家不仅应该注意实施移动学习的方式,同时还要加强大学生的思想教育,使其认识到网络资源的便利性和危害性,能够主动的去寻求有益的资源来提高自己。

使用飞信实现移动学习还有以下必须注意的地方:(1)飞信中涉及大量广告,容易分散学生注意力。(2)短信数量过大,易给学生造成信息轰炸,要限制性的使用。(3)需警惕不法分子盗取飞信或手机号,进行诈骗。可以利用飞信的二次开发功能,屏蔽其他模块,使其更适合校园使用。

移动学习对学习者也要有一定要求毕业论文范文,比如说需要一定的自学能力,自制能力,以及较强的学习动机等[8][9]。现阶段的移动学习在高校教学中应该起辅助作用,但不能排除其对研究生,博士生及在职人员充电的作用,所以还是要做好移动资源的建设工作,注意打上数字签名保护知识产权。

5 结论

当前,移动学习是教育界的研究热点。将移动学习方式引入语言类课程的教学中已取得较大进展,但将其应用到C语言程序设计课程教学中来,还属于尝试阶段。移动学习给教学改革注入新鲜活力,其对高校教学的促进作用,不仅依赖教师的合理使用和学生的大力配合,还依赖于软件平台的设计。本文所使用的飞信校园版,受到发送短信条数,广告绑定等不利因素的限制,不仅要考虑课程特点,还要考虑软件的使用规则,不能充分发挥移动学习的优势。下一步需要改进的地方,不仅在于移动学习资源的建设,还要建设实施移动学习的软件平台,不仅要适合移动终端在线浏览,还要能够与校园各个系统整合,充分利用现有资源,更加适应程序设计课程的要求。

参考文献:

[1]德斯蒙德·基更.移动学习:下一代的学习[J].开放教育研究.2004

[2]刘豫钧,鬲淑芳.移动学习——国外研究现状之综述[J].现代教育技术.2004

[3]王建武.3G网络下基于彩信的被动式移动学习实践研究[D].西安:陕西师范大学.2009

[4]张珑,王建华,张军,邸佳奇.移动学习在高等学校教学改革中的应用[J]. 计算机教育.2010(6):34-37

[5]王伟,钟绍春,吕森林.大学生移动学习实证研究[J].开放教育研究,2009,15(2):22-27.

[6]张素芹,吴连生.独立学院“C语言程序设计”教学改革实践[J]. 计算机教育.2010

[7]顾钧.程序设计语言课程的概念体系及教学策略探讨[J].中国成人教育.2010

[8]李望秀.高校教学中的移动学习[D].长沙:湖南师范大学.2008

[9]徐楠.M_Learning在现代远程开放教育中的应用研究[D].南京:南京师范大学.2005

程序设计教学论文篇5

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

面向连接的网络通信的建立有多个步骤,要使用多个函数。为了便于理解,可以将其比喻为“打电话”这个过程。要建立基于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

程序设计能力是计算机专业学生必备的一项基本技能。程序设计能力培养不仅包含技能培养,还包含学生分析问题、解决问题以及创新能力的培养。为此,各高校从大一开始就开设了高级语言程序设计课程以及后续一系列课程,以提高学生的程序设计能力。然而,即使各高校设置了丰富的程序设计能力培养课程,学生的程序设计水平也没有得到大幅度提高。

当前软件企业招不到合适的人才,计算机专业学生找不到工作,这种局面的形成归因于学生的程序设计能力并未达到软件企业预期的要求。调查表明,企业新招聘员工中只有15%直接来自高校毕业生,而85%来自社会招聘,因为社会招聘人员动手能力强,入职后能很快适应工作岗位。程序设计能力层次见表1,从表1可以看出,要胜任企业软件开发工作,至少需要100000行代码量;对于本科毕业生,至少需要有10000行代码量,而目前计算机专业大多数学生本科4年的代码量均在1000行,有的甚至更低。

1)程序设计类课程依然重教学,轻实践。理论教学依然是程序设计类课程的重点,理论学时多,实践学时少。教师花费大量时间进行语法、数据结构概念、算法理论讲解,因此也使得有针对性的实践太少,基于相关知识和理论的案例教学不足,学生很难将所学知识点和理论用于解决实际问题。

2)实践环节枯燥,学生无法提高学习积极性。

在传统程序设计实践教学中,教师布置3~6道作业题,学生当堂完成,然后将代码以及运行结果截图打包上传到服务器,教师一一评阅。教师给出的习题往往直接针对课堂教学的知识点,无任何实际背景或故事情节,实验枯燥乏味,学生学习积极性无法提高。

3)学生多,教师少,教师无法逐个解答学生的问题。

在大学不断扩招的情形下,师生比进一步扩大。实践教学过程中,教师无法一一发现和解答每个学生的问题。学生将作业代码和运行结果截图通过FTP上传至服务器,教师查看运行结果,由于学生多,教师无法逐个查看和运行学生代码,疲于应付,因而导致实践效果差。

4)实践能力评价方法单一。

目前的课程考核多采用笔试,学生的实践能力只能通过平时作业和实验进行主观性评价,难以激发学生自主训练实践能力的激情。在这样的教学模式下,久而久之学生就失去了编程兴趣,同时也降低了后续程序设计类课程的学习积极性,以致形成恶性循环,学生代码阅读量、代码编写量均得不到保证,程序设计能力自然无法提高。

为了提专业提供论文写作、写作论文的服务,欢迎光临dylw.net高学生的程序设计能力,文献[1]提出一种贯穿在系列课程中的程序设计能力培养方法,强调在一系列课程中持续不断地进行系统化训练,采用面向专业应用的分类教学,贯彻落实案例驱动、强化实训等教学方法。文献[2]初步将ACM模式应用到程序设计类课程实践教学中,使学生的编程能力和解题思维能力得到有效训练,教学效果显著提高。文献[3]也提出采用ACM竞赛形式的程序设计能力层次化培养模式。这些方法都是提高学生程序设计能力的有益尝试。

2 立体化程序设计能力培养模式

针对目前程序设计能力培养方面依然存在的一些突出问题,我们借鉴国内外一流大学的经验,与学校、学院教学部门配合,探索并建立立体化程序设计能力培养方法。立体化程序设计能力培养方法如图1所示。

1)培养方法和过程。

在立体化程序设计能力培养方法中,教学活动仍然分为理论知识讲授与编程实践,但理论课不再以单纯介绍语法知识为主,而是以具体的程序案例分析为主,让学生从案例中掌握语法。在实践教学环节中,教师设计若干有趣的问题,学生在解决问题过程中学会相关的语法知识与编程技巧。学生编写的程序代码全部通过安徽大学程序自动评判系统进行评判,学生只需在规定时间内完成,不再局限在实践课堂内完成,令学生有了足够多的思考和动手编程时间。对于学生在编程过程中出现的各种问题,教师和ACM/ICPC队员及时进行在线细致辅导。在每次作业结束后,系统公布所有学生的解题代码,以供所有学生在线查看和评价。获得优秀评价的代码将在系统上公布,以便学生有机会进一步学习优秀代码,增加代码阅读量。

2)立体化程序设计能力培养特点。

(1)以高级语言程序设计课程为依托。高级语言程序设计课程是学生接触的第一门程序设计类课程,其教学与实践对培养学生的编程兴趣和能力起着至关重要的作用,可以帮助学生树立自信心并步入程序设计的殿堂。

(2)课堂教学以案例为中心。程序设计=算法+数据结构。在高级语言程序设计课程的教学过程中,我们摒弃单纯讲授语法的课堂教学方法,改之以程序案例为中心。在课程早期,案例以语法知识为主,逐步增加基本数据结构和算法。整个教学过程以案例分析为中心进行语法教学,让学生在潜移默化中学习到基本的数据结构和算法。

(3)实践教学以问题求解为中心。在实践环节,教师通过设置有趣的故事和实际的问题,帮助学生在求解问题过程中掌握课堂上所学的语法知识、基本数据结构和算法。

(4)实践环节从课内延伸至课外。实践环节要求学生完成指定的编程题目。与传统实践环节不同,通过在线程序自动评判平台,学生所有的编程作业只需在教师规定的时间段内提交,学生既可以在实践课上完成,又可以利用课外时间完成课堂内没有完成的作业。将实践课延伸到课外的优点表现在:①学生有足够的时间思考分析问题并最终通过编程解决问题;②实践题目数量适当增加,学生的代码量随之增加 ,充分的课外实专业提供论文写作、写作论文的服务,欢迎光临dylw.net践可以进一步巩固学生的理论知识基础。

(5)经验丰富的ACM/ICPC队员参与程序设计实践环节辅导。ACM/ICPC队员经过长期的编程实践,积累了丰富的编程经验,代码能力强,因此我们利用ACM/ICPC集训队的优势资源,实行“传帮带”机制,对于每个学生编程过程中出现的问题及时给予解答,有效提高学生的编程积极性。集训队学生优秀的编程水平对于低年级学生也是一种激励,可以进一步激发其编程热情,增加其向更高编程水平迈进的动力。

(6)学生作业采用自动化评判模式。学生提交的作业通过服务器自动评判给出程序的运行结果。自动评判模式对于编译错误,会直接给出编译出错位置和出错类型,方便学生自查;对于运行错误,包括结果错误和运行超时,则需要学生重新审查程序代码。服务器自动评判能够有效减轻教师批改作业压力,还可以大大提高实践教学效果。此外,服务器上保留了每个学生的做题细节,包括以往的代码、做题的数量、错误类型等信息,可以进一步增强学生做题的成就感和积极性。值得一提的是该自动评判平台不仅支持高级语言程序设计,还支持C++、Java、VB和Pascal语言,因而吸引了省内一些初中、高中学生进入该平台进行程序设计能力实践。

(7)优秀代码展示有助于增加学生代码阅读量。学生代码量包括代码编写量和代码阅读量。代码阅读量是提高编程能力的一种重要途径,然而在实际教学过程中常常被忽视,通过教师评阅、学生互评等方式,可以筛选出优秀代码并加以展示。优秀代码主要指具有巧妙的算法、运行时间短、内存占用空间少、代码格式规整、符合标准编程风格的程序代码。展示优秀代码可以让学生有机会看到彼此对于同一道题目的多种解决方案,有效促进学生之间的交流,积极提高学生的代码阅读量。这种相互的交流还可以进一步激发学生的创新灵感,在提高学生编程能力的同时也提高创新能力。

与传统专业提供论文写作、写作论文的服务,欢迎光临dylw.net程序设计能力培养主要依靠“教师一学生”这种二维扁平的实践教学模式不同,立体化程序设计能力培养方法以案例教学为中心进行教学,以问题驱动为中心进行编程实践,采用机器自动评判和学生互评相结合的方式进行学生编程实践效果评价,在教师—ACM队员—学生之间建立一个跨越时间和空间的三维立体互动教学网络。这种教学方法将课内实践延伸至课外,将实验室实践延伸到实验室外,对学生的程序设计能力进行主客观相结合的综合评价与即时反馈。

3 实施成效

通过一系列的研究与设计,我们构建了立体化的程序设计能力培养模式,在安徽大学自主研发的自动评判系统基础上增加了高级语言程序设计实践模块。自2008年以来,学生通过该自动评判平台进行程序设计实践呈逐年增多趋势,多名学生参加了ACM/ICPC程序设计竞赛以及省级程序设计竞赛,获得各类奖励10余项,其中亚洲区邀请赛金奖2项、省级竞赛一等奖4项。实施该培养方法后,学生进行自主程序设计训练的积极性明显提高,目前在校生中程序代码量已经达到10000行的有200人左右,部分毕业学生直接进入腾讯、百度等企业工作,用人单位也对毕业生的编程能力普遍表示满意。安徽大学计算机专业学生2008—2012年提交代码量如图2所示。

该培养方法不仅提高了学生的程序设计能力,而且培养了学生的创新精神和可持续发展能力,还吸引了许多非计算机专业学生学习程序设计技术。近年来,陆续有电子学院、自动化学院、数学学院、化学化工学院、资源与环境工程学院和物理学院的学生参与到程序设计实践中,并且取得了不错的学习效果。例如,安徽专业提供论文写作、写作论文的服务,欢迎光临dylw.net大学物理学院一名学生经过该平台实践后,积极参与ACM/ICPC程序设计竞赛,获得2010年ACM/ICPC亚洲区竞赛铜奖并于2012年成功考取复旦大学计算机专业研究生。

4 结语

强调师生互动、实践反馈、学生互动足立体化程序设计能力培养方法的关键,而利用案例教学与趣味实践是重要途径。实践证明,立体化程序设计能力培养方法在提高学生编程水平和算法能力方面具有较大优势,取得了显著成效。今后我们将进一步注重教师与学生互动,探索更多的师生之间、学生之间互动手段,不断提高学生编程素养和创新水平。

程序设计教学论文篇8

《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

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

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

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

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

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

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

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

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

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

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

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

程序设计教学论文篇10

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

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

程序设计教学论文篇11

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

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

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

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

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

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

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

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

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

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

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

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

程序设计教学论文篇12

[关键词]程序设计基础 案例 工作过程

作为职业院校,我们的办学初衷是为社会培养各类急需的实用型人才,而作为专门培养软件人才的我院示范专业的软件技术专业教师,我们深感开发《程序设计基础》这门课程的重要性与紧迫性。综上所述,我们软件教研室在示范专业建设中对该课程进行了大胆的开发与创新。在本课程开发的同时,我们进行了本课题的立项工作。综上所述,该课题的研究目的归纳如下:

(1)教师按照标准化的软件开发流程进行案例的设计,使学生由浅入深、循序渐进地掌握程序设计基础的基本技能。

(2)学生在综合运用相关软件工程理论知识基础上,通过教师对案例的分析与讲解,能利用程序设计基础课程相关技术进行项目设计。最终能成为企事业单位需要的标准规范、自动化程度高、满足客户要求的程序设计基础方面的技术服务人员。

(3)培养学生高度的工作责任感、自信心,和实事求是的做事风格。真正的让踏入测试行业的学生,成为IT公司产品出货前的把关人。

一、意义

本课程是软件技术专业中的一门专业技术课程,我院在该课程的教学研究和改革中逐步树立了“以实践教学、案例教学为核心,理论服务于实践”的指导思想,突出职业能力的培养,体现基于职业岗位分析和具体工作过程的课程设计理念,以真实的程序设计基础案例为载体组织教学内容。

通过本课题的实验研究,明确程序设计基础在软件开发流程中的作用和地位,并确定具体的教学内容与教学方法;通过本课题的实验研究,探索程序设计基础在提高教学效益方面的方法和策略,提高学生程序设计基础技能;通过本课题的实验研究,培养出一批社会紧缺的程序设计基础人才,提高软件编写质量,大大提高企业生产效益,同时能够适应软件外包和国际化软件开发的中高端软件开发人才的需求迅猛发展。

二、特色

该课题的特色也是该课程在我们示范专业开发过程中所体现的创新之处。

我们本着“教中做、做中教、学中做”的指导思想,通过案例教学培养学生动手能力和专业技能。以“工作过程为导向”,一方面可以在软件开发中运用程序设计基础技术提高软件质量,另一方面通过对程序设计基础岗位技能的学习,达到掌握软件开发的应用能力。

三、主要内容:

走访软件企业对程序设计基础人员的需求进行调查研究,对程序设计基础在教学活动中重要作用的必要性的调查研究,形成调研报告。结合企业真实项目开发典型案例、拓展案例和综合项目,形成案例库。教师在各课程中有针对性进行程序设计基础的设计与研究,并进行及时的反思、评价。归纳出程序设计基础环境在软件开发实施方法、步骤。实践技能测试题库建设。教学课件建设。能够适应各个模块之间的程序设计基础方法设计,使得程序设计基础贯穿于全课程,从而提高软件的安全性和可靠性。

四、关键问题

(1)教学案例的选择及设计模块建设

(2)程序设计基础工具的选择及过程模块建设

五、方案

本课题以案例研究为主导,辅之以下研究方法:

(1)调查研究法:采用问卷调查、个别谈话和学生座谈相结合的方法,对学生的实际思想、需求和学生的心理特点等现状,进行科学的调查研究。

(2)案例研究法:引导教师用信息技术和学科课程解构与重构的相关理论,剖析研究过程中的 典型案例,形成在整合教学中有效支撑的案例集。

(3)经验总结法:在教师个人实践的基础上,定期聘请软件企业、行业专家开展研讨、交流活动,通过研讨总结,逐步形成程序设计基础整合的方法和途径。

(4)行动研究法:搜集与本课题有关的信息和资料,拓宽思路,提供更为完善的方法,拟订总体研究计划,根据总体情况,制订具体计划,积极开展有效的行动研究,及时总结评价,调整研究方向。

(5)成果分析法

收集整理各方面的研究成果和资料,包括论文、课件、测试用例等,归纳总结。

六、落实措施

本课题的落实措施思路为:

收集和整理中外有关企业程序设计基础的经典案例,开展专题理论研究,形成专题研究论文。开展程序设计基础课程课堂案例分析和调研,形成调研报告。召开1—2次小型学术研讨会,对本课题的有关理论和实践问题进行研讨。收集材料,分析整理测试用例。形成最终研究成果。

程序设计教学论文篇13

4.分层次设计课程设计任务,发挥创新思维

课程设计是发挥学生创新思维、综合分析问题、解决问题、提高动手能力的过程。但在前几年采用分组合作的模式进行课程设计,检查过程中发现学生成员容易发生两极分化,动手能力强的同学包揽了所有研发任务,成绩差的没有任何收获,这是由于不同学生的爱好程度不同造成的。针对上述问题,课程组通过试验抽检、期中考试等方式测试学生对课程的爱好程度,据此分别按C++过程化程序设计和面向对象程序设计思想分层次设计课程设计任务,公布多道题目供学生任选,且要求独立完成,在期末演示答辩,根据任务难易程度分类评定成绩。实践验证,通过给每位同学施加压力,有效激发学生的学习动力,基础差的同学通过选择相对简单题目或者在网上搜索资料和同学的帮助,较好完成课程设计任务;动手能力强的同学选择有一定难度且自己感兴趣的题目,通过自学或论坛交流寻找解决问题的方法,使被动式学习转变为主动式和探究式学习。在此阶段任课教师仅对学生的关键问题给予必要的引导,这种分层次的课程设计改革取得较好的教学效果。

5.考核方式改革

传统的课程考核评价一般是笔试占70%或60%,平时成绩占30%或40%的综合,其中,平时成绩主要包括学生平时考勤、课堂表现、作业完成情况以及和上机实验4部分。这种考核方式不利于学生实践能力、团结协作能力和系统控制能力的培养,往往导致学生的动手编程能力较差,甚至缺乏团队协作精神。而美国麻省理工学院(MIT)等知名大学提出的CDIO工程教育模式重视在理论和实践中选择一个最佳的平衡点,使学生所学知识能够真正学有所用,较好地与IT企事业单位人才需求进行对接。为此,程序设计课程组以CDIO工程教育理念为指导,对课程考核评价进行如下改革:

(1)选择上机实践操作编程的考试方式对基础知识测验,占期末总成绩的50%,确保IT专业学生能熟练使用基础知识独立编程,也是其就业工作的最基本技能。

(2)根据项目开发进展和学生动手能力情况,让学生独立编写与所参与项目功能类似的小系统或游戏,进行检查阶段性学习效果,占期末总成绩的20%。

(3)日常考勤、作业完成情况、实验完成情况,占期末总成绩的20%,这是因为按时上课、做作业和实验编程是学生专心学习的保障。

(4)综合创新性测验,即让学生自己组建小团队通过“构思系统+分析设计+编程实现+功能演示+撰写文档”的一体化全过程,进一步培养和提升学生团队协作能力,该成绩占期末总成绩的10%。该考核方式的实施,为学生申报、研发大学生创新创业项目、后续程序设计语言、参加挑战杯比赛奠定了坚实的基础。

三、结束语

在两个学期C++程序设计课程改革过程中,通过测试考核学生和学生走访交流都反馈该教学模式取得良好的教学效果。实践证明,以构建主义和CDIO工程教育理念为指导的“教学做一体化”的教学模式,不仅丰富了教学方法及教学手段,激发了学生学习热情和学习兴趣,提高了教学质量,有效培养学生自主学习的能力、分析和解决实际问题的能力、创新思考能力、团队协作与工程项目控制的能力,为学生从事IT行业奠定基础,较好地满足了IT企事业单位对创新型工程人才的需求。C++程序设计教学改革是一个不断探索、实践的过程,今后程序设计课程组仍将继续根据本校学生具体情况探索和完善C++程序设计课程的教改工作,为培养学以致用的应用型本科人才服务。

参考文献:

[1]The CDIOTM Standards:2[EB/OL].(2008-06-30)[2009- 04-13]..

[2]胡志刚,任胜兵,陈志刚,等.工程型本科人才培养方案及其优化――基于CDIO-CMM的理念[J].高等工程教育研究,2010,(6):20-28.

[3]王硕旺,洪成文.CDIO:美国麻省理工学院工程教育的经典模式――基于对CDIO课程大纲的解读[J].理工高教研究,2009,28(4):116-119.

[4]姜大志,孙浩军.基于CDIO的主动式项目驱动学习方法研究――以Java类课程教学改革为例[J].高等工程教育研究,2012,(4):159-164.

[5]杨玉婷,张晓波,梅红伟.基于CIDO的独立学院《C#程序设计》课程建设初探[J].湖北广播电视大学学报,2013,33(10):131-132.

[6]马晓梅,韩娜,张剑飞.CDIO理念下Java语言课程的设计与探讨[J].高教论坛,2010,(12):95-96.

在线咨询