首页 > 文章中心 > 程序设计报告

程序设计报告

前言:想要写出一篇令人眼前一亮的文章吗?我们特意为您整理了5篇程序设计报告范文,相信会为您的写作带来帮助,发现更多的写作思路和灵感。

程序设计报告

程序设计报告范文第1篇

【关键词】立体化教学资源,问卷调查,访谈

一、立体化教学资源的涵义及其体系结构

(一)立体化教学资源的涵义

教学资源是指向教师、学生提供的教学内容及其存储形式,是帮助个人有效学习和操作,影响和改变学生认知结构发生变化的外部条件。立体化教学资源是立足于现代教育理念和网络技术平台,以传统纸质教材为基础,以学科课程为中心,以多媒介、多形态、多用途、多层次的教学资源和多种教学服务为内容的结构性配套的教学出版物的集合,是数字化时代教学现代化的标志,是实现教育信息化、网络化,优化教育资源诸要素配置的重要途径。

(二)立体化教学资源的体系结构

根据我国目前立体化教学资源建设的现状,一般将其体系结构描述为教学包、教学资源库和学科(专业)网站三个层次。

1、立体化教学包。立体化教学包是以课程为单位,将文字教材与多媒体教学资源进行有效整合而形成的以纸质主教材为核心、以相应的辅助出版物为配套的多功能、多媒体、系列化的优质教学资源和教学实施方案。就内容而言,立体化教学包一般包括主教材、教师参考书、学习指导书、实验指导书、电子教案、CAI课件、网络课程、电子图书、试题库、案例库等。教学包的产品形态和表现形式主要有纸介质图书、音像制品、电子和网络出版物等。教学包将教学内容、教学方法和教学手段有机地结合,进行一体化教学设计,呈现包括纸质图书、音像、电子网络出版物等多媒体、立体化产品形态,在教学中充分发挥各自应有的优势,满足多种应用需求,支持多种模式的教学环境。教学包中这些内容相关、表现形式各异的教育资源,既有重复和强调,又有交叉和补充,相互配合,形成一个教学资源的整体解决方案,为提高教学质量服务。

2、教学资源库。教学资源库是管理教学资源的计算机应用软件系统,它将教学资料以知识点为单位,按科学的存储策略组织起来,以光盘或网络服务器的方式,给使用者提供满足现代教育技术条件下教学需要的知识单元素材和媒体素材。为了加快高校教学手段现代化进程,推动教学模式的改革,从2003年开始,教育部教学指导委员会和高等教育出版社正式启动了大学教学资源库建设项目。该项目目前已取得阶段性成果,大部分骨干专业和基础课程都已建成了自己的教学资源库,丰富了教学内容。教学资源库的建设在重视教学内容和教学设计的前提下,充分利用计算机和网络等先进的教学辅助手段,为广大教师提供了高质量、高水平、内容丰富的教学基本素材与优秀的教学示范课程,促进了优秀教学资源的共享和整体教学水平的提高。

3、学科(专业)网站。学科(专业)网站是出版社根据相应的教学层次、学科、专业和领域建设的服务型、综合性的网站,内容包括信息服务、资源服务和教学过程服务。网站为教师、学生、编辑、作者和专家提供在网络上交流的平台,为广大教师信息交流、学术讨论、专家咨询提供服务,教师也可以通过网络授课。对学生来说,则通过教学支撑平台所提供的自主学习空间来实现学习、答疑、作业、讨论和测试。这样,在编辑、作者、专家、教师、学生之间建立起一个以网络为纽带、以数据库为基础、以网站为门户的立体化教学资源建设与实践的体系,用快捷的信息反馈机制和优质的教学服务促进教学改革。

二、课题背景

当前,社会信息化进程把高等学校计算机基础教学带入了一个新的发展阶段,对大学生进行“面向应用,突出实践”的信息素养的培养为高等学校计算机基础教学指出了新的目标。同时,“多元化、模块化、融合化、网络化”成为计算机基础教学的发展趋势。

为顺应这一发展趋势,在全国高等学校教学研究中心、广东省教育厅的共同推动下,由张景中院士牵头,组织十余所高校共同开展了“高等学校大学计算机公共课程教学改革”项目的建设工作 。改革项目力图体现现代教育思想,恰当地运用现代教学技术、方法与手段,构建适合不同层次、不同类型高校的计算机基础课程的多元教学体系。我院以“面向高职高专的《C语言程序设计》课程立体化教学资源应用效果”为项目主题,项目组开展了研究,旨在探究:(1) 面向高职高专的《C语言程序设计》课程立体化教学资源应用效;(2)学生对面向高职高专的《C语言程序设计》课程立体化教学资源应用的满意程度及有待改进的地方。

三、研究设计

(一)研究问题。本研究试图回答以下四个问题:1、高职高专学生是否喜欢并愿意使用立体化教学资源?2、高职高专学生是否认为使用立体化教学资源有利于对课程学习?3、学生对使用立体化教学的各种资源持有何态度?4、该使用立体化教学资源有何地方有待改进?

(二)调查对象和方法。本研究采用定量研究和定性研究相结合的方法,对使用该使用立体化教学资源的178 名学生进行调研,具体形式包括问卷调查和访谈。

1、问卷调查。本次调查共发放问卷178 份,回收有效问卷173 份。为了保证问卷的有效度,调查采用了匿名的方式,事先向学生讲明问卷调查的目的是为了了解学生对使用立体化教学资源的态度及学生对使用立体化教学资源的真实需求,以便进一步改善现有的使用立体化教学资源。问卷由项目组老师发放并当场收回。调查结果用计算机EXCEL 软件进行统计并进行了人工核对。

2、访谈调查。在问卷调查的基础上,为了能够交叉引证学生对问卷的回答,证明数据的有效性,项目组成员对15 名学生自愿者进行了采访。访谈语言为中文。具体访谈问题如下:①你是否喜欢使用《C语言实训教程》及其辅助光盘这本教材?为什么?②你觉得《C语言实训教程》及其辅助光盘对你学习C语言程序设计课程有帮助吗?具体体现在哪里?③你觉得《C语言程序设计》课程网络自主学习平台的学习资料如何?有何方面需要改进的?④你觉得上《C语言程序设计》课程的老师如何?有何方面需要改进的?

