首页 > 实用范文 > 范文大全 > 程序设计报告范文优秀6篇正文

《程序设计报告范文优秀6篇》

时间:

《程序设计报告范文优秀6篇》由精心整编,希望在【程序设计报告】的写作上带给您相应的帮助与启发。

程序设计报告 篇1

关键词:新疆;亚行;贷款;建设;相关程序;

[Abstract]: This paper introduces the research of Xinjiangby ADB loan related program infrastructure construction

[keyword]: Xinjiang; ADB loans; construction; procedures;

中图分类号:TU99

1、新疆利用亚行贷款概况

目前,新疆利用亚行贷款进行了六期基础设施建设项目,分别为:1、贷款1亿美元的新疆地方基础设施和环境改善项目;2、贷款1亿美元的新疆城市交通和环境改善项目;3、贷款1亿美元的阿勒泰地区边境县口岸镇基础设施及环境改善项目;4、贷款2亿美元的新疆城市综合发展和水资源管理项目;5、贷款1.5亿美元的新疆阿克苏市项目;6、贷款1.5亿美元的新疆塔城边境城镇发展项目;

2、利用贷款程序

(1)基本工作程序

(2)项目备选计划

国家发改委在每年7-8月份要求各省、自治区、直辖市提交报告给国家发改委 ,申请纳入备选规划。各地发改委要给国家上请示文件并附项目简介(达到项目建议书深度),配套资金承诺函和财政担保函等。国家发改委和财政部向亚行提出项目建议,国家发改委汇总并确定项目清单后,商财政部报经国务院批准。次年初,国务院批准未来三年中国利用亚行贷款的滚动备选项目规划。

(3)亚行确认项目

目前,负责新疆亚行贷款项目的一般为亚洲开发银行东亚局城市和社会发展处。

亚行列入贷款项目规划,完成亚行立项手续。发展改革委提出项目前期工作要求,项目业主开始准备项目初设计、可研报告和项目建议书及相关材料。

亚行派出项目准备技术援助考察团来疆,与项目办签署考察备忘录,征集技术援助报告,选择技术援助公司(基于质量和成本的选择)。

(4)亚行工作流程

(5)技术援助团进场PPTA

技术援助时间一般为6-10个月,主要任务是帮助各编制单位完善并完成最终报告。技术援助起始团进入项目地,国内建设部门向技术援助团提交可研报告、移民报告、少数民族发展报告及环评报告初稿,与当地设计机构讨论对接编制的的四个报告,做相关培训。到项目区调研,举办环评、移民公众参与会。在技术援助期间技术援助团完成初期报告、中期报告及终期报告,翻译环评、移民、少数民族报告提交亚行。技术援助工作基本结束。

(6)亚行考察团实地考察

亚行考察团主要完成以下任务:1、工程技术和设计方面评估;2、社会影响及移民计划评估;3、环境影响及环境评估报告;4、项目成本预算及融资安排;5、经济评价及财务分析报告;6、机构能力评估7、培训执行机构人员;8、确保文件符合亚行要求;

在技术援助团完成初期、中期、终期报告后,亚行分别派出项目实地考察团审查技术援助开题报告、中期报告及终期报告并签署备忘录。

(7)亚行审查国内报告

在技术援助团向亚行提交各报告后,亚行管理层进行审查会议并将项目环评报告、移民报告、少数民族发展报告上网公示3个月。

亚行准备行长报告、评估报告、贷款协定、项目协议,亚行职员审查委员会会议审查。向政府发出贷款文件草本。

(8)亚行事后监督

建设单位每半年向亚行递交项目进度报告,亚行不定期派出时候检查团对建设项目进行检查。项目完工后,亚行和项目单位编制项目完工报告及后评估报告。

3、相关建议

(1)亚行贷款项目一般为大型复杂项目,前期准备时间长,项目实施内容一般都在项目准备阶段确定,因此要重视前期准备工作,力争主动。

(2)既要按照亚程序进行准备和评估,又要按照国内基本程序报批可研、资金申请报告等,为避免重复劳动,耽误项目进程,必须在两者之间找到合适的结合点,缩短准备时间,降低准备费用。

(3)亚行项目不仅提供建设资金,同时帮助借款人引进技术、培训人员、改善和加强机构能力建设。我们重在学习先进技术和管理经验,提高管理水平。

4、结束语

利用亚行贷款可以加快新疆各项基础设施的建设,它与人们的生产生活息息相关,其安全运行可加快城市的可持续发展,为维护社会的安定团结,构造和谐社会,谋城市跨越式发展打下良好的基础。

本文紧紧围绕新疆利用亚行贷款进行基础设施建设,进行了详细的阐述与分析,并对各建设部门今后利用亚行贷款做出了积极的建议。

程序设计报告范文 篇2

[关键词] 算法数学教学高职计算机专业算法学习报告

算法(algorithm)一词源于算术(algorism),算术方法的原义是一个由已知推求未知的运算过程。后来,人们把它推广到一般,指算法是在有限步骤内求解某一问题所使用的一组定义明确的规则,甚至把把进行某一工作的方法和步骤也称为算法。

算法是数学及其应用的重要组成部分,是计算科学的重要基础。随着现代信息技术的飞速发展,算法在科学技术、社会发展中发挥着越来越大的作用,并日益融入社会生活的许多方面,算法思想已经成为现代人应具备的一种数学素养。对于高职计算机专业的学生来说,算法的学习尤为重要,因为它是学习程序设计语言等专业课的基础。可是,现在的高职数学教材没有这一内容,并且在实际教学中数学理论与专业课程之间严重脱节,让学生觉得数学学习学之无用。因此在高职计算机专业的数学教学中加入算法内容,可以让学生在初步感受算法思想的基础上,结合对具体数学实例的分析,撰写算法学习报告,体验程序框图在解决问题中的作用;通过模仿、操作、探索,学习设计程序框图表达解决问题的过程;体会算法的基本思想以及算法的重要性和有效性,发展有条理的思考与表达的能力,提高逻辑思维能力,为学习程序设计语言等专业课程打下坚实的基础。

