C++《程序设计综合实践I》教学大纲

C++《程序设计综合实践I》教学大纲

《程序设计综合实践I》教学大纲

一、课程基本信息

1.课程名称:程序设计综合实践I
2.课程编 :
3.课程体系/类别:实践必修
4.课程性质:必修
5.学分:1
6.先修课程:程序设计基础
7.适用专业:计算机科学与技术专业、 络工程专业、信息安全专业

二、课程教学目标

三、课程目标和毕业要求的对应关系

课程目标和毕业要求的对应关系见表1。

四、课程教学内容和要求

  1. 课任教师确认本人指导的学生名单,按每组学生为1-3名分组。
  2. 课任教师讲解课程设计的性质、目的、方法、要求、流程、时间安排、组队要求、选题和开题 告、调研方法、概要设计、详细设计、系统测试与调试、系统验收、 告或论文的规范与要求、评分标准等。
  3. 确定各小组的选题。
    4)通过QQ、电话、电子邮件以及诸如腾讯会议等在线会议的形式,追踪指导学生的课程设计过程,解疑释惑。需要追踪的过程包括撰写开题 告、概要设计、详细设计、系统测试与调试等过程指导、实践 告(论文)的撰写等环节。便于指导教师了解学生课程设计的进度情况,及时调整工作方案。
    5)检查学生的课程设计程序完成情况;
    6)学生撰写并修改课程设计 告或论文;
    7)学生就本小组的课程设计题目,向全班汇 课题的构思和完成结果;
    8)评定课程设计 告或论文并提交成绩。
    (3)学习内容与指标点之间的支撑关系
    本课程的为1个学分。本课程的学习内容和要求及对指标点的支撑关系见表2。
    表2 学习内容和要求及对课程目标的支撑关系
    学习内容 学习要求 建议
    学时 对应的课程目标
    选题 理解本所选课题的目的、要求和意义,根据小组的知识应用能力选择课题 2 课程目标1
    开题 针对课题开展调查研究,阅读中外文献,提出自己的解决方案,制订个人工作计划 4 课程目标1
    概要设计 明确系统的输入和输出,确定采用的数据结构和操作算法 4 课程目标2
    详细设计 设计数据结构和操作算法 6 课程目标2
    系统测试与调试 输入测试数据,调试程序,分析实验结果 2 课程目标2
    撰写设计 告 掌握课程设计 告或论文的编写规范 10 课程目标3
    汇 、答辩 能够对所做的工作做简单的陈述 4 课程目标3
    (4)建议选题
    表3为建议但并不限于此的可选课程设计题目,通过完成选题的设计与开发,培养学生综合利用C/C++语言进行程序设计的能力(课程目标1),加强函数的运用及学生对软件工程方法的初步认识(课程目标2),提高软件系统分析能力和程序文档建立、归纳总结的能力,培养学生利用系统提供的标准函数及典型算法进行设计(课程目标3)。

表3 参考选题及学习要求
参考选题 学习要求

1、班级学生成绩管理系统

具体要求如下:(1)通过此模块来管理课程信息,包括查询、添加、修改、删除等功能。在进行课程信息添加时,系统会自动监测所添加的信息是否已经存在,如果存在,会提示已经存在。在进行课程信息删除时,同样要求再次确定。(2)实现对学生信息、课程成绩的文件存取(分别存储在StudentInfo.txt、StudentScore.txt和GraduateCheck…txt文件中),实现对学生信息、课程成绩的记录增加、删除及修改。(3)实现输入学生学 或姓名查询并显示学生的课程成绩。

2、简单的产品管理系统

合理运用C/C++/Java语言的数组、指针、结构体及文件操作等,实现一个模拟的班级学籍管理系统。该系统用于管理产品的基本信息及信息统计。具体要求如下:(1) 通过键盘或读取文件的方法读取产品的信息,对各类产品进行统计和分析。(2) 要求使用结构数组和结构指针,各个功能分别使用函数来完成,主函数和各个函数分别存放在不同的.c文件中,要求使用头文件。(3) 要求使用选择法排序,折半查找法进行查找。(4) 要求在程序中能够运用结构化程序设计的选择和循环结构,并熟练使用相关的语句(如do while、for、if-elseif等)。(5)创新要求。在基本要求达到后,进行创新设计,如进行删除或插入操作。

3、个人信息管理系统

合理运用C/C++/Java语言的数组、指针、结构体及文件操作等,实现一个模拟的个人信息管理系统。该系统可以对每个学生的消费、生活及学习进行系统的管理,把这几项内容综合在一起开发了具有个人特色的管理系统。
具体要求如下:(1) 学生的基本信息管理主要包括了学生的姓名、学 、性别、出生年月、专业、爱好等内容。(2) 消费模块主要包括个人消费记录。主要功能有:数据的添加、数据的查找、数据的删除、数据的修改、数据逐个显示、消费总额的显示等。(3) 学生课程成绩模块主要包括学习成绩记录。主要功能有:数据的添加、数据的查找、数据的删除、数据的修改、数据逐个显示、消费总额的显示等。(4) 要求在程序中能够运用结构化程序设计的选择和循环结构,并熟练使用相关的语句(如do while、for、if-else等)。程序要有主菜单,能够完成主要的功能。