(三)调查结果分析

1、高职高专学生是否喜欢并愿意使用立体化教学资源?

这一部分包含两个问题,主要关注学生是否喜欢利用课程网络自主学习平台进行学习、使用《C语言实训教程》教程和学习辅助光盘的频率。

其中, 图1中的A选项为“喜欢”,B选项为“不太喜欢”,C 选项为“没有兴趣”,从图表中可看到A选项高达94.68%,由此可知同学们喜欢利用网络自主学习平台进行学习。

图2中A选项为“频繁使用”,B选项为“每次课一次”,C选项为“每周一次”,D选项为“一次也没用过”,从图表中可以看出:学生选A的比率为14.45%,选B的比率为14.45%,选C的比率为64.74%,选D的比率为6.36%,从该项统计数据可以看出学生在学习过程中93.64%的同学会使用到光盘,28.9%的学生使用光盘频率较高。在后续的访谈中,当被问及对立体化教学资源(包括纸质教材、辅助光盘、课程网络自主学习平台)的态度及理由时,有10名学生表示这种立体化教学资源能为每个学生提供适应的学习材料;4 名学生表示立体化教学资源里的资源量比较丰富,而且希望资源的形式能多样化,有得于学生进行自主学习;另有1名学生表示对纸质教材中的实例不满意,认为太过于枯燥,建议设计一些能串联整本教材又实用的实例。由此可见,总的来说根据高职高专学生的特点,学生对于立体化教学资源的态度是比较满意的,并没有因为陌生而排除或抵制这一种学习资料。同时,从另一个侧面,也可以反映学生有比较强的自主学习愿望和能动性,愿意积极主动地去使用立体化教学资源进行学习。

2、高职高专学生是否认为使用立体化教学资源有利于对课程学习?

这一部分主要探究学生立体化教学资源使用效果如何,既对学习帮助大不大?主要从三个方面进行了调查。

(1)通过网络自主学习平台,对你学习C语言程序设计课程的帮助大不大?( )

[A]很大 [B]大[C]一般 [D]没帮助

从图3看,只有4.42%的学生认为网络自主学习平台对学习C语言程序设计课程的帮助不大,说明网络自主学习平台能较好的促进教师的教学和学生学习,可进一步加强对它的研究和使用。

(2)您认为该实训教材的对你学习C语言程序设计的作用大吗?( )

A.非常大 B.较大 C.一般 D.不太大 E.一点也不大

从图4可以看出:同学们选A的比率为38.15%,选B的比率为47.4%,两者合计为:85.55%,从数据分析可以看出该立体化实训教材的对学生学习C语言程序设计起到很大的作用,使用效果较好。

(3)您认为该学习辅助光盘的对你学习C语言程序设计的作用大吗?( )

A.非常大B.较大C.一般D.不太大E.一点也不大

从图5可以看出:同学们选A的比率为34.10%,选B的比率为36.99%,两者合计为:71.09%,从数据分析可以看出该立体化实训教材的学习辅助光盘对大多数学生学习C语言程序设计起到很大的作用,使用效果较好。

从图3、图4、图5中可以充分看出立体化教学资源效果较好,对学生的学习起到非常大的作用。在后续的访谈中,当被问及立体化教学资源对学习是否有帮助?为什么?有9名学生表示对学习帮助很大,主要是立体化的教学资源比较丰富,形式多样,能适应不同学生的个性和学习风络。其有5名学生特别提到了网络自主学习平台,认为这是一个很好的有利于学生随时进行学习的有效资源;也有3 名学生提到网络自主学习平台提供了一个和同学讨论及老师交流的平台,这样的互动交流使她获益匪浅。当然也有2名学生提到,由于网络自主学习平台相对而言比较自由,不像常规的课堂有老师监督,因而有时学习的效率不是非常的高,还有1个学生提到,希望老师能更多的加强在网络学习平台上学习时的指导。

3、学生对使用立体化教学的各种资源持有何态度?

这一部分包括三个问题,主要针对学生对于立体化教学的各种资源的满意程度。

(1)网络自主学习平台的设计很合理,你认为( )

[A] 很同意 [B] 同意[C] 不好说[D] 不同意

(2)您认为该实训教材的实验设计如何?( )

A.非常好B.较好 C.一般 D.不太好 E.非常不好

(3)您认为该学习辅助光盘中内容设计如何?( )

程序设计报告范文第2篇

关键词:程序设计;习题课;实验内容改革;课堂教学

社会竞争日益激烈,快速变化的社会环境对人才的综合素质提出更高要求,强调适应能力和设计应用能力的提高。为了提升我国高等教育的水平,尽快与国际高等教育接轨,近年来国家加大了对教育科研的投入,加强对高等教育的管理监督,强调对学生动手能力和创新能力的培养[1]。计算机作为现代工作生活必不可少的工具,人们的创新思想和设计理念都需要借助计算机来实现,各个专业的学生都需要具备一定的程序设计能力,因此大多数理工科专业的学生在整个本科学习过程中会选修两门以上程序设计方面的课程。如何合理地安排课程和实验内容,提高学生的程序设计能力,对培养高素质的综合人才具有重要意义。目前大学课程的改革偏重于课程内容以及课程设置方面的改革,而对教学实施改革的力度还不够[2]。

1程序设计能力的培养

程序设计能力的培养,首先是培养学生的设计能力,如何分析问题,提出解决方案;如何表达自己的设计思想,进而完善设计思路。设计能力的培养与具体的程序实现没有太大关系,然而却是程序设计的基础。因此,程序设计能力应该由两大部分组成:

第一部分,也是基础部分,分析问题,表达并细化解决思路的能力。这一部分与课程内容的联系较为松散,却是能力培养的基础。