一、根据学生的学习现状,设计了算法学习报告,通过让学生撰写学习报告来探讨如何通过具体的数学实例让高职学生体会算法的基本思想

算法学习报告包括:学生预习情况、小组讨论、教师点评、学结、教师对学习报告的评价和调查问卷六个部分,下面来具体进行分析:

1.学会课前预习是学好任何学科的前提,数学学习也不例外。可是,对于职业学校的学生来说,大多数的学生没有良好的学习习惯,也比较懒惰。如何让高职学生改变这样的现状已成为新时期高职教师亟待解决的问题。因此,根据高职学生的这一特点和算法学习的要求,我设计了算法学习报告中的学生预习情况部分,让学生通过充分课前预习来为课堂学习做好准备。这部分细分为:解题分析、算法分析、画出流程图和写出程序设计的代码(程序设计代码的编写可根据学生的实际情况进行调整)。

下面以一个数学实例来具体介绍算法学习报告中的学生预习部分。

教师在课前先给出预习内容:任意给定3个正实数,设计一个算法,判断分别以这3个数为三边边长的三角形是否存在?

学生预习情况:对于这样一道“判断分别以这3个正实数为三边边长的三角形是否存在?”的题,以往的数学课上讨论的很少。因此,可能班级中绝大部分的学生没有一点正确的解题思路,就更谈不上写出解题分析、算法分析、画出流程图和写出程序设计的代码了。那么这时就来看看在课堂上教师如何引导学生进行这个内容的学习。

2.在课堂上通过以学生为主体的小组讨论方式,可以调动他们学习算法的积极性,同时开拓他们的学习视野。俗话说:“三个臭皮匠,顶个诸葛亮!”

课堂上小组讨论情况:有同学提出利用“两边之和大于第三边”来判断三个正实数为三边边长是否构成三角形。

3.教师点评是教师从旁引导,使学生能够正确理解算法的设计思路,建构正确的知识体系。

教师点评:为学生分析构成三角形的条件,鼓励学生尝试用“两边之和大于第三边”来判断三个正实数为三边边长是否构成三角形。

4.学生经过课堂上的小组讨论和教师点评后,已经有了大致的解题思路,但是仍需精加工。因此,要求学生独立完成学习报告中的学结,写出其中修改后的算法分析、画出流程图和程序设计的代码以及学后记。

学生修改后的算法分析:

第一步:输入3个数a、b、c。

第二步:利用“两边之和大于第三边”判断a、b、c是否能构成三角形。

第三步:如果能构成三角形,输出结果或者输出“无法构成三角形”的信息。

学生修改后的流程图:

程序设计代码:略

学后记:要求学生写出学习这部分内容的学习感受,找出自己在学习中的优缺点,为今后的算法学好坚实的基础。

同时通过以上这些具体的学习过程让学生通过自我反思,提高自身解决问题、分析问题的能力,为以后的算法学习积累丰厚的经验。

5.教师对学生所做学习报告的评价和成绩评定,可以让学生了解自己在算法学习上的优势和不足之处,为今后的学习打下坚实的基础。

6.学生在新的内容学习结束后,究竟掌握了多少?在算法学习方面还存在哪些问题呢?我在设计算法学习报告的同时还设计了一份调查问卷来了解学生的学习状况。

(1)你在预习时能理解多少研究主题的内容?

A.全部B.一半左右C.很少的一部分D.一点也不懂

(2)你在预习时能写出多少算法设计的步骤?

A.全部B.一半左右C.很少的一部分D.一点也不懂

(3)你在预习时能画出多少流程图的结构?

A.全部B.一半左右C.很少的一部分D.一点也不懂

(4)你在预习时能写出研究主题的程序设计多少行?

A.全部B.一半左右C.很少的一部分D.0行

(5)在听了小组的讨论后,你觉得在哪个方面的收获最大?

A.算法设计B.画流程图的结构C.写出程序设计D.以上三种都有

(6)在听了教师的点评后,你觉得在哪个方面的收获最大?

A.算法设计B.画流程图的结构C.写出程序设计D.以上三种都有

(7)你觉得填写学习报告中的预习情况对你的算法学习有帮助?

A.有很大帮助B.有一点帮助C.没有帮助D.可有可无

(8)你觉得小组讨论有必要进行下去吗?

A.很有必要B.有些必要C.没有必要D.可有可无

(9)在学习了这个研究主题后,你觉得目前你最薄弱的是哪一个环节?

A.算法设计B.画流程图的结构C.写出程序设计D.以上三种都有

(10)①教师给出的最佳程序设计写了行,

②你写出的正确的程序设计是行,

③最佳程序设计的行数:你写出正确的程序设计的行数= 。

让学生每做一份算法学习报告就做一份调查问卷,可以让数学教师和专业课教师及时明确地掌握学生学习情况的第一手资料。教师可以通过这些数据,对全班学生学习情况进行横向的对比,随时调整教学设计方案,找到适合高职计算机专业学生数学教学的模式;在撰写多个算法学习报告后,也可以对某位学生调查问卷的数据进行纵向的对比,从中可以看出这位学生的算法学习是否有进步,还存在哪些方面的问题亟待解决。教师可以及时给学生进行有针对性的辅导,提高他们的算法学习成绩。

二、撰写算法学习报告可以加强算法的核心内容――程序框图的学习

