计算机系课程设计要求

关于课程设计的要求

一、概述

课程设计是对学生的一种全面综合训练,是不可缺少的一个教学环节。通常,课程设计中的问题比平时的习题复杂的多,也更接近实际。课程设计着眼于原理与应用的结合点,使学生学会如何把书上学到的知识用于解决实际问题,培养软件工作所需要的动手能力;另一方面,能使书上的知识变“活”,起到深化理解和灵活掌握教学内容的目的。平时的习题较偏重于如何编写功能单一的“小”算法,局限于一个或两个知识点,而课程设计题是软件设计的综合训练,包括问题分析,总体结构设计,用户界面设计、程序设计基本技能和技巧,多人合作,以至一整套软件工作规范的训练和科学作风的培养。此外,还有很重要的一点是:计算机是比任何教师更严厉的检查者。

为达到上述目的,使学生更好地掌握面向对象程序设计的基本方法和C++语言的应用,本课程安排了课程设计环节,提供了5个题目供学生选择。每个实习题采取了统一的格式,由问题描述、基本要求、测试数据、实现提示和选做内容等五个部分组成。问题描述旨在为学生建立问题提出的背景,指明问题“是什么”。基本要求则对问题进一步求精,划出问题的边界,指出具体的参量或前提条件,并规定该题的最低限度要求。测试数据部分旨在为检查学生上机作业提供方便。在实现提示部分,对实现中的难点及其解法思路等问题作了简要提示,提示的实现方法未必是最好的,学生不应拘泥与此,而应努力设计和开发更好的方法和结构。选做部分向那些尚有余力的读者提出了更高的要求,同时也能开拓其它读者的思路,在完成基本要求时就力求避免就事论事的不良思想方法,尽可能寻求具有普遍意义的解法,使得程序结构合理,容易修改、扩充和重用。

二、总体要求

1.系统分析与系统设计

“分析就是在采取行动之前,对问题的研究”(Demarco,1978)。系统分析在软件开发过程中是非常重要的,其任务就是通过对问题本身的研究,产生一个系统需要做什么的规范的、一致的和可行的需求说明。在此基础上,确定系统中所需考虑的类(对象)、类之间的关系、本系统中各个类所涉及的属性及针对这些属性的操作。类及类之间的关系可用类图来表示,对象之间的消息传递可用箭头表示,另外一些重要的操作应给出规格说明。

2.详细设计与编码

对类中的属性和操作从实现的角度(如可扩充、在派生类中能否直接使用或只需少量修改、访问的效率和方便性等)进一步考察;对类中的操作(即方法)进一步求精:用if 、while 、for 和赋值语句加上自然语言写出算法框架;同时考虑能否使用已有类库(包括直接使用或通过派生)以减少编程的工作量和提高程序的可靠性。

编码,即程序设计,是对详细设计的结果的进一步求精,用面向对象语言(如C++)表达出来。在充分理解和把握语言运行机制的基础上,编写出正确的、清晰的、易读易改和高效率的程序。另外,在标识符的命名、代码的长度(一个方法长度一般不超过40行,否则应划分为两个或多个方法)、程序书写的风格(如缩进格式、空格(空行)的应用、注释等)

方面也应注意,遵循统一的规范。

3.上机调试和测试

上机时要带一本面向对象语言的教材,若有开发环境的用户指南(手册)及类库(库函数)手册则更好。应仔细阅读程序编译和连接时的错误信息(通常是英文的),弄清其确切含义,提高调试效率。要学习并掌握开发环境所提供的调试工具。

经过调试,能够运行的的程序并非就是一个正确的程序。实际上,在上机之前,就应根据系统的需求设计相应的测试数据集,特别是一些异常情况的处理(如用户输入数据未按指定格式、数据极大或极小时程序如何处理等一些极端的情况)。

4.课程设计报告

课程设计报告的内容及要求:

一. 需求和规格说明

描述问题,简述题目要解决的问题是什么?规定软件做什么。