第二部分,是与课程密切相关的编程实现和调试程序的能力。学生用课程中所学的某种编程语言,例如汇编语言或C语言,实现自己的设计思想,并实际动手上机,调试运行程序,解决具体问题。

目前课程内容设置以及教师的授课均偏重于第二部分,课堂上多讲授具体指令的功能及应用,大多数例题程序只有十多条,至多几十条指令,并且教师在课堂授课时大多直接给出正确的程序,而不是向学生演示分析问题、设计流程、编写程序、最后调试修改程序的整个程序设计过程。其结果就是,面对程序设计题目时,学生大多直接开始编写程序,而不是整理设计思路。盲目编写的程序往往逻辑混乱,缺乏调试经验的学生无法调试得到正确结果,打击了学生学习的自信心和积极性。因此在课堂教学活动中,应该强化对学生分析设计能力的培养,通过例题和课堂问答,详细演示整个分析、修改,最后完成流程设计的过程,不要直接给出答案。大多情况下,引导学生完成的流程与例题的答案有所不同,分析两者,改变学生始终希望有标准答案的习惯。有了流程后,引导学生用所学指令编写程序,利用多媒体教学手段,向学生演示整个调试修改程序的过程,强调分析问题、整理设计流程的重要性,改变学生忽略流程设计,直接编写程序的“恶习”。

基金项目:重庆市高等教育教学改革研究项目(0634170);重庆大学教学改革项目(教200617)。

作者简介:胡青(1975-),女,重庆人,讲师,硕士,研究方向为模式识别和智能系统。

实际应用中,人们分析解决问题时,多采用从大到小,从上到下逐渐细化的方法。然而在教学过程中,学生很难接受这种方法,面对一个稍微复杂的具体问题时,学生大多无从下手,不知道如何开始分析。“汇编语言程序设计”课程在整个本科教育体系中属于基础教育,开设时间较早,大多开设于大学二年级,这也就意味着,本课程主要面向低年级的,独立思考能力相对较差的学生。这类学生可以解决具体的小问题,对于稍微大一点的问题,就不知道如何进行分析。针对这种情况,培养学生思维分析能力时,适宜采取从小到大的方法,逐步引导学生适应分析方法,示例最好选择学生熟悉的事务,如学生成绩管理等。从一个具体的小功能出发,如统计某高考学生的总分,配合课程进度,逐步添加功能。例如学习分支结构及相应指令后,就可以统计某个学生不及格的课程门数,到课程结束时可以完成一个具有基本功能的学生成绩管理系统。最后再引导学生用从大到小,从上到下的方法分析设计学生成绩管理系统的功能,使学生了解熟悉这种分析方法。

第二部分程序设计能力的培养,要使学生适应计算机的“思维”方法。计算机中使用二进制,数据的储存、运算、传输都采用二进制。这就需要教师耐心引导,通过大量的例子和演示,使学生能够切换到计算机的“思维”方法,而不是继续停留在传统的纸笔方式。贯穿整个程序设计的是数据流,从哪里得到原始数据,对这个数据做何种处理,结果存放到哪里。调试验证程序的过程就是修改待处理数据,观察数据处理的结果是否正确,修改指令直到结果正确的过程。与其他非计算机类的课程相比,“汇编语言程序设计”课程有其特殊性,程序设计是一个调试修改错误,最终得到“正确”程序的过程,而其他非计算机类的大多数课程都要求一次得到正确结果,不允许出现错误,这就导致学生下意识追求直接写出“正确”程序,而不是调试程序。教材上的例题以及教师授课时都直接给出最终的程序,省略中间的调试修改过程,在一定程度上也加深了学生的这种倾向,刚接触程序设计的学生往往有重指令、轻数据、忽略调试的倾向。因此充分利用多媒体手段,在课堂上引导学生动手编程,演示调试修改过程,通过实际的例题说明观察数据,调试修改程序的方法,对培养学生调试修改程序的意识和能力是及其必要和有效的。

2教学及实验改革的实践

2.1增设习题课

“汇编程序设计”课程是实践性很强的课程,都配有一定的实验课程,教师对实验课的重要性已有了足够的认识,然而强调实验课程对学生动手能力的培养[3],在一定程度上忽略了课堂教学对学生“动脑”能力的锻炼。课堂教学不能局限于程序指令或语法规则的讲授,固定不变的“静态”内容更多需要学生记忆,而不是理解和应用。理论教学活动以教师为主体,而习题课应以学生为主,教师起辅助引导作用,习题课侧重于“动态”思维能力的培养。

例如任何一本程序设计入门的教材都将程序设计分成了3种基本结构,即顺序结构、分支结构和循环结构,掌握这3种结构的设计调试是整个程序设计的基础。介绍相关指令和程序结构后,在习题课上,通过具体的例子,引导学生分析问题,提出解决问题的流程,使用所学的指令和结构编程实现。利用多媒体手段,演示程序的调试修改过程,设计调试数据,调试学生编写的程序,引导学生自己发现解决错误,整个过程中注意与学生的互动。多个简单的例子组合起来就形成了一个稍微复杂的问题,通过前面分步的分析,学生对这个问题已经熟悉了解,不会产生畏难情绪,之后再通过一个类似的问题,引导学生自行分析实现一个稍具规模的程序,可以有效地增强学生的自信心。习题课中要注意黑板与多媒体手段的结合,强调以学生为主体,教师引导提示。通过习题课使学生对如何分析设计调试程序有了直观认识后,再经过实验环节,加深学生的理解和应用,最终达到培养学生能力的目的。

2.2实验内容的改革