由于算法的概念并没有一个统一的定义,在教学过程中应从实例出发,通过让学生撰写算法学习报告可以加强学生对解决具体问题过程与步骤的分析,体会算法的思想,了解算法的含义,力求使学生能够对算法本质有所认识。自然语言、程序框图和算法语言是表达算法的三种形式,其中程序框图最为重要,它是算法的核心内容。教师在教学中要重点抓住它,而不必一味的追求程序设计的完整。算法案例配合学习报告的使用,可以使学生进一步理解程序框图,领会算法的本质。

三、算法学习报告对高职计算机专业数学教学的重要性和有效性

1.算法学习报告的撰写将数学学习与程序设计语言学习有机的进行了结合。

算法是实践性很强的内容,只有通过学生自己的亲身实践,让学生亲自去解决几个算法设计的问题,才能使学生体会算法的基本思想,学会一些基本逻辑结构和语句。算法内容是将数学中的算法与计算机技术建立联系,形式化地表示算法。为了有条理地、清晰地表达算法,往往需要将解决问题的过程整理成程序框图;为了能在计算机上实现,又要将自然语言或程序框图翻译成计算机语言。因此,如果能让学生上机,算法设计的整个过程就可以得到完整的体现,学生可以及时看到自己设计的算法的可行性、有效性,这不但可以很好地激发学生的兴趣,而且还能提高学习效果。但是有些学校教学条件不允许或者还没有开设程序设计语言的课程,算法学习报告的撰写正好弥补了这一不足,方便了学生进行算法的学习。

2.算法内容的学习最好安排在高职计算机专业的学生已经开始学习VB、C等程序设计语言课程后,这样能够直接与专业课的学习进行互动,学习成效会更加显著。

如果算法内容可以让高职计算机专业的学生用数学学习报告的方式进行学习,那么不仅能提高学生数学学习的兴趣,也能为专业课的学习打下了坚实的基础。

目前,算法教学刚刚起步,还有很多不完善的地方,但是我相信经过一段时间的摸索,一定会找到一个适合高职计算机专业学生的数学教学模式。高职数学教学改革任重而道远!

参考文献

程序设计报告 篇3

关键词:防雷装置检测;业务流程;数据库;客户端软件

Study on Lightning Protection System Check and Measure System

Zhou Liwei,Zhang Jianwei,Zhang Yuxia

(1.Changji State Meteorological Bureau,Changji831100,China; 2.China Mobile Communications Group Co.Ltd.Changji Branch of XinJiang Company,Changji831100,China)

Abstract:A lightning protection system check and measure business process is introduced firstly,then a software system is introduced in details.It is shown that this system has many pratical and strong functions.

Keywords:Detection of lightning protection devices;Business processes;Database;Client software

防雷装置检测作为雷电灾害防御工作的重要组成部分,得到了快速发展,为社会防灾减灾做出了必要的贡献。目前,其业务工作大都还处于手工操作阶段,随着业务内容、工作量、业务信息量的高速增长,手工操作已经不能适应发展的需求,建立一套高效、规范、信息化的业务系统已成为业务发展的必然要求。

一、业务流程介绍

根据防雷装置检测业务内容,建立业务流程(见图1),具体介绍如下:

检测单位收到受检单位检测申请后,首先进入检测现场,进行检测现场勘查,然后根据检测现场勘察情,确定检测场所防雷类别、检测项目,制定检测方案。检测人员根据制定的检测方案,进入检测现场进行数据采集。对采集数据进行分析,做出检测结果判定,针对两种判定结果,分两种情况处理:如果判定结果不合格,则向受检单位发放包含测整改意见的检测报告,整改完成后,重新进行检测;如果判定结果合格,则出具检测合格的检测报告。

二、系统数据库设计

通过分析,抽象出受检单位、检测场所、检测项目对象实体和组织检测、数据采集联系型实体,设计防雷装置检测ER模式如图2所示。

按照实体关系ER模式,设计数据库关系模式如表1所示。受检单位和检测场所虽然为1:N联系,但是因为同一检测场所的检测每年都要进行,因此也将组织检测设计为单独模式,并以单位编号、场所编号和检测日期组合作为主键;检测场所和检测项目为M:N联系,将数据采集联系类型转换成单独的数据采集关系模式,由场所编号、检测项目编号、采集日期组合作为主键。

在SQL SERVER2000关系型数据库管理系统中建立防雷装置检测业务系统数据库,在数据库中根据各关系模式建立相应关系表,完成系统数据库设计。

三、客户端程序

防雷装置检测业务系统客户端程序为菜单式应用程序,用Visual C++6.0开发完成。主要菜单分别为:受检单位管理、检测场所管理、检测项目管理、检测方案管理、场所检测管理、检测报告管理,下面对各菜单应用程序及相应功能做详细介绍。

1.受检单位管理

受检单位是防雷装置的所有者,负责申报、组织防雷装置的定期检测。通过主程序进入“受检单位管理”菜单,此菜单包括添加受检单位、修改受检单位、删除受检单位、查询受检单位四个子菜单。

添加受检单位:和受检单位首次发生检测业务时,完成对受测单位名称、地址等信息数据的录入和入库。在“添加受检单位”子程序界面的单位名称、单位地址等编辑框中输入相应单位信息数据,点击“保存”按钮,通过受检单位名称的唯一性检查,完成添加受检单位操作。

删除受检单位:受检单位发生关、停等需要终止检测业务时,完成从系统数据库中删除受检单位。通过主程序“受检单位”列表中选定要删除的受检单位,选择“删除受检单位”子菜单,完成删除受检单位操作。受检单位和检测场所发生关联,删除受检单位,必须先删除受检单位所属的检测场所。