4、 通信录管理系统

合理运用C++语言的数组、指针、结构体及文件操作等,实现一个模拟的班级通信录管理系统。该系统用于管理学生的基本信息、通信信息等。具体要求如下:(1) 通过键盘或读取文件的方法读取学生的通信信息。(2) 系统需要有添加模块、查询模块、删除模块、修改模块等。(3) 用户登录查询时,可以通过输入姓名或学 等查到某人的信息,并输出这些信息。若找不到则显示找不到信息。(4) 在添加某人信息时,若通讯录中已有该人的信息,则提示信息已存在。(5) 要求在程序中能够运用结构化程序设计的选择和循环结构,并熟练使用相关的语句(如do while、for、if-elseif等)。程序要有主菜单,能够完成主要的功能。

5、 班级信息管理系统

合理运用C++语言的数组、指针、结构体及文件操作等,实现一个模拟的班级通信录管理系统。该系统用于管理学生的基本信息、通信信息等。具体要求如下:(1)工作人员可以通过此程序来管理学生信息,包括查询,添加,修改,删除等功能。(2)在进行添加时,系统会自动监测所添加的学生信息是否已经存在,如果存在,会提示用户该学生已经存在。(3)在删除时,要首先弹出对话框,让用户确认是否删除,只有经过确认才能够被删除。(4)在进行学生信息管理时,不准用户修改学 。(5)通过键盘或读取文件的方法读取学生的信息。(6)能够运用结构化程序设计的选择和循环结构,并熟练使用相关的语句(如do while、for、if-elseif等)。(7)程序要有主菜单,能够完成主要的功能。

6、 小型公司人员信息管理系统

某公司有三类人员,经理、兼职技术人员、兼职销售员。这些人员分别具有以下属性:(1) 经理:姓名、编 、固定工资、当月薪水、计算月薪、显示信息。(2) 兼职技术员:姓名、编 、工作小时、每小时工资额、当月薪水、计算月薪、显示信息。(3) 兼职销售员:姓名、编 、销售额、销售提成、当月薪水、计算月薪、显示信息。
具体要求:(1) 人员编 基数为1000。每输入一个人员信息,编 顺序加1。(2) 月薪计算方法是:经理固定工资8000元,兼职技术员按100元/小时领取月薪,兼职销售员按当月销售额的4%提成。(3) 工作人员可以通过此程序来管理人员信息,包括查询,添加,修改,删除等功能。(4) 在进行添加时,系统会自动监测所添加的人员信息是否已经存在,如果存在,会提示用户该人员已经存在。(5) 在删除时,要首先弹出对话框,让用户确认是否删除,只有经过确认才能够被删除。

7、 学院教职工信息管理系统

某学院有三类人员,教师、实验室人员、办公室人员。这些人员分别具有以下属性:(1) 教师:姓名、编 、职称、固定工资、当月课时数、当月薪水、计算月薪、显示信息;(2) 实验室人员:姓名、编 、固定工资、工作小时、每小时工资额、计算月薪、显示信息;(3) 办公室人员:姓名、编 、固定工资、当月薪水、计算月薪、显示信息。具体要求如下:(1)人员编 基数为1000。每输入一个人员信息,编 顺序加1。(2)月薪计算方法是:教师固定工资2000元,教授课酬为30元/小时,副教授为25元/小时,讲师和助教为20元/小时;实验室人员固定工资1000元,每小时课酬额10元;办公室人员的固定工资为2500元。(3)工作人员可以通过此程序来管理人员信息,包括查询,添加,修改,删除等功能。(4)在进行添加时,系统会自动监测所添加的人员信息是否已经存在,如果存在,会提示用户该人员已经存在。(5)在删除时,要首先弹出对话框,让用户确认是否删除,只有经过确认才能够被删除。

8、库存管理系统

设计开发一个简单的库存管理系统,服务于诸如鞋店,汽车配件,百货或文具店等销售商店。程序应该包含:(1)一个包含出售各种项目记录的文件。记录应包含:项目名称、项目描述、目前的库存量、重新定货级别——定单的数量、重新定货的数量、供应商细节、重新定货的运输时间、标识大宗定货。(2)一个包含大宗定货信息记录的文件。记录格式应为:定货编 (唯一)、项目编 、定货日期、到货日期。要求系统可以实现以下功能:(1)允许在线登录销售;(2)允许在线支付;(3)打印合适的重新定货表格;(4)允许对两个文件的查询,例如查找过期的定单和缺货的项目。扩展功能:(1)文件结构。包含批发和零售的价格信息;(2)引进第三个文件,记录每天的销售额;(3)按要求输出总的存货量,可支付的大宗定货总量。

9、模拟家庭关系