实验环节作为理论教学的补充,一直处于辅助地位,一般针对理论教学的章节安排设置实验内容,而理论教学中各个章节的知识点都是相对独立的,这就直接导致实验内容相互间联系松散,甚至各自独立。根据各章节的知识点安排实验内容,每次实验都只要求学生编写一小段程序,锻炼检查学生对具体知识点的掌握,前后实验之间联系较为松散,到课程结束时,学生编写过多个实验程序,但每个程序都只有几十行代码,很难将各个知识点融会贯通,灵活运用,更加无法体会模块化设计的必要性和设计思想。因此设置实验内容时,应该加强实验间的联系,每次实验都给出需要综合应用所学知识点的题目,随着课程的进展,实验内容也从简单到复杂,到课程结束时,学生应该能够进行一定规模的程序设计。表1列出了本课程的综合应用实验题目,共分7次实验,每次实验4学时,每次实验均布置1~2道针对该次实验知识点的一般应用题,外加综合应用前面所学知识的综合应用题。这样的实验设置可以帮助学生融会贯通所学知识,并能有效地改变学生忽略平时学习,期末集中突击的现象。

表1 “汇编语言程序设计”课程综合实验设置

实验名称综合实验题目

实验1简单程序实验编程实现下列无符号数运算,结果放在变量X中,X=(84÷6+5)*7-100

实验2分支程序实验无符号字节型变量X取值范围为[0,200],编程实现如下函数f(X),结果存放在变量Y中。

f(X)= X/20≤X≤50

(X÷6+10)*7-1050

5*X 100

实验3循环程序实验无符号字节型变量X取值范围为[0,200],编程实现如下函数f(X),结果存放在变量Y中。

f(X)= 0+1+2+…+X0≤X≤50

(X÷6+10)*7-1050

5*X 100

实验4子程序实验编写一个子程序实现实验3中综合题的函数功能

实验5DOS功能调用实验从键盘输入X的值,并将f(X)结果显示在屏幕上

实验6图形功能实验在屏幕上画出f(X)函数的图形

实验7文件输入输出实验从键盘输入X的值,共输入10次,将f(X)的结果显示在屏幕上,并且将X和f(X)的值写入文本文件OUT.TXT

2.3实验过程管理的改革

同理论课相比,实验课的管理相对要松散一些。实验课中学生迟到、早退、旷课、代人签到等现象屡见不鲜。近年来我们加强了对实验环节的管理和监督,规范实验报告的要求,要求教师批改每份报告,并给出评分等级。然而在实际执行过程中发现,学生抄袭报告现象较为严重,不少学生在实验前并没有完成预习工作。由于批改工作量较大,一个教师要批改几十甚至上百学生的实验报告,不少教师采取“粗放式”的批改办法,实验报告制度在当前情况下形式大于实效。

计算机类课程的实验有其特殊性,学生更容易复制抄袭,并且教师很难在短时间内通过阅读报告检查出程序的错误,发现抄袭报告的学生,也就很难合理公平地评定出实验成绩,这在一定程度上打击了学生独立完成实验的积极性。实验成绩的评定既要重视实验结果,更要重视实验过程[4],只有建立相应的管理机制杜绝抄袭现象,才能促使学生踏踏实实地完成平时的实验,进而达到锻炼培养学生动手能力的目的。每次实验都布置具体的实验任务,设定截止日期,要求学生在截止日期前将自己编写的程序通过电子邮件发送给指导教师。教师直接运行程序,检查学生实验的完成情况,可以有效地提高批改速度和正确率,再利用计算机软件比较学生提交的程序,相似度达到一定程度就可判定为抄袭,对于认定为相互抄袭的学生,该次实验均判定为不合格,这样既可以减轻教师批改报告的工作量,也可以较为客观准确地评定出学生的实验情况,对改变当前抄袭报告的现象能起到积极作用。

通过实际的教学活动发现,习题课上学生注意力比较集中,大部分同学都能跟随教师的指导积极参与。同以往相比,上过习题课后,实验课中提问的学生人数明显增加,不少学生询问如何调试,而不是直接请求教师帮助解决问题。采用上述措施后,抄袭实验报告的现象依然存在,但人数有所下降。说明上述改革措施,对培养学生综合应用能力和调动学生的学习主动性起到了积极作用。

3结束语

随着计算机技术的快速发展,计算机已经深入人们生产、工作、生活的各个方面,良好的计算机应用和设计能力是高素质人才应该具备的基本能力。本文针对“汇编语言程序设计”课程的特点,对该课程的教学方法、内容和管理模式进行了改革实践,这些措施对提高学生程序设计能力起到了积极作用。希望课程建设经验能够对其他相似课程的改革起到参考借鉴作用。

参考文献:

[1] 教育部. 国家教育事业发展“十一五”规划纲要[Z]. 2008.

[2] 周建平. 大学课程改革的“深度”缺失与觉醒[J]. 江苏高教,2009(1):71-73.

[3] 李丽滨,卢宇. 高校计算机实验教学改革的思考与探索[J]. 辽宁教育研究,2002(9):52-53.

[4] 刘建英. 计算机硬件开发性实验教学之我见[J]. 高等理科教育,2007(4):105-107.

Reform in Teaching and Experiments of Course “Assembly Language Program Desgin”

HU Qing, YOU Ji-yuan, SHI Xin

(Department of Information Engineering and Automation, College of Automation, Chongqing University, Chongqing400030, China)

程序设计报告范文第3篇

关键词:C++程序设计;课程建设;负反馈教学法;实践环节;特色教材

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

文章编号:1672-5913(2007)12-0018-03

C++不仅是一门程序设计课程,而且是这些专业后续专业课程(如数据结构、操作系统、微机原理、单片机及应用等)的重要基础,更是这些专业开展计算机研究和应用的重要表达工具和开发工具。因此,Visual C++程序设计课程的教学改革与建设具有十分重要的意义。本文下面从教学方法改革、教学内容研究、实践环节建设、特色教材编写等方面介绍我校VC++课程建设的一些做法。

1积极推进教学方法改革,形成颇具特色的负反馈教学法

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

1.1用“范例”组织课堂教学,贯彻“发现式”教学思想

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

1.2采集教学负反馈信息,做好分类、分析和讲评

按负反馈教学法要求,任课教师做好作业和实验报告的抽样批改、单元测验的全样批改,重视实验指导和答疑,从中了解学生的学习情况。在获取足够的负反馈信息后,任课教师及时做好问题的分类、分析和讲评,及时发现和解决学生学习中存在的问题,确保学生对所学知识的真正掌握。

1.3根据大班教学特点,推进强同步教学策略

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

1.4编写负反馈教学法配套教辅资料,培养学生自学、探索和自我完善能力

配套教辅资料主要有:①学习指导。注重概念理解、知识巩固,设单元测试,便于学生学习和自测自查;②实验指导。共有17个实验,每个实验包含调试技术介绍、程序调试题、程序设计题和选做题,注重培养学生的编程能力和调试能力,激发学生编程兴趣;③典型问题和综合问题编程。共8个专题,便于学生突破难点,融会贯通,体验综合编程的乐趣,培养分析和解决问题的能力;④二级考试模拟试卷;⑤VC++ 6.0程序调试技术,包括使用VC++ 6.0 IDE编写和调试程序的方法和技巧。

2强化实践教学,注重培养学生的实际编程能力

VC++课程是一门难点多、综合性较强的课程,实验是该课程至关重要的环节,只有通过实验才能检验自己是否真正掌握和运用该语言。通过上机调试程序,会发现很多想不到的问题,通过解决这些问题,可以加深对语言和算法的理解,提高程序调试和实际编程能力。为此,本课程设有课内实验(32学时)和课程设计(两周)实践教学环节。

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

基本编程和调试能力是深入学习本课程并取得实际编程能力的前提。课程实验是至关重要的教学环节,与课堂教学同步进行。我们根据教学内容编写了一套以调试技术、基本语法、基本算法、综合编程为核心内容的同步实验指导,共拟定了17个实验,每个实验通常包括调试题、编程题和选做题,可供不同层次的学生选用。

2.2课程设计注重培养学生综合编程和实际应用能力

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

课程设计的内容涉及基本算法和数据结构。基本算法包括穷举、迭代、递推、递归、排序和查找等。基本数据结构包括数组、结构、指针、动态内存分配、单向链表、对象、文件等。课程设计的实施,对非计算机专业采用小综合方案,计算机专业采用大综合方案。所谓小综合是指程序规模在几十到几百行的小题目,大综合则是程序的规模在数百行以上有一定实用价值的题目。

2.3实践教学认真实施,严格考核,确保效果

在课内实验和课程设计的实施过程中,配备富有经验的指导教师,现场实时进行辅导和答疑,指导学生解决编程中出现的问题。同时对学生严格要求,严格考核,确保实践教学质量。加强实践环节的考核是提高实践教学质量的重要保证。预习和考勤占总成绩的30%,上机检查并回答提问占总成绩的40%,课程实验报告和课程设计报告占总成绩的30%。

3积极开展教学内容研究,不断优化和更新教学内容

根据程序设计课程本身发展快、更新快、综合性强、存在问题多的特点,针对同类教材中存在的一些问题和不足,积极开展教学内容的研究,先后发表 “C++运算符重载教学和编程中易被忽视的问题”、“C++中二维数组与指针关系的深入剖析”、“C++语言引用型变量的实现机制浅析”、“C/C++语言可变参数函数的参数传递机制剖析” 等论文,并及时把这些教研成果和学科最新进展引入教学。

3.1课程内容分为三个知识模块

(1) 结构化程序设计基础:包括C++概述、数据类型、运算符、表达式、简单的输入输出、算法与流程控制语句等。

(2) 模块化程序设计:包括函数、编译预处理、程序的多文件组织、数组、结构体、共用体、枚举类型、指针和引用。

(3) 面向对象程序设计:包括类、对象、构造函数、析构函数、继承、派生、友元、虚函数、静态成员、运算符重载、I/O类库、命名空间、模板和异常处理等。

3.2课程的重点、难点及解决办法

(1) 算法表达、结构化语句:结构化编程的基础。注重讲授算法的结构化表示法,结构化语句,常用基本算法,断点+单步调试技术。

(2) 函数:模块化编程基础。注重讲授程序的模块化组织思想和方法,自顶向下逐步求精的程序设计思想,参数传递,变量作用域,程序的多文件组织。

(3) 数组、结构体、指针:数据的结构化和模块化组织基础。指针是重点和难点,应正确区分指针与地址,强调指针类型的作用,讲清各类指针的含义及作用。特别注重讲授指针在动态生成基本数据结构,解决实际问题方面的综合实例。

(4)类、对象、继承、运算符重载、虚函数:面向对象程序设计基础。运算符重载较易理解,但有些方面易忽视,应提请学生注意。虚函数是重点和难点,应注重讲授虚函数的必要性、重要性、实现机制和综合实例。

4改革考评方式,正确发挥考试的导向作用

根据VC++课程的特点,正确发挥考试的导向作用。改革考评方式,实行考教分离,并使其与江苏省大学生计算机等级(二级)考试方式接轨,采取笔试(50%)+机试(50%)的方式,理论与实践并重。

试卷的试题源自题库和现任教师的征卷,试卷由选题算法和软件系统产生,难度与二级考试相当,提高了考评的科学性。

5总结提炼教学经验和成果,积极开展特色教材建设

教材建设是课程建设的重要方面。几年来,课程组对国内外流行C++教材进行研究、分析和试用,总结、积累和提炼自己的教学经验和成果,从校内讲义开始,逐步开展具有自己特色的教材建设工作。2005年2月,自编教材《Visual C++程序设计习题、实验与编程实践》由华东理工大学出版社出版,同年12月又第二次印刷,得到了社会读者的认可。2005年10月,本课程获江苏省高等学校精品教材立项建设,课程组编著的体现“负反馈”教学特色的教材《C++程序设计实践教程》一书目前已与清华大学出版社签订出版合同,书稿已经交付,将于2007年上半年出版。

6运用现代化教学手段,加强网络教学资源建设

经过多年的教学、研究、建设和总结,本课程已积累了丰富的网上教学资源,经常更新,在教学中发挥重要作用。网上教学资源包括:课程教学大纲、课程设计大纲、教学日历、课程设计任务书、实验指导书、教学课件、习题集、典型问题及参考程序、相关教学论文、英文版课外辅导材料、模拟试卷等。课程组成员开发的“基于WEB的《C语言程序设计》教学系统”2006年11月获得第二届全国高等学校计算机课件评比二等奖。本课程网上教学资源的网址为:。

参考文献:

[1] 刘维富,陈建平,王春明. 浅谈“C++程序设计”课程的建设与实践[C]. 第二届全国计算机课程报告论坛,2006,11.

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

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

[4] 邱建林,刘维富,顾晖. C语言程序设计教学的研究与实践[J]. 电气电子教学学报, 2003,(4):96-98.

[5] 刘维富. C++运算符重载教学和编程中易被忽视的问题[J]. 南通工学院学报(自然科学版),2003,(3):56-59.

[6] 刘维富. C++语言引用型变量的实现机制浅析[J]. 南通工学院学报(自然科学版),2002,(1):64-66.

[7] 顾晖. C/C++语言可变参数函数的参数传递机制剖析[J]. 电脑与信息技术, 2004,(3): 37-38.

[8] 丁卫平,刘维富,沈天晴. C++中二维数组与指针关系的深入剖析[J]. 南通工学院学报(自然科学版),2004,(3):85-87.

投稿日期:2007-2-24

作者简介:陈建平(1960-),男,江苏南通人,硕士,教授,研究方向为快速算法设计与实现等。

刘维富(1961-),男,江苏南通人,硕士,副教授。研究方向为计算机语言与程序设计等。

通信地址:江苏省南通市啬园路9号南通大学计算机科学与技术学院陈建平邮编226019

E-mail:

电话:0513-85975405,13962955020

程序设计报告范文第4篇

关键词:面向对象程序设计;教学改革;实践教学

在现今的中国高等教育中,计算机课程和外语课程并称为高等院校中的两大基础课程,也是目前唯一设有全国统一等级考试制度的两门课程。在计算机课程中,“面向对象程序设计C++”(简称C++程序设计)语言以其高效而又实用的特性――既可以进行过程化程序设计,又可进行面向对象的程序设计,因此逐步成为各高校程序设计课程中的主流。该课程作为计算机科学与技术及其相关专业的必修基础课程,既是进行软件开发的直接工具,又是后续课程如“Java程序设计”、“软件工程”、“数据结构”等课程的先修课程,因此,在整个教学体系中占据十分重要的地位。本文根据笔者多年的教学经验和教学中发现的问题,从教学内容、教学方法、教学实践等几个方面进行了探讨,以期进一步提高本课程的教学效果和教学质量。

一、存在的主要问题

1.“面向对象程序设计C++”课程是让学生在掌握面向过程的程序设计基础上以面向对象程序设计方法为教学目标。该课程目前在国内大部分高校中采用的教学模式为:“C程序设计”+“C++程序设计”+“Java程序设计”。以江西财经大学为例:一般是在大学第二学期学习“C程序设计”,然后在第三学期学习“C++程序设计”。由于C语言是前期刚刚开设的教学课程,再加上C++本身又是从面向过程的C语言上发展而来的,因此学生非常容易受C语言的面向过程的思想束缚,对于面向对象程序设计的概念理解总是不够深入,停留在表面上,不能很好地理解面向对象的内涵。

2.多媒体教学存在的问题。目前,几乎所有的高校中的C++程序设计课程都采用了PPT投影方式的多媒体教学方式,这种教学方式能促进学生的感性认识,同时也能加大教学信息量、保证教学进度。但是,采用这种多媒体的教学方式学生会随着时间逐渐失去新鲜感。另外,由于取代了传统的黑板板书方式进行教学,使得教师的即兴发挥以及与学生的交互受到限制。通常由于教学课件已经准备好,教师在课程教学中基本上采用常规的顺序式、灌输式的教学方法,在教学过程中与学生之间难以形成互动,因而大大降低了学生学习的积极性和主动性。再加上C++程序设计语言本身又是一门比较抽象、难以理解的语言,采用这种传统的教学方式还会使学生因为觉得难以理解而逐渐丧失学习的兴趣。

3.C++程序设计是一门实践很强的课程,要求课堂教学和实验教学紧密结合。通过同步上机实验,使学生深入领会C++语言的功能和作用,理解程序的编译、运行机理,加深对C++语言面向对象本质的认识。通过实验教学,帮助学生理解和消化课堂教学内容,培养自主学习的能力,加强实践能力,使学生具备较好的程序设计能力和解决问题的能力,并积累一定的实践经验,为今后在专业领域中用计算机解决问题打下扎实基础。但是,在实际中我们发现由于有先入为主的原因,虽然大多数学生通过教学已经知道了面向对象编程的优越性,但是在解答作业和解决实际问题时还是存在少数学生无从下手、部分学生习惯了应用结构化编程的思想,不会自觉地应用面向对象的方法分析和解决问题等。归结到一点,就是学生缺少理论联系实际的能力,实践动手能力较差。

二、教学与实践改革的具体措施

1.教学内容改革。由于C++语言中的基础知识大部分都来自其前导课程C语言,如数据类型、表达式和语句、数组和结构等。为此,在C++程序设计课程中我们将不再重复与C程序设计课程中相同的知识,从而避免学生再次受到C语言结构化编程模式的影响。因而在教学内容上,我们一方面对教学内容加以精选,突出面向对象程序设计的关键技术,突出C++语言中的实用技术,包括类、对象、封装、继承、多态和模版,突出算法而不是语法;另一方面借助一些参考书目积极引入本课程的最新技术和成果(新概念、新技术、新方法),将这些内容重新组合成三个模块:基础要求模块、选学模块、选修模块,从而形成新的课程体系深化面向对象的核心思想。通过这种教学内容的改革,使学生真正掌握面向对象程序设计的本质,使学生的思维模式逐步从先前的面向过程的程序设计方式转向面向对象的程序设计方式上来。

2.教学方法改革。针对上述C++程序设计课程中传统的教学方法存在的问题和局限,结合C++语言的高度抽象性的特点,我们在采用多媒体教学的同时在课堂中重点加强了以下两种方式的教学。

(1)启发式教学。由于C++程序设计是一门逻辑性强、知识内在联系紧密的课程,通过该教学方法能改变传统的一讲到底的讲授方法,讲到一定程度教师便提出一些思考性和概念性都很强的问题,让学生自己学会分析、研究和讨论,引导学生得出正确的结论,充分发挥了教师和学生的双主体地位。通过这种方式的教学,学生在接受程序设计中的新知识时将会更加自然、主动。

(2)案例式教学。由于C++程序设计中牵涉到较多的语法和算法,如果过重地去讲解这些知识点,学生反而会感到枯燥、乏味、不知所云。为此,在每一个比较重要或者难以理解的知识点处要选择合适的案例辅以教学。案例的选择不能仅局限于数学性质的问题,还可以是游戏程序、图形、图像程序或者是自然界中的一些真实现象的模拟。这种教学方法有助于培养学生的思维能力,能够从本质上掌握程序设计的思想和设计方法。而且,成功的案例演示既能激发学生的兴趣,又能调动学习本课程的积极性和主动性。

3.实践教学改革。由于C++程序设计课程中实践环节的重要性和复杂性,在C++实验教学环节的改革中,我们针对学生的实际情况构建出了三种不同层次的实验课程体系,以逐步加强学生的实际动手能力。

(1)验证型实验。该类实验要求学生独立完成,主要涉及课程的面向对象程序设计的相关知识点,使学生验证、理解、巩固并掌握课内教学的基本教学内容。这一层次的实验通常在实验课堂内必须完成,而且要求每一个学生独立完成且填写实验报告。该类实验的目的在于进一步巩固教学内容,初步培养学生的实际动手能力,避免学生只听不练。

(2)设计型实验。该类实验要求学生独立完成,也可分组完成(限2人),实验由教师以任务的形式提出实验要求和具体实验成果,要求学生能比较综合地利用课程中的几个相关知识点开发并完成实验项目同时提交设计型实验报告。该类实验也要求在课堂内完成,旨在培养学生带着问题自主学习的能力,并培养学生利用面向对象的思想分析和解决问题的能力。学生在整个实验中学习目的非常明确,学习的积极性得到充分调动,动手能力进一步加强。

(5)大作业。该类实验要求学生分组完成(3-4人/组),实验以现实的问题或逼真现实的问题为实验对象,只有具体实验要求而没有最终的结果,采用完全开放、自由选题的形式,要求学生系统地运用所学的全部面向对象的知识来解决实际问题,最终要求学生现场演示答辩,教师当场测试验收每个作业包括大作业报告。该类实验通常在课程结束前1-1.5个月布置,要求学生在课堂外完成所有过程,课堂内可以根据问题和教师进行交流。该层次的实验重在培养学生的研究能力和创新意识,锻炼学生运用面向对象的知识分析问题和解决问题的能力,激发学生的学习研究兴趣,使学生的分析能力、创造能力、思辨能力和团队合作能力得到全面的锻炼。

程序设计报告范文第5篇

高校计算机基础教育中,面向对象程序设计早已成为高校学生掌握计算机技术的基础内容之一。在成千上百的程序设计语言中,VisualBasic(简称VB)已经成为Windows程序设计的首选语言[1],也因为VB作为面向对象程序设计的入门语言,功能强大、简单易学、图形用户界面等特点,普遍成为各高校非计算机专业类学生首选的程序设计语言课程。

1我校“VB程序设计”教学

学习“VB程序设计”这门课程,为的是弄清楚计算机究竟是如何“按照程序设定的步骤去处理问题”,因此理解问题并分解问题,使之能够适应计算机进行处理,是程序设计语言的任务。从这个意义上,通过理论学习和实验教学,使学生不仅了解计算机程序设计的思想与程序设计的方法,而且能够培养学生在VB集成开发环境下上机编制、调试程序的能力,同时通过学习VB课程能够运用所学知识,通过编写程序解决一些实际问题,锻炼学生的实践能力。结合我校实际情况,“VB程序设计”课程面向不同对象、不同层次的学生,根据学生专业不同,程序设计学习的计划和要求不同,设置了几个不同的教学计划[2],见表1。

2“VB程序设计”实验教学存在的问题

由于“VB程序设计”课程动手操作性强、实践应用多等课程性质,实验教学显得尤为重要。在长期从事“VB程序设计”课程的教学工作中,发现目前的实验教学存在着一些问题,主要有:(1)实验教学组织形式死板。学生在机房编写与调试程序,一般都是按教师要求的实验内容、教师讲解的步骤和方法完成,学生没有自己创造的空间,思维被固化在教师所讲的模式里,很难发挥学生的主动性和创新能力。(2)实验教学内容落后。实验教学依附于理论教学,每堂实验内容都是针对理论教学设置,纵观整个实验教学过程,每个实验都是孤立的、没有贯穿性和系统性。实验课堂常常是以演示、验证性实验为主,很多实验内容都是多年不变的“老皇历”,学生照书敲敲程序敷衍了事地完成实验,很难调动学生的学习兴趣,学生没有主动性和积极性。(3)实验教学方法单一。实验课堂往往是教师按实验指导书提前讲解注意事项或演示程序,学生按实验指导书按部就班、照猫画虎地完成了事,完全处于被动状态,很难提高学生的独立思考能力和创新能力。(4)实验教学时间有限。实验教学每次2节课,前后除去教师讲解、演示的时间,留给学生的自创时间并不算多,更何况学生缺乏主动学习能动性,拖拖拉拉,心思很难集中在编写程序上。课堂上一个教师要辅导至少六七十人,很难满足全部学生的问题解答和程序调试,造成不少学生带着未成功运行的程序离开机房,课后又不主动去解决,而下节课又是新的实验内容,周而复始,很难再调动学生的积极性和学习兴趣。(5)实验教学课堂效率低。实验方法单一、内容单调、时间有限等诸多原因,都不利于学生思维能力的开发和创新能力的提高,同时还助长了学生的惰性,程序出现问题自己懒得动脑动手,总是依赖教师,其实有时错误就是一个标点符号的问题。严重的依赖心理造成学生缺乏独立思考能力,自觉性差。(6)实验教学考核办法单调。程序设计课程只按笔试形式考核,实验部分几乎不作为考核指标。只是以平时实验完成情况,如提交的程序是否正确、上机操作是否规范、实验报告是否齐全等形式考核,致使学生抄袭实验报告、复制程序的现象时有发生,这样的考核办法很难引起学生的重视,更不利于培养学生动手操作的严谨性和实验结果的严肃性,甚至违背了教书育人的准则。