修改受检单位:受检单位相关信息发生变动时,通过修改受检单位子程序完成相应信息数据的修改。

查询受检单位:按照不同条件、字段查询受检单位,以列表方式显示查询结果,并可通过主程序打印菜单,打印查询结果。

2.检测场所管理

检测场所是安装有防雷装置的建(构)《·》筑物、环境、场地、设备等的统称,检测单位在检测场所对防雷装置进行检测项目数据采集。通过主程序进入“检测场所管理”菜单,此菜单包括添加检测场所、修改检测场所、删除检测场所、查询检测场所四个子菜单。

添加受检场所:对受检测场所进行首次检测时,完成对检测场所名称、地址等信息数据的录入和入库。通过主程序“受检单位”列表中选定要添加检测场所的受检单位,选择“添加受检场所”子菜单,受检单位名称自动进入“添加受检场所”子程序界面,录入检测场所信息,通过检测场所名称的唯一性检查,完成添加操作。

添加、修改、查询检测场所和添加、修改、查询受检单位功能和操作类似。

3.检测项目管理

检测项目是对防雷装置性能进行评定的技术测试项目,系统数据库中的检测项目必须覆盖日常检测业务所涉及的所有检测项目,供场所检测方案的制定使用。通过主程序“检测项目管理”菜单进入检测项目管理子程序。

程序界面以列表形式列出系统数据库中已有的检测项目,配合程序界面中添加、修改、删除按钮,结合编辑框,完成检测项目的添加、修改、删除操作。

4.检测方案管理

检测方案是检测场所防雷装置检测项目的总和,场所检测依据检测方案进行检测项目数据采集。场所检测方案的检测项目,根据场所防雷装置的实际情况,依据技术规范对场所的防雷要求,在检测现场勘察的基础上综合确定,同一检测方案适用于同一类检测场所。通过主程序“检测方案管理”菜单,进入检测方案管理子程序。

子程序界面中的“检测项目”列表中列出系统数据库中的检测项目,“检测方案”树图列出制定的检测方案,“方案检测项目”列出选定检测方案的检测项目。在“检测方案”树图中选择检测方案,被选定检测方案的检测项目自动进入“方案检测项目”列表,结合检测方案操作、检测方案项目操作互斥选择按钮和添加、修改、删除、按钮以及编辑录入框,完成检测方案和检测方案检测项目的添加、修改、删除操作。制定的检测方案以配置文件的形式保存在系统中,供系统添加场所检测和检测报告管理部分使用,同时便于检测方案的集中制定和交流使用。

5.场所检测管理

场所检测管理完成组织检测场所检测信息数据和检测项目采集数据的管理。通过主程序进入“场所检测管理”菜单,此菜单包括添加场所检测、修改场所检测、查询场所检测三个子菜单。

添加场所检测:完成组织检测场所检测信息数据和检测项目采集数据的录入和入库操作,通过主程序检测场所列表选定进行检测的检测场所,选择“添加场所检测”子菜单,进入添加场所检测子程序。在“检测方案”树图中,选定检测场所适用的检测方案,检测方案中的检测项目自动进入“检测项目采集数据”列表的“项目名称”列,同时,相应列表行的实测数值、质量情况、单项结论、整改意见四项自动进入可编辑状态,通过编辑输入或弹出对话框选择方式完成检测项目采集数据的录入;通过子程序界面中的检测单位、检测日期、综合检测结论等编辑框,选择编辑录入或下拉选择的方式完成组织检测场所检测信息数据的录入。数据录入完成后,点击子程序界面中“保存”按钮,完成录入数据的入库。

修改场所检测:组织检测场所检测信息数据和检测项目采集数据发生变动时,通过修改场所检测子程序完成相应数据的修改。

查询场所检测:按照不同条件、字段查询场所检测信息,以列表方式显示符合条件的受检单位和检测场所,并可通过主程序打印菜单,打印查询结果。

6.检测报告管理

检测报告管理完成防雷装置检测报告的生成和打印。检测报告是出具给受检测单位,显示检测场所防雷装置检测情况和结果的文本,报告数据通常设计受检单位、检测场所、检测项目、组织检测、检测项目采集数据,以下将这些数据统称为检测数据。检测报告的的格式和检测数据项经常根据实际需要发生变动,如果采用制定固定格式空白检测报告,然后从数据库中提取数据写入报告固定位置的方法,无法满足实际业务工作要求,系统采用替换标识的方法予以灵活解决。通过主程序进入“检测报告管理”菜单,此菜单包括打印设置、标识设定、标识替换三个子菜单。

在WORD2003编辑器中,针对系统中已经制定的各检测方案,分别制做相应的检测报告XML格式电子文档,并在文档中需要填写检测数据的位置做出*#N#*数据标识,*##*为数据标识符,N为标识号。

打印设置:选择“打印设置”菜单,进入打印设置子程序界面,通过“检测方案”树图、“文档路径、名称”编辑框和“浏览”按钮,分别设置各检测方案相对应的检测报告XML电子文档路径和名称。

标识设定:标识设定确定检测数据和检测报告XML电子文档中数据标识之间的对应关系,选择“标识设定”子菜单,进入标识设定子程序界面。在“检测数据和数据标识对应关系”列表的“检测数据”列上半部分,为受检单位、检测场所、和组织实施检测数据项,通过“检测方案”树图中选定检测方案,检测方案相应的检测项目和检测项目采集数据项自动进入“检测数据”列下半部,形成完整的“检测数据”列,同时,列表的“检测报告数据标识”列自动变为可编辑状态。根据检测报告XML电子文档中的数据标识和检测数据的对应关系,在“检测报告数据标识”列各行中写入相应数据标识,点击“保存”按钮,相应的设定结果以配置文件的形式保存,依次完成各检测方案检测报告的标识设定。

标识替换:通过主程序场所检测列表选定检测场所特定日期的检测,选择“标识替换”子菜单,系统自动根据打印设置和标识设定的结果进行检测数据的提取和检测报告数据标识的替换,生成以“受检测单位名称+检测场所成名称+检测日期+检测报告”为名称的检测报告完整电子文档并保存,同时,启动WORD2003编辑器,打开文档进行打印操作。

四、小结

以上介绍了防雷装置检测业务流程和防雷装置检测业务系统。系统的研制,建立了防雷装置检测业务工作信息数据库,提供了信息数据的查询、统计打印功能,方便了信息数据的使用,提高了信息数据的准确性;将检测方案制定、打印出检单、采集数据录入、检测报告打印等业务工作集成到同一系统中,解决了实际工作需要,同时,规范了业务操作流程;大大减轻了手工劳动,提高了工作效率,减少了人工环节出错的机会。随着系统的使用,将根据业务发展的实际需要,进一步扩展和完善系统功能,以便更好的服务于实际工作。

参考文献:

[1]丁宝康,李大学。数据库原理。北京:经济科学出版社。2000.3

[2]丁跃潮,张涛,叶文来等。XML工程实践。北京:北京大学出版社。2006.1

[3]邵敏,李力宏,何川等。XML编程实践.北京:清华大学出版社。2002.12

[4]杨仲江。防雷工程检测审核与验收。南京信息工程大学雷电防护系列教材。2005

[5]李鲲程。Visual C++打印编程技术与工程实践。北京:人民邮电出版社。2003.8

程序设计报告 篇4

【关键字】程序设计 实验教学 ACM

一、引言

近来年,随着信息技术在社会各个应用领域的渗透和普及,程序设计类课程已经发展为高校计算机教育的重点课程。理论教学与实验教学是程序设计类课程的重要组成部分,其中,实验教学是完整教学过程中的不可或缺的实践性教学环节。实验的目的不仅仅是为了验证所编程序的正确与否,也是为了加深对程序设计语言知识的充分理解,更重要的是培养学生的实际操作能力和积累丰富的编程经验,从而引导他们利用程序设计语言编程来解决实际问题。基于此,本文对如何更好的进行程序设计类课程的实验教学作一些探讨。

二、现状分析

目前,我校计算机学院开设了高级语言如C、C++等多门程序设计类课程,这些课程的共同目标就是让学生通过上机实验和课程设计来巩固课堂上讲解的语法规则和算法技巧,锻炼编程能力。但是现有的程序设计类课程实验教学存在着很多问题,导致整个教学效果得不到提高,与教学目标的要求不相符。本节将主要从三个方面对其存在的问题进行总结:

2.1 实验教学安排

我院程序设计类课程的上机实验课时是有限的,一般都是每周安排两个课时,或者最多四个课时,通常会在连续的几周内结束。由于一般程序的编写和调试比较费时间,要是学生不事先做好充分的准备,仅仅靠在两个课时内去完成一个完整的程序编写是不太可能的,对所学内容也没能充分理解,很难在课堂上培养学生的实际编程能力。

2.2 实验教学内容

我院专业实验中心的机房环境是一个内部的局域网,不能连接到互联网,教师都是通过课件投影或屏幕广播教学软件来完成主要的实验教学过程。实验内容基本卜^都是对课堂理论教学内容进行验证和实现,学生按照教材或课件来完成实验。整个的实验教学环节中,教师根据实际的情况来选择是否进行案例教学,而当前多数实验教学过程中的案例所覆盖的知识点范围不够理想,不能将新旧知识点都包含进来。案例陈旧,缺少更新,实用性和趣味性也不强,因此不能很好的激发学生的学习热情,不利于培养学生的独立思考和动手操作能力,未能达到教学目标的要求。

2.3 实验教学考核

实验课程主要是通过实验报告中的程序编写情况来考核的。由于时间有限,实验报告的批改都是教师在课后另找时间检查,教师往往只能通过纸质的实验报告来分析学生的程序,要求程序能正常通过,看到运行结果就可以了,而忽略了程序中的调试环节,而这些环节中通常都是学生未掌握的知识点。这种考核方式不利于教师对学生学习情况的掌握,也不利于培养学生的创新能力。

三、ACM学习模式的特点

现在,随着ACM国际大学生程序设计竞赛(简称ACM)在高校中的推广,越来越多的学生参与进来了。在迎接ACM竞赛的学习过程中,形成了一种具有ACM竞赛特点的学习模式,这种学习模式的特点如下:

l、ACM竞赛所涉及的知识面十分广泛,算法电极具复杂性。通常在平时的训练过程中为了能深刻而透彻的理解各个知识点,教师会引入大量的案例教学。运用典型案例可以将学生带人特定的问题进行案例分析,通过学生的独立思考或团队合作,进一步提高其解决具体问题的能力。

2、ACM竞赛是通过在线测评系统上实时提交程序代码,给出评判结果的竞赛形式。ACM测评系统能够实时的给出参赛队的排名情况和每道题的通过率以及通过人数,教师可根据题目的通过率来掌握学生对知识点的学习情况,也可以反思其教学方法和教学内容中存在的问题。

四、基于ACM模式的程序设计类课程实验教学的做法

将ACM学习模式应用到我院现有的程序设计类课程实验教学过程中,具体措施运用如下:

4.1 实验课程的开设

我院高级语言(C、C++)程序设计实验课程都是在大一这一学年开设的,大一第一学期是面向过程的C语言编程学习,大一第二学期是面向对象的C++语言编程学习。这样开课的结果就使得大多数学生连面向过程的编程都还没有完全搞清楚,就直接跳到了面向对象的编程,可以说整个大一学期都是处于混沌的编程状态。因为对程序设计语言的思想和语法还没完全掌握,所以很多学生不具备基本的编程能力,甚至对编程有恐惧感。为了解决这些问题,我们结合ACM的竞赛模式来调整开课计划,把原计划2个学期的高级语言程序设计实验课程的教学时间调整为5个学期,这样可以贯穿整个计算机专业课的学习过程,从而将程序设计语言和其他计算机专业课的学习更好的结合起来,让学生有时间去深刻地理解程序设计语言的思想和方法,不断地锻炼实践操作能力和积累编程经验。

4.2 实验内容的选取和实验课程的考核

对实验环境来说,要求将我院专业实验中心机房连接到我校的源程序在线测评(Onlinejudge,简称OJ)平台上。根据程序设计类课程的实验内容和具体要求,每次实验前,教师可以从我校或者其他高校的OJ平台上的ACM竞赛题库中挑选或改造2-3个相关题目作为实验内容挂到我校的OJ上。在实验课阶段,由学生独立完成或者自由组队来编写程序,调试程序,解决问题,编写好的程序提交给OJ来判断正确与否。通过每次实验在OJ上完成的做题数量,教师可以由此掌握到学生对知识点的学习情况,对欠缺的知识点再给与重点讲解。同时教师可以根据OJ上的排名很轻松的完成实验课程的考核。学生也可以通过每次实验的做题和排名情况,来检查自己的学习方法和学习内容,从而达到熟练掌握所学内容的实验教学目的。

五、结束语

程序设计报告 篇5

关键词:c++教学;教学改革;三步法;主动学习

0、引言

c++具有功能丰富、表达能力强、灵活方便、应用面广、目标程序效率高、可移植性好的特点,因此很多高校都将其作为计算机专业的一门专业基础课。该课程对培养学生的编程技能与逻辑思维能力、分析解决问题的能力、自学能力有重要作用。但是,c++存在概念多、规则复杂、使用灵活、不易调试等问题,使得教师教学和学生学习都感到困难,特别是很多高等院校将c++作为计算机专业学生入学后首先接触的第一门专业基础课,这种现象尤为明显,而c++基础学不好将直接影响后续专业课程的学习。因此如何进行c++程序设计课程教育,进一步提高教学效果与质量,成为了计算机专业课程建设中的一个紧迫任务。

1、教学计划改革

教学计划改革前,中南林业科技大学c++程序设计课程安排在大学一年级第2学期开设,其中理论课程安排在第1~16周,每周4学时,共64学时,4学分;实践课程安排在第2~19周,每周2学时,共36学时,2学分。

笔者通过几年的教学实践,发现教学计划中存在3点问题:

(1)学生没有编程基础。中南林业科技大学计算机专业学生在大学一年级第1学期的专业基础课程只开设了计算机导论这门课程,导致学生缺乏计算机编程基础的知识。

(2)理论教学跨度过长。C++程序设计理论课时共64学时,需要、16周的教学时间。这使学生在学习过程中遗忘了前面的教学内容,从而影响学生的学习热情。

(3)实践教学课时不足。C++是一门实践要求强的课程,理论教学与实践教学课时合理安排应是1:1或者1:1.5。而中南林业科技大学的c++程序设计课程的实践教学课时不足,从而影响学生学习兴趣。

基于以上3点问题一中南林业科技大学对c++程序设计课程的教学计划做了修改,将c++程序设计课程教学内容分为两个部分。

(1)面向过程教学内容安排在大学一年级第1学期进行,其中,理论课时32学时,每周4学时,共8周,2学分;实践教学课时32学时,每周4学时,共8周,2学分。

(2)面向对象的教学内容安排在大学一年级第2学期,其中,理论课时32学时,每周4学时,共8周,2学分;实践教学课时32学时,每周4学时,共8周,2学分。

2、教学改革

2.1 教学内容改革

根据新版教学计划,对c++程序设计的教学内容进行改革。首先调整教学大纲内容。最初的教学大纲是按照64学时编制的,内容涉及c++面向过程编程和面向对象编程思想。新修改后的教学大纲分为两部分:第1部分是C++面向过程的程序设计思想;第2部分是c++面向对象的程序设计思想。每部分包括32学时的理论教学和32学时的实践教学。

在面向过程的教学内容中,重点介绍c++的基本语法、规则和编程思想,详细介绍数据类型、变量、运算符、表达式、语句、控制语句、数组、函数、函数重载、参数传递的关键知识点,弱化了指针的知识点。同时对一些知识进行归类教学,采用“三步法”教学方法对关键知识点进行归纳和总结。

在面向对象的教学内容中,重点对c++中类、对象、成员函数、数据成员、构造函数、封装性、信息隐藏、继承性和多态性等知识点进行详细介绍,弱化运算符重载的内容。

通过对教学内容的改革,使学生在具体的教学过程中,不会产生迷惑,从而避免学生在接触到程序设计时,区分不了面向过程与面向对象的编程思想。面向过程程序设计思想的重点是c++基本语法、规则和编程思路的形成,而面向对象的教学则可以为学生在后续学习目前流行的开发语言Java和c#等面向对象程序设计语言时提供帮助。

2.2 “三步法”的教学方法

“三步法”是笔者通过长期的C++教学过程发现的一个规律。“三步法”的教学方法定义为:在c++语法中,一般存在“定义、声明和应用”3个步骤,因此,将这3个步骤称为“三步法”教学。通过“三步法”的学习,能够使学生减少编程过程中的语法错误,提高编程能力。

在面向过程的教学内容中,总结了许多采用“三步法”教学的知识点。如函数的“三步法”教学方法是函数的定义、声明和调用。对于函数,我们在教学过程中第1步要定义函数,即定义函数的功能;第2步是向编译器声明函数的原型;第3步是在需要时进行调用。通过“三步法”教学,学生能够很快地领会函数的正确使用方法。其他的知识点包括变量的“定义、初始化和应用”、数组的“定义、初始化和应用”等。

在面向对象的教学内容中,也总结了大量的“三步法”教学知识点,其中类与对象是典型的知识点。对于类与对象,总结的是类的定义、对象的定义和对象应用的“三步法”教学方法,旨在告诉学生要正确使用对象方法,第1步必须要定义类数据类型,第2步是利用定义后的类数据类型定义对象,第3步才是对对象的应用。

“三步法”的教学方法是在笔者长期的教学实践过程中总结出来的教学方法,对于初次接触计算机编程的学生来说,通过程式化的学习,能快速记住编程的规范,减少语法错误,提高初学者的学习兴趣与热情,增强学生的自信心。

2.3 实践教学的改革

c++程序设计是实践性很强的一门课,培养学生的编程能力是教学的首要目的。因此,在授课的同时,如何引导学生利用上机实验来加强实践也是教学中的一个重要环节。实践课程的主体是上机实验课程,但仅在上机实验课上编程是不够的,学习效果也会大打折扣。为此,我们对实践教学进行了改革。

(1)改革实践课程教学方式。传统的实践教学方法是学生上机实验课,发现问题后由教师答疑,编写实验报告,最后由教师批改实验报告。在这个过程中,我们发现一个问题。由于现在的教材编订,许多的实验内容都有标准的答案,这样容易造成学生在实验课程中,按照标准答案写程序,不能使学生的编程思维得到有效的训练。为此,我们对这一教学方法进行了改进。首先在理论课堂上给出下次实践课程的实验内容,要求学生必须先写好实验报告;然后在实验过程中,由邻桌同学对事先写好的实验报告进行调试和批改。这样做的好处是学生事先对实验内容进行预习,并设计相应的程序,同时,学生是带着批判的精神来调试其他同学的程序,激发了学生的学习兴趣,提高了实验课程的学习效率。

(2)以小项目带动实践教学,提高学生编程兴趣。我们提供许多对学生具有吸引力的小项目,如24点游戏、老虎过河这两款游戏,不仅玩起来简单,用c++语言实现起来也简单,这对刚学习计算机编程的学生来说,既有娱乐性,又简单易编程,实现后易有成就感,易增加学习兴趣。在实现这些小项目的过程中,练习和巩固了C++语言的基础知识。另外,我们还设计了与学生的年龄特征及学生生活内容相关的小型系统开发,如课堂点名、签到系统、学生信息管理系统等。在c++语言的基础知识学完之后,需要学习面向对象编程,功能模块增多,难度增加,该类项目与学生的日常生活息息相关,学生对这些项目的各功能模块的流程也非常熟悉。

(3)采用综合设计型实验增加学生团队合作协调能力。通过布置或由学生结合本人的兴趣,从实际应用中选择有具体应用背景的实验题目,安排学生分组共同完成。综合设计型实验的具体内容如下:

①首先将综合设计型实验的题目要求布置给学生,要求学生在选好题目的基础上,认真研究题目的要求,自行查阅有关资料,写出系统的需求分析、总体框架设计,确定小组组长和成员,由小组组长进行任务分配工作。

②小组组长组织系统的需求分析、总体框架设计的讨论工作,将确定的系统详细设计方案交于教师审阅。

③在限定的时间内,组长安排成员完成C++语言的代码设计,完成各个功能单元的实现和调试。

④联编调试,要求把各个功能块联编起来进行调试。

⑤写出相关的系统分析、设计、实现等实验报告和文档。

综合设计型实验建立起以学生为中心的教学模式,这样既锻炼学生的动手能力,也加强他们交流与团结协作的精神,全面提升学生的程序设计与软件开发能力。

2.4 考核方式改革

传统教学模式中,c++理论课程的考核往往只有考试一个环节,显得不太合理。基于之前的改革,笔者对c++程序设计理论课程的考核包括以下几个部分:

平时环节占总成绩的20%,主要考查学生的出勤、作业、课堂表现等;团队表现占总成绩的20%,主要考查学生的团队协作能力;期末考试占总成绩的60%,主要考查学生的基本知识点、程序阅读能力与程序编写能力。

对于实践教学,考核以考查为主,主要考查学生在实践过程中的编程开发能力。实践课程的考核分4个部分,包括:平时环节(占总成绩的20%),实验过程(占总成绩的40%),实验报告(占总成绩的20%),团队协作(占总成绩的20%)o

3、结语

程序设计课程的教学目的是通过一门程序设计语言的教学,使学生掌握程序设计思维,包括基本结构和基本算法等,从而掌握程序设计的一般方法。但c++程序设计课程存在语法复杂、编程灵活、调试困难等问题,再加上开设这门课程时,学生通常属于初学者,容易让学生对这门课程普遍感觉枯燥、难懂。

程序设计报告 篇6

中图分类号:G424.1 文献标识码:A

Improving the Experiment Equality on the C Programming

by Group Teaching in the Network Environment

ZHU Juan

(Information Science and Technology, Jiujiang UniversityJiujiang, Jiangxi 332005)

AbstractGroup teaching method is an important method that used widely in the practical classes. And it is important to reform the teaching model, and to improve the teaching quality. In this paper, the method of group teaching is introduced to the experiment of C programing class. By developing the group strategy, the students complete the experiment tasks by team working. The result proves that the method of group teaching is valuable in the C programing class.

Key wordsgroup teaching; teaching mode; teaching feedback

0 引言

C程序设计课程受众非常广泛,普通地方高等院校几乎都有开设,对计算机专业的学生而言,这是程序设计的入门课,也是专业核心课;对非计算机专业学生而言,这是通过计算机等级考试的核心科目,是必选通识课。

随着计算机理论教学的逐步深入,C程序设计课程的教学模式也几经改革,取得了很大的进步,但是,还存在着一些问题:C程序的教学往往过于强调语法的讲授,对如何分析和解决问题讲得不够透彻,没有把编程思路放在主体地位上;过于注重课堂讲授,对学生编程能力和程序调试能力的训练不够,忽视学生实际动手能力的培养。C程序作为一门程序设计类课程,实践能力是其重要的环节,虽然大多数高校都安排了实验上机环节,但是将近一百人的课堂,只有一个教师进行指导,这样的实际情况下,教师对学生实际操作的指导是远远不够的。因此,往往在一个学期结束之后,仍然有不少同学甚至不能进行简单的程序调试。

针对以上现状,本文试图构建分组实验的教学模式,提高C程序课程实验教学的质量,提高学生编程能力。

1 分组实验教学的概念

分组实验教学是根据实验课程及现有学生特点进行分组,使之以组为单位来完成实验任务,以提高实验教学效果,促进学生动手能力的提高。

2 分组教学的准备

2.1 分组实验设施的配置

C程序设计课程的实验教学一般都分配有专业的实验室,人均一台电脑,安装有专业的实验软件,一般为Turbo C2.0或Visual C++6.0,学生以自己的电脑为单位独立完成实验任务。本文拟提出的分组实验教学模式,在原有的实验设施的配置之上,还需要配置有网络连接,通过网络实现分组讨论。

2.2 小组的划分

在以往的类似分组实验教学活动中,对学生的分组一般是按学号顺序进行分组,这样的分组会导致学生学习能力在各小组分配不均匀,可能会出现有的小组实验能力特别强而另外小组实验能力非常弱的情形。因此,本文拟提出以学生上一学期的期末成绩作为分组的依据,每五人一组,使得成绩好和成绩较差的学生在各组基本平均分配。

2.3 小组组长的指定

每个小组指定一名组长,组长在小组里很大程度上起到教师的作用,不仅自己完成实验任务,还要负责组织小组成员的讨论安排以及,帮组解决小组成员程序调试中出现的问题。所以,一般指定小组内成绩最好的同学为小组组长。

3 分组教学的实施

3.1 实验任务的布置

利用QQ群功能,以班级为单位构建一个班级群,然后各小组成员构建自己的小组群,便于实验任务的布置以及群之间的讨论。教师在班级群将实验任务出去,实验任务包括指定实验名称、实验内容、调试计划等,各小组的实验任务可以相同也可以不同。

3.2 分组实验教学的实施

算法讨论。由于C程序设计是一门程序设计类课程,实验内容主要以编写程序代码为主,而编程的核心是算法的分析与设计。以往很多同学无论是计算机专业还是其他非计算机专业的学生拿到程序题目就开始编写代码,没有算法设计这一环节,因此对于程序调试过程中的逻辑问题无(下转第40页)(上接第38页)法解决。所以,算法设计纳入本实验环节,小组长组织本小组成员在QQ小组群里首先对算法的思路进行讨论,确定行之有效的算法,甚至为了强化大家对于算法概念的掌握,可以要求一个题目用多个算法来实现。

代码编写。通过算法讨论,并确定算法的正确性之后,各小组成员分别独立完成自己程序代码的编写。

程序调试。程序调试时C程序设计实验课程的重要环节。再有经验的程序设计者也不可能将所有程序一次性编写成功,调试――修改――调试,这是程序设计必经的环节。而限制学生C程序实验课程教学效果提高的重要因素就是学生程序调试能力太差。学生往往缺乏程序调试的意识,成绩好的同学遇到问题问老师,成绩不好的同学遇到问题干脆放弃,长此以往,很多同学上机的兴趣就遗失了。本文拟通过分组的形式,遇到问题,小组讨论,众人拾柴火焰高,在小组长领导之下,对于简单问题,成员之间共同解决。对于实在解决不了的,由小组长发给教师,在教师的指导下解决。这样的解决方式,一方面锻炼了学生调试程序的能力,另一方面自己的问题自己内部解决也激发了学生的成就感启发了其继续学习下去的兴趣。

实验报告的编写。以往的实验报告按人头上交,每个学生每次实验课均提交一次实验报告,大部分同学的实验报告均照抄程序代码,敷衍了事。实验报告是对一次实验过程的总结,包括算法的设计,程序的调试等,认真的总结也是一次学习的过程。在本论文中,拟每个小组只需以小组为单位提交一份实验报告。这种形式,一方面避免学生将大部分精力投入抄写实验报告中,另一方面,通过小组长督促本小组成员对本次实验认真总结,除了算法的设计之外,更重要的是调试程序的经验。

4 分组实验教学的反馈与调整

笔者在所授课班级通过实施分组实验教学,班级学生实验动手能力整体比较高,国家计算机等级考试过级率也高出同类班级。

同时,对班级不同小组成绩进行横向比较,发现实验内容难易程度、小组长的沟通和组织能力以及小组成员的学习积极性是影响教学效果的重要因素。因此,需要在教学实践中不断加以关注和调整,发挥有利因素,抑制不利因素,使得分组实验教学模式在C程序设计课程教学中发挥更加重要的作用。

5 小结

将分组式教学模式引入C程序设计课程教学,就课程改革而言具有重要意义,实践证明通过分组式教学,学生的C程序设计理论知识得到了很好的巩固,编程动手能力得到了很大的提高,同时对学生的学习积极性也起到了很好的激励作用。

参考文献