设计一个模拟家庭关系的数据结构。每个人用一个结构体表示, 包含有他(她)的名字、性别、年龄和指向其父亲、母亲、配偶、子女链的指针,如图所示。试编写以下函数和函数: (a)增加一个新人; (b)检查某两人之间关系的函数;查某两人是否堂兄弟姐妹的布尔函数;(d)检索某人, 并输出他的直系亲属的情况;(e)遍历整个结构。

10、模拟博彩游戏

编写一个程序,读入一个正整数N,模拟N个人之间的赌博游戏。该游戏按以下方式进行:每一个玩家都有一个赌博卡片,该卡片由5×5的正整数矩阵构成,卡片的中心是空的。第一列由1到16之间的数构成;第二列由17到32之间的数构成;如此等等。在游戏开始时,中心位置是隐蔽的(covered)。一个玩家在1到80的范围之内猜卡片上被覆盖的数。每猜到一个,就在卡片上把对应的元素翻转过来。当13个被覆盖的数全部被猜到时,用猜过的数列给该卡片一个“bingo”。被覆盖的数字包括:矩阵中心9个元素;矩阵四角4个元素。你的程序应该为玩家随机产生卡片(根据上面描述的规则),并产生每次猜的数,直到有一个或多个玩家得到一个“bingo”卡片。程序输出:一张卡片被标为“bingo”之前,所猜的所有数;当每张卡片都得到一个“bingo”时,每张卡片上被覆盖的数。

11、文件加密、解密。

12、电脑游戏

用自己熟悉的程序设计语言编写一些简单的游戏。诚信为本,自己学习设计电脑游戏,不允许直接从 上下载现成的游戏代码如俄罗斯方块、贪吃蛇、五子棋、推箱子游戏等作为自己的设计,但可以对这些下载下来的游戏进行改进,提交 告时需说明自己改进的地方并写在设计 告中,否则成绩记为零分。

13、机器人编程

利用自己所学的知识进行机器人程序的设计与开发,具体功能自拟,如可以设计蔽障机器人、循迹机器人等,最多三人一组,如果是三人一组的,需在设计 告中详细写明自己负责的部分。

14、题目自拟

源码传送门

传送门:https://pan.baidu.com/s/1JJs9vbZahUCB6cQvXLgAVgwd=1111

五、课程设计成绩考核

本课程的最终考核成绩由平时成绩(20%)和期末成绩(80%)组成。
其中平时成绩由教师依据学生平时考勤+实验表现给出得分,期末成绩由教师依据学生最终的设计及程序代码运行情况、答辩情况及设计 告质量给出得分。
平时成绩支撑指标点1.4,答辩成绩中设计及程序代码运行情况(占期末成绩的60%)支撑指标点4.2,答辩情况及设计 告质量(占期末成绩的40%)支撑指标点10.1。
考核标准:
1.上课表现与考勤
(1)无迟到,违反者每次扣2分;
(2)无早退,违反者每次扣2分;
(3)无旷课,违反者每次扣5分;
(4)认真遵守机房管理规定,违反者每次扣3分;
(5)认真学习操作技能,违反者每次扣2分(仅限有实际操作相关课程);
(6)爱护计算机、文明操作 ,违反者每次扣2 分;
(7)能保持环境整洁,违反者每次扣2分;
(8)体现出团队合作精神及能力,加5分;
(8)提出有创见性的观点,加10分。
2.系统代码和答辩
应用前面所学进行综合设计实操考核以学生完成一个系统的设计和完成编码工作作为要求,注重过程考核,指导教师对每个环节记录,最后综合评定出考核成绩。
(1)独立完成程序设计分析和上机调试过程环节,不能做到者每次扣2分;
(2)成功完成所有上机操作内容,不能做到者每次扣4分;
(3)编码能准确、顺利、无误、独立、准时完成 90分以上;
(4)编码能较准确、顺利、基本无误、独立完成 80~90分;
(5)编码基本准确、有部分错误、独立完成 70~80分;
(6)编码基本准确、能完成规定内容,无重大错误 60~70分;
(7)不能完成规定要求不及格。
3. 告
(1)文档工整、条理清晰、逻辑清晰、要点明确、独立完成者90分以上;
(2)文档较工整、条理较清晰、逻辑较清晰、要点较明确、独立完成者80~90分;
(3)文档工整、有条理、有逻辑、有要点、独立完成者70分以上;
(4)文档工整能完成规定内容,无重大错误 60~70分;
(5)不能完成规定要求不及格。

六、课程设计主要参考资料

[1] 何钦铭,颜晖.C程序程序设计(第3版).北京:高等教育出版 .2015年8月.
[2] 谭浩强. C语言程序设计(第3版). 北京:清华大学出版 . 2014年9月.
[3] 颜晖,柳俊. C程序设计实验与习题指导(第2版). 北京:清华大学出版 . 2012年3月.

文章知识点与官方知识档案匹配,可进一步学习相关知识算法技能树首页概览33986 人正在系统学习中

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年8月5日
下一篇 2022年8月5日

相关推荐