搜档网
当前位置:搜档网 › 厦门理工学院2015-2016计算机院程序设计实践教学大纲

厦门理工学院2015-2016计算机院程序设计实践教学大纲

程序设计实践教学大纲

课程名称:程序设计实践

课程编号:25070748

学分/学时:3学分/3周

课程类型:实践性课程

考核方式:考查

开课学期:大一第3学期

开课单位:计算机与信息工程学院

先修课程:C语言程序设计、C++面向对象程序设计

后续课程:数据结构与算法、网络编程、嵌入式软件设计等

适用专业:计算机科学与技术、网络工程、空间信息科学与工程

一、课程设计的目的、任务与要求

课程性质:程序设计实践是学习C/C++程序设计的一个重要环节。通过课程设计的综合训练,可以使学生在学习理论知识并在实验中进行了一系列基本训练的基础上,进一步加强学生对实际问题分析、编程和动手能力的提高,强化综合应用能力,扩充知识,开阔视野。学生在熟练运用IDE集成开发环境以后,通过编程工具的训练,扩展程序设计的知识面,提高综合应用C++知识能力的要求。

教学目标:本通过学习本课程,学生能够更熟练地掌握C/C++语言的语法规则,能够运用简单的算法,综合运用编程方法和问题分析方法,设计针对解决问题的算法步骤。初步培养数据采集、数据分析、数据处理及结果分析的能力。

a.加强掌握C/C++程序设计语言的语法规程和综合编程能力;

b.培养学生面向对象和面向过程的编程思想,学会从现实问题中抽象出一般的解决方法;贯彻面向对象编程思想,抽象出合适的类,封装相关功能函数。

c.掌握基本的软件分工,根据算法画出流程图、报告书写及答辩汇报技巧;

课程对应的毕业要求及本课程目标与毕业要求之关联矩阵

本课程目标与毕业要求之关联矩阵

二、选题的原则及题目难度、深度、广度分析

1.选题原则:

(1).题目要符合教学要求,使学生能够运用所学计算机技术的基本知识,进行基本技能方面的训练。

(2).题目的主要内容应当是学生在计算机技术课程中学过的知识。如果有些知识需要深化或扩展应给予补充讲解,使学生能够理解和接受。

(3).题目不宜过大。课题指标应从学生实际出发,因人而异,使不同程度的学生经过努力能够完成任务,做有所获。

(4).题目内容应尽可能反映计算机技术应用的新水平,具有一定的实用价值。

本程序设计实践的主要内容是培养学生的程序设计思想,让学生扎实掌握C程序设计语言的相关知识,掌握C的结构体、指针和文件读写,等知识;掌握类和对象的定义,构造函数和析构函数的定义和使用方法;掌握继承与派生的概念、派生类构造函数和析构函数的概念和编程;掌握重载函数,类模板和函数模板的应用;掌握运算符重载、纯虚函数与抽象类的概念和编程;了解数据的异常处理功能和文件的输入输出功能。

三、实践内容

课程设计任务分为两部分。

1、C语言部分(以下选做一题)

4.1 4.2

(1)某班学生基本信息管理,可包括以下功能:

学生基本信息输入、输出、插入、删除、排序、查询、数据保存及打开。

(2)职工信息管理

职工信息包括职工号、姓名、性别、出生年月、学历、职务、工资、住址、电话等(职工号不重复),职工信息管理,可具有以下功能:

职工信息录入、输出、排序、查询、删除、修改、数据保存、文件打开等。

(3)飞机订票系统设计

假定民航机场共有n个航班,每个航班有一航班号、确定的航线(起始站、终点站)、确定

的飞行时间(星期几)和一定的成员订额。试设计一民航订票系统,可提供下列服务:

航班信息录入、航班信息浏览、航班查询(按航班号查询或按终点站查询)、承办订票和退票业务(可选项)、数据保存、文件打开等。

(4)图书信息管理

图书信息包括:登录号、书名、作者名、分类号、出版单位、出版时间、价格等。尝试设计一图书信息管理系统,可实现以下功能:

图书信息录入、图书信息浏览、图书查询(按书名查询或按作者名查询)、排序、图书信息的删除与修改、数据保存、文件打开等。