3“VB程序设计”实验教学的创新设计

发现和认识教学过程中的问题不是目的,积极寻求解决问题的办法和改革教学方法才是教学之重。为提高“VB程序设计”课程的实验教学质量,培养和提高学生的动手实践能力、创新能力,针对不同的课程内容,总结教学经验,从以下几方面进行创新性实验教学改革[3-5]。

3.1明确学习意义,教书育人在授课过程中发现,学生对“VB程序设计”课程认识不够,学习动机不够明确,认为学习程序设计对他们来说没有用,今后到工作岗位不可能去编写程序。教育学生认识到,学习程序设计能够培养人发现问题和处理问题的能力,而且这种训练更符合信息时代的发展要求。今后未必一定要从事程序设计工作,就像在大学里人人都要学习高等数学,但并没有几个人在以后的工作中使用它一样,通过学习程序设计理解编程,掌握发现问题、分析问题和解决问题的能力有着更加深远的意义。针对复制程序、抄袭作业的现象,从诚实做人、诚信做事的角度教育学生不要抄袭,鼓励他们做一个诚实、勇敢、充满才情的人。这种关怀和鼓舞总是能起到非常好的效果。做一个教师,首先应该是育人,然后才是做好知识传授。

3.2大胆创新实验教学组织形式(1)因材施教。有些学生对程序设计特别感兴趣,喜欢编程,接受能力也很强;而有些学生由于前面几次课程听不懂、听不进去,就变得根本不愿意学习。针对这种情况,利用因材施教的方法进行实验教学,在整体教学中注意兼顾个别学生,并有针对性地调整教学进度,发掘和发挥不同学生的特长。给“吃不饱”的学生增加实验内容、提高难度;给“消化不了”的学生加强辅导,达到基本要求。(2)学习互助小组。由于课堂时间有限,教师不能全部解答每个学生的问题,不仅课堂时间不允许,而且顾此失彼,还会影响课堂秩序。针对这个问题,以“学习互助小组”为单位,挑选优秀的学生当组长帮助其他学生。(3)分阶段实验。“VB程序设计”是一门实践性很强的课程,针对不同层次的学生,设计“三步走”分阶段逐步提高。第一阶段,模仿阶段,初步掌握基本的编程思路,如求1~100累加和的程序。第二阶段,简单编程阶段。在模仿的基础上,通过类似实例问题进行编程设计,使学生掌握编程设计能力,如求1~100间奇数和、偶数和,求N!等程序。第三阶段,综合编程阶段。在模仿实例、类似实例的问题的解决过程中,使学生逐步具备自行编程设计的能力,培养学生分析问题和解决问题的能力,真正掌握程序设计的方法和能力,如求∏的近似值。

3.3科学构建创新性实验教学内容(1)减少验证性实验[6-9]。在实验教学中,为了排除学生的依赖心理,解决缺乏独立思考、自主性差的问题,经过模仿阶段的练习后,增加自由创新的实验内容。如讲到option、check控件时,要求学生分别做一个单项选择题和多项选择题的界面,古代诗词、历史知识、风景人物、地理知识等学生自创题目设计得多样丰富;讲到Timer控件时,要求学生结合条件结构完成标签文字的闪烁,口号、搞笑、知识、问候语等学生设计的文字各种各样,充分发挥了主观性和学习兴趣。(2)增加设计性实验[10-11]。要求学生以小组形式完成功能较完整的课程设计。例如开发一个档案管理系统,既考核了学生完成一个项目的独立思考能力、集体工作的协作能力、个人创新能力,也检验了学生把所学知识、技能进行条理化的能力,培养学生的综合运用能力。(3)实验内容创新。如讲到菜单设计时,将学生生活中在食堂遇到的菜单引入,按主食、小炒、小吃等不同菜单设计制作,激发了学生的学习兴趣和积极性。

3.4原创设计创新性实验教学方法(1)多形式的实验教学方法[12]。除了传统的机房实验教学外,还充分利用现代化教育技术手段,通过多媒体技术、网络教学平台等现代化教学手段辅助实验教学,丰富实验教学资源;利用教学博客、邮件、网上论坛等多种教学互动模式,进行学习经验、心得体会、应用技巧的交流,丰富实验教学方法。(2)独辟蹊径地开创实验教学方法[13]。组织课外技能竞赛,如组织学生打擂台赛、教师“请听题”和学生抢答比赛,设计“你来比划我来猜”等多种形式的竞赛内容,以及办理“实验积分卡”,充分调动了学生的积极性和学习兴趣。组织兴趣小组、增加课外活动、实验作业形式新颖,设计和完成综合性、趣味性的实验内容,为学生提供优质的自主学习、获取新知识、拓宽知识面的实验和设计平台,提高实验教学的效果。

3.5改革创新实验考核办法一改往常的提交实验报告及程序的方式,增加上机考试,建立上机试题库,将实验练习、综合设计、小组作业等作为考核内容,综合评定学生技能成绩,考查学生的观察思考能力、分析问题能力、解决问题能力、口头表达能力及应变能力等。