二. 设计(算法分析、具体实现)

1.设计思想:程序结构(如类图),重要的数据结构。主要算法思想(文字描述,不

要画框图)。

2.设计表示:类名及其作用,类中数据成员名称及作用,类中成员函数原型及其功

能,可以用表格形式表达。

3.实现注释:各项要求的实现程度、在完成基本要求的基础上还实现了什么功能?

4.详细设计表示:主要算法的框架及实现此算法的成员函数接口。

三. 用户手册

即使用说明(包括数据输入时的格式要求)。

四. 测试与思考

调试过程中遇到的主要问题是如何解决的;对设计和编码的回顾讨论和分析;程序运

行的时空效率分析;测试数据集;运行实例;改进设想;经验和体会等。

附录

源程序清单:打印文本和磁盘文件,磁盘文件是必须的。源程序要加注释,除原有注

释外再用钢笔加一些必要的注释和断言。

测试数据:即列出测试数据集

运行结果:上面测试数据输入后程序运行的结果

注意事项:

1.以上要求为一般的要求,针对具体问题和具体的开发过程,某些方面可以做适当的增减。

2.各种文档资料要在程序开发过程中逐渐形成, 而不是最后补写。

3.各种文档要以统一格式的稿纸用钢笔书写,也可录入计算机用Word 及其它文字编辑软件排版后打印输出。

计算机科学与技术系

2008-2-25

附录E 课程设计报告参考样本

C++课程设计报告(小三,粗)

XXXX 管理系统(小一,粗)

姓 名:_____________________________ 班 级:_____________________________ 学 号:_____________________________ 指导教师:_____________________________ 成 绩:_____________________________ 完成时间:_____________________________ 完成地点:_____________________________

报告中应包括的内容:

一、 设计任务分析

二、 模块设计

三、 主要数据结构

四、 流程图

五、 源代码

六、 测试情况

七、 小结(包括感想、致谢、设计总结)

关于课程设计的要求

一、概述

课程设计是对学生的一种全面综合训练,是不可缺少的一个教学环节。通常,课程设计中的问题比平时的习题复杂的多,也更接近实际。课程设计着眼于原理与应用的结合点,使学生学会如何把书上学到的知识用于解决实际问题,培养软件工作所需要的动手能力;另一方面,能使书上的知识变“活”,起到深化理解和灵活掌握教学内容的目的。平时的习题较偏重于如何编写功能单一的“小”算法,局限于一个或两个知识点,而课程设计题是软件设计的综合训练,包括问题分析,总体结构设计,用户界面设计、程序设计基本技能和技巧,多人合作,以至一整套软件工作规范的训练和科学作风的培养。此外,还有很重要的一点是:计算机是比任何教师更严厉的检查者。

为达到上述目的,使学生更好地掌握面向对象程序设计的基本方法和C++语言的应用,本课程安排了课程设计环节,提供了5个题目供学生选择。每个实习题采取了统一的格式,由问题描述、基本要求、测试数据、实现提示和选做内容等五个部分组成。问题描述旨在为学生建立问题提出的背景,指明问题“是什么”。基本要求则对问题进一步求精,划出问题的边界,指出具体的参量或前提条件,并规定该题的最低限度要求。测试数据部分旨在为检查学生上机作业提供方便。在实现提示部分,对实现中的难点及其解法思路等问题作了简要提示,提示的实现方法未必是最好的,学生不应拘泥与此,而应努力设计和开发更好的方法和结构。选做部分向那些尚有余力的读者提出了更高的要求,同时也能开拓其它读者的思路,在完成基本要求时就力求避免就事论事的不良思想方法,尽可能寻求具有普遍意义的解法,使得程序结构合理,容易修改、扩充和重用。

二、总体要求

1.系统分析与系统设计