要求:

1)正确定义功能函数并进行设计;

2)熟练掌握函数中参数及返回值的功能;

3)能熟练对项目进行功能分解并以函数形式实现;

4)理解并掌握指针的概念和引用;

5)重点掌握指向数组的指针变量的应用。

6)有人机交互界面。

2、C++程序设计部分

该部分共分A,B两类,可选择任意一类完成。

A类:

4.1 4.2

1、学校人员信息管理系统

以实现对学校人事的信息管理,基本功能要求包括:

1)建立人员信息数据;

2)使用继承的方法构造3个类,对相应的对象放置10个学生(教师)信息。

3)数据基本功能:增加数据,删除数据,修改数据,

4)查找功能;

5)显示功能;

6)重载功能;

7)异常处理功能;

8)文件的输入输出功能。

9)有界面菜单

2、容器类Set实现

用单链表模拟有序集合,实现集合的加入一个元素、删除一个元素、集合的交、并、差运算。注意,集合中不允许有重复元素。

1)使用模板类

2)根据元素个数动态分配存储空间

3)实现集合加入一个元素删除一个元素的元素操作;

4)实现集合的交、并、差集合操作;

5)实现集合的文件操作;可将集合写入文件,由文件中读出集合元素。

6)有菜单界面

B类:

4.1 4.2

图形化界面程序设计或自选题目。学生任选一题。

(1)游戏类:

?扫雷

?空当接龙

?水管工

?五子棋

要求:

参阅现有游戏,设计有良好人机交互界面的程序;鼓励用可视化的人机交互设计,如菜单、按钮,可基于MFC、Qt等开发工具。

(2)数据库管理类

带有人机交互界面的数据库操作。如学生信息管理,教学信息管理,实现录入、删除、查询及更新等基本功能。例如界面:

(3)自选

以上给出的仅为参考题目,学生在选择过程中根据自己的实际,按照上述题目的难易程度,寻找合适的课程设计题目,也可以自己设计题目,经指导教师确认后定题,一旦题目选定,不允许随意更改。

四、教学方法

程序设计实践是程序设计课程的重要实践性环节,实践过程以学生随堂实践、综合实践、拓展实例为主,同时以课堂教学、现场指导、讨论、答疑等方式共同实施。以培养学生树立正确的程序设计思想为重点,使得学生基本编程技能得到有效训练,提升程序设计能力。

五、课程设计成绩的评定方法及评分规则

只有程序验收通过后,才能按以下方法核定本次课程设计的总成绩,因未能独立完成设计(尤其是抄袭)或概念不清的同学,总成绩将核定为不及格。总成绩由以下几个部分决定:

1)考勤、纪律、实验室卫生

2)工作量(代码量、功能多少、难度、经历的曲折)

3)系统实用性

4)代码书写规范性(包括注释的质量、详尽程度和明晰性)

5)程序界面、易用性

6)课程设计报告(叙述、书写规范、字数)

7)动手能力、分析问题解决问题能力

8)检查的情况(检查时会问关于系统实现和相关的理论知识的问题)

成绩可以按优秀、良好、中等、及格和不及格五级计分,也可按百分制计分。

评分规则:

六、课程设计成绩的评定方法及评分标准

课程设计报告(3000字以上)要求规范书写,应当包括如下8个部分:

(1)问题描述:描述要求编程解决的问题。

(2)基本要求:给出程序要达到的具体的要求。

(3)算法思想:描述解决相应问题算法的设计思想。

(4)模块划分:描述所设计程序的各个模块(即函数)功能。

(5)数据结构:给出所使用的基本抽象数据类型,所定义的具体问题的数据类型,以及新定义的抽象数据类型。

(6)源程序:给出所有源程序清单,要求程序有充分的注释语句,至少要注释每个函数参数的含义和函数返回值的含义。

(7)测试数据:设计测试数据,或具体给出测试数据。要求测试数据能全面地测试所设计程序的功能。

(8)测试情况:给出程序的测试情况,并分析运行结果.

报告内容:附:实践报告及设计书模板:

拟稿(签名):年月日

核对(签名):年月日

审批(签名):年月日

相关主题