“分析就是在采取行动之前,对问题的研究”(Demarco,1978)。系统分析在软件开发过程中是非常重要的,其任务就是通过对问题本身的研究,产生一个系统需要做什么的规范的、一致的和可行的需求说明。在此基础上,确定系统中所需考虑的类(对象)、类之间的关系、本系统中各个类所涉及的属性及针对这些属性的操作。类及类之间的关系可用类图来表示,对象之间的消息传递可用箭头表示,另外一些重要的操作应给出规格说明。

2.详细设计与编码

对类中的属性和操作从实现的角度(如可扩充、在派生类中能否直接使用或只需少量修改、访问的效率和方便性等)进一步考察;对类中的操作(即方法)进一步求精:用if 、while 、for 和赋值语句加上自然语言写出算法框架;同时考虑能否使用已有类库(包括直接使用或通过派生)以减少编程的工作量和提高程序的可靠性。

编码,即程序设计,是对详细设计的结果的进一步求精,用面向对象语言(如C++)表达出来。在充分理解和把握语言运行机制的基础上,编写出正确的、清晰的、易读易改和高效率的程序。另外,在标识符的命名、代码的长度(一个方法长度一般不超过40行,否则应划分为两个或多个方法)、程序书写的风格(如缩进格式、空格(空行)的应用、注释等)

方面也应注意,遵循统一的规范。

3.上机调试和测试

上机时要带一本面向对象语言的教材,若有开发环境的用户指南(手册)及类库(库函数)手册则更好。应仔细阅读程序编译和连接时的错误信息(通常是英文的),弄清其确切含义,提高调试效率。要学习并掌握开发环境所提供的调试工具。

经过调试,能够运行的的程序并非就是一个正确的程序。实际上,在上机之前,就应根据系统的需求设计相应的测试数据集,特别是一些异常情况的处理(如用户输入数据未按指定格式、数据极大或极小时程序如何处理等一些极端的情况)。

4.课程设计报告

课程设计报告的内容及要求:

一. 需求和规格说明

描述问题,简述题目要解决的问题是什么?规定软件做什么。

二. 设计(算法分析、具体实现)

1.设计思想:程序结构(如类图),重要的数据结构。主要算法思想(文字描述,不

要画框图)。

2.设计表示:类名及其作用,类中数据成员名称及作用,类中成员函数原型及其功

能,可以用表格形式表达。

3.实现注释:各项要求的实现程度、在完成基本要求的基础上还实现了什么功能?

4.详细设计表示:主要算法的框架及实现此算法的成员函数接口。

三. 用户手册

即使用说明(包括数据输入时的格式要求)。

四. 测试与思考

调试过程中遇到的主要问题是如何解决的;对设计和编码的回顾讨论和分析;程序运

行的时空效率分析;测试数据集;运行实例;改进设想;经验和体会等。

附录

源程序清单:打印文本和磁盘文件,磁盘文件是必须的。源程序要加注释,除原有注

释外再用钢笔加一些必要的注释和断言。

测试数据:即列出测试数据集

运行结果:上面测试数据输入后程序运行的结果

注意事项:

1.以上要求为一般的要求,针对具体问题和具体的开发过程,某些方面可以做适当的增减。

2.各种文档资料要在程序开发过程中逐渐形成, 而不是最后补写。

3.各种文档要以统一格式的稿纸用钢笔书写,也可录入计算机用Word 及其它文字编辑软件排版后打印输出。

计算机科学与技术系

2008-2-25

附录E 课程设计报告参考样本

C++课程设计报告(小三,粗)

XXXX 管理系统(小一,粗)

姓 名:_____________________________ 班 级:_____________________________ 学 号:_____________________________ 指导教师:_____________________________ 成 绩:_____________________________ 完成时间:_____________________________ 完成地点:_____________________________

报告中应包括的内容:

一、 设计任务分析

二、 模块设计

三、 主要数据结构

四、 流程图

五、 源代码

六、 测试情况

七、 小结(包括感想、致谢、设计总结)


相关内容

  • 电力系统分析课程设计实验指导书
  • 电力系统分析课程设计实验指导书 一.课程设计的目的与任务: 该课程设计为电气工程及其自动化专业的主要专业课设计之一,是学习电力系统分析基础课程后的一个重要的实践性教学环节.其目的在于巩固和加深对电力系统潮流和短路电流计算基本原理的理解,学习和掌握应用计算机进行电力系统设计和计算的方法,培养学生独立分 ...

  • 华北电力大学锅炉课程设计模板
  • 课程设计报告 ( 2007 – 2008 年度第 2 学期) 名 称: 锅炉课程设计 题 目:变工况热力计算 院 系: 能源与动力工程学院 班 级: 热能0504 学 号: 学生姓名: 同组人员: 张鹏博 张沛 指导教师: 王世昌 康志忠 设计周数: 两周 成 绩: 日期:2008年07月04日 课 ...

  • 程序设计基础课程简介
  • <程序设计基础>课程简介 课程编号:E1112101 英文名称:Programming Fundamentals 学 分:3 学 时:48 授课对象:计算机科学与技术专业,软件工程专业,网络工程专业 课程目标:通过理论教学,使学生初步了解计算机软硬件系统,掌握计算机的基本使用方法使学生较 ...

  • 岩土与基础工程技术
  • 新世纪高等教育教学改革工程 <高职高专教育考试改革的研究与实践> Ⅰ12-1 附件15 岩土与基础工程技术 专业考试改方案及主要课程考核纲要 1. 岩土与基础工程技术专业考试改方案„„„„„„„„„„„„255 (1) 岩土与基础工程技术专业考试改革背景„„„„„„„„„„„„„255 ...

  • 大学计算机基础教学中的计算思维培养_龚沛曾
  • 中国大学教学 2012年第5期 大学计算机基础教学中的计算思维培养 龚沛曾 杨志强 摘 要:首先仔细地分析了计算思维的定义,提出了计算思维由意识.方法和能力三个层次的内容组成:然后指出了计算机基础教学中计算思维的无意识.潜移默化教学的现状:最后提出计算机基础教学课程体系中各门课程联动改革的方案. 关 ...

  • 制药工程学课程教学大纲
  • <制药工程学>课程教学大纲 课程编号:02033 英文名称:Pharmaceutical engineering 一.课程说明 1. 课程类别 专业课程 2. 适应专业及课程性质 制药工程专业.制药工程专业(基地班) 选修 3. 课程目的 制药工程学是制药工程专业的主干专业课程,也是我校 ...

  • [混凝土结构设计原理]教学大纲(英)
  • 课程编号:041102 总学分:3 混凝土结构设计原理(工民建方向) (Fundamentals of Concrete Structural Design) 课程性质:专业基础课. 适用专业:土木工程. 学时分配:课程总学时:48学时.其中:理论课学时:42学时:习题课学时:6学时. 先行课程:材 ...

  • 基础工程课程教学大纲
  • 基础工程课程教学大纲 课程编号:05022007 学时数:32 适用专业:土木工程 一.本课程的性质.目的和任务 1.本课程的性质 <基础工程>是高等学校土木工程(道路与桥梁工程)专业的一门重要的专业基础课,是桥梁工程的入门教材. 2.课程的目的 指导学生系统掌握基础工程的基本特点.主要 ...

  • 计算机英语教学大纲
  • <计算机英语>课程教学大纲 一 课程说明 1.课程基本情况 课程名称:计算机英语 英文名称:Computer English 课程编号:2413212 开课专业:计算机科学与技术 开课学期:第5学期 学分/周学时: 2/ 2 课程类型:专业必修课 2.课程性质(本课程在该专业的地位作用) ...

  • 建筑工程预算课程设计
  • 河南理工大学万方科技学院(郑州) <建筑工程预算>课程设计 任 务 书 系 别 专 业 班 级 姓 名 学 号 日 期 <建筑工程预算>课程设计任务书 一.设计时间及地点 1.设计时间:本次课程设计时间为1周,本学期第12周(5月25号-5月29号). 2.设计地点:各班级主 ...