模块名称 |
面向过程的程序设计 Computer module II:procedure-oriented programming |
||||||
模块编号 |
M054104 |
||||||
模块类别 |
公共必修模块 |
||||||
适用专业 |
电气信息类各专业(电子信息工程、自动化、通信工程) |
||||||
模块简介 |
按计算机能力培养体系:计算机基础实训、计算机技术基础、计算机应用基础、计算机发展方向。《高级语言程序设计A》模块隶属于第二个层次的教学。通过本模块教学,使学生不仅掌握一门计算机语言的语法特点,更重要的是掌握计算机思维模式(面向过程和面向对象两种模式),并较熟练使用这种模式编写规范程序,从而解决简单的实际问题。另外,电类专业以控制为目标,而控制单元最基础的编程语言是工业标准化C/C++语言,本模块借助此语言描述,符合专业特点,对电类专业学生后续课程有重要影响,学生可以使用本模块学到的知识和培养的能力,结合其他专业课程,可很快地进行单片机、dsp、ARM等嵌入式编程设计。 |
||||||
教学目标 |
通过本模块教学,要求掌握面向过程的设计思想,初步培养学生的建模能力、调试能力、规范编程能力、合作编程能力9/10、程序阅读能力等,在基于理解问题环境(自然环境、工程环境1)的前提下,分析问题2并设计解决方案3,并使用计算机语言的基本语法表达并实现(设计和实施软件工程实验项目和实战项目 (1)通过理论和实践教学,使学生较好地掌握计算机语言(c/c++)的基础知识、基本概念、使用规范,以及解决具体实际问题过程中隐藏的背景知识。 (2)培养学生面向过程的编程思想和编程的能力(考虑到课时安排和学生的实际,面向对象作为提高要求),培养学生对问题域的认识和分析能力,初步培养学生模型建构的能力,独立编写简单程序能力和相互合作编程能力。 (3)培养良好的学习习惯和学习兴趣;养成良好的的规范编程的习惯,掌握调试技术,养成通过调试来解决问题的习惯,养成合作编程的习惯;培养做事认真细致的态度和勇于探索、独立思考的精神。 |
||||||
预备知识 |
计算机模块I-计算机基础实训 |
||||||
负 责 人 |
李祎 |
||||||
归属单位 |
电子系基础教研室 |
||||||
执行学期 |
第2学期 |
||||||
学
分 |
5 |
||||||
学习总量 (学时) |
学习总量:80+60 其中: 理 论:48 实 践: 实验:24 实战:8 自主学习:60 |
||||||
考核方式 |
对知识、能力、素质全方位、进程式考核。考核从理论知识(卷面考试)、实践环节(实验)、应用能力(上机考核)、自主学习能力(学习笔记)等方面全面考核 考核方案是:N+2;其中N占55%,2占45% N=7【过程测试1:5%;过程测试2:5%;过程测试3:5%;过程考核4:自主学习之作业10%;过程考核5:自主学习之答辩10%;实验6:10%;实战7:10%】 2【期末40%,笔记5%】 |
||||||
模块建立或 更新时间 |
建立时间2011.3.10 更新时间2014.5.28 更新时间2015.1.13 更新时间2016.7.13 |
||||||
教学组织 |
|||||||
理论教学环节 |
周学时 |
4 |
学
分 |
3 |
|||
教 师 |
李祎、方小红、史俊等 |
||||||
能力培养要求 |
(1)培养自我学习的能力 通过学生的预习、复习、练习、答辩、实验、实战等过程,培养自我学习的能力。 (2)培养合作学习、合作编程的能力 通过小组合作、分工,共同完成一个项目,培养合作的态度和能力。 (3)培养面向过程编程能力 通过一系列标准动作(模块功能、输入输出、解决思路、算法步骤)的不断训练,让学生真正掌握面向过程解决问题,逐步形成能力。 (4)初步培养面向对象的编程能力(可选) 从面向过程的训练开始有意识向面向对象渗透,建立流程分析和模型建立等标准化动作行为,初步建立面向对象的思想。 (5)初步培养学生规范编程的能力 从文件名称的规划,到变量命名,到合作分工约定,都以规范化来要求,逐步培养规范编程的能力。 |
||||||
教学内容 |
整个教学内容分面向过程和面向对象(可选)两个部分。面向过程分三个大单元:模型模块、结构编程、构造类型;面向对象分三个部分:封装、继承、多态。具体内容如下: (1)解决问题的基本思路与最基本的程序设计(函数的使用环境,结构化编程思想,模型模块) (2)数据的保存方式与基本的数据类型和指针类型(函数的使用,指针的概念与定义) (3)结构化程序设计的三种结构(函数的较熟练使用) (4)构造的数据类型(一维数组,字符串)(函数的高级使用,动态指针,指针数组) (5)构造的数据类型(结构体)(函数的高级使用,指针的联用) (6)文件的建立与读写(函数的高级使用) (7)面向对象的编程思想初步介绍,及类和对象的建立 (函数的高级使用) |
||||||
教学方法和环境要求(可多选) |
教学方法:讲授法(√ ) 案例讨论法(√ ) 实验法(√ )参观法( )调查法( )实习法( )阅读法(√ ) 练习法(√ )探究法(√ )基于问题学习法( √) 互动法( √) 自主学习(√ )…… 环境要求:普通教室( )多媒体教室(√ )实验室( )校内实习基地( )校外实习基地( ) 教学模式:学思行三一位的教学模式。 教学方法:引导启发式为核心的综合教学方法 教学形式:以黑板板书+ppt演示+教师操作。让学生短时间理解概念和学会操作,增强学习信心。 |
||||||
参考资料 |
[1] 谭浩强. C++程序设计 [M].北京:清华大学出版社,2006. [2] 钱能. C++程序设计教程(第二版) [M].北京:清华大学出版社,2005. [3] 朱鸣华. C程序设计教程[M].北京:机械工业出版社,2010. [4] 任文. C++程序设计教程[M].北京:机械工业出版社,2010. [5] 朱鸣华. C++程序设计与应用[M].北京:机械工业出版社,2010. [6] 徐士良. C++程序设计[M].北京:机械工业出版社,2010. |
||||||
实践教学环节1 |
周 学 时 |
2 |
学
分 |
1.5 |
|||
教 师 |
李祎、方小红、史俊等 |
||||||
能力培养要求 |
通过本课程实验教学, 要求掌握模块设计的4个步骤,通过不断训练形成编程技能和编程能力; 要求掌握在VC环境下单步调试与断点调试能力; 要求掌握编写规范代码的能力,并在实验中熟练使用;. 要求深入掌握函数的格式和函数的各种使用技巧和变通能力; 要求学会编写简单管理系统的能力。 同时注意培养学生实事求实和工作态度和严谨细致的工作作风。 |
||||||
教学内容 |
知识内容: (1)模块模型设计的基本步骤 l 模块设计 l 模型设计 l 规范设计 l 合作编程 (2)调试技术 l 编译错误及调试 l 连接错误及调试 l 运行错误及调试 (3)三种结构编程语句的使用 l 顺序语句,各种输入与输出语句 l 三种选择结构及所使用的环境 l 三种循环结构及所使用的环境 l 流程图的画法 (4)构造类型的使用 l 结构体类型的定义与结构体变量的定义与使用 l 结构体数组的表示方式及各字段的表示方法 l 结构体和结构体数组作为函数参数的使用方法 (5)文件的读与写 l 文本文件的指针读写方式 l 文本文件的流对象读写方式 l 二进制文件的指针读写方式 l 二进制文件的流对象读写方式 (6)指针的灵活使用 l 指针作为函数参数 l 指针表示字符串(包括数组) l 指针表示字符串列表(二级指针) 实验内容: (1)单文档与多文档模型设计(基础) (2)多文档模型设计(调试设计) (3)多文档模型设计(类型设计) (4)单一功能菜单制作 (5)可选择功能菜单制作 (6)可循环的功能菜单制作 (7)分数管理系统(数组) (8)分数管理系统(数组+字符串列表) (9)分数管理系统(结构体数组) (10)分数管理系统(文件保存) |
||||||
教学方法和环境要求(可多选) |
教学方法:讲授法(√ ) 案例讨论法(√ ) 实验法(√ )参观法( )调查法( )实习法( )阅读法( ) 练习法(√ )探究法(√ )基于问题学习法( ) 互动法( √) 自主学习( )…… 环境要求:普通教室( )多媒体教室( )实验室(√ )校内实习基地( )校外实习基地( ) |
||||||
参考资料 |
[1] 谭浩强. C++程序设计 [M].北京:清华大学出版社,2006. [2] 钱能. C++程序设计教程(第二版) [M].北京:清华大学出版社,2005. [3] 朱鸣华. C程序设计教程[M].北京:机械工业出版社,2010. [4] 任文. C++程序设计教程[M].北京:机械工业出版社,2010. [5] 朱鸣华. C++程序设计与应用[M].北京:机械工业出版社,2010. [6] 徐士良. C++程序设计[M].北京:机械工业出版社,2010. |
||||||
实践教学环节2 |
周 学 时 |
集中半周 |
学
分 |
0.5 |
|||
教 师 |
李祎、方小红、史俊等 |
||||||
能力培养要求 |
(1)简单控制台系统程序设计的能力 (2)科技论文撰写能力 (3)语言组织及表达的答辩能力 |
||||||
教学内容 |
项目设计要求:以下每个项目以小组为单位完成,实现功能模块不能少于6个,界面完整,交互性较好。撰写报告至少需包括以下几点:(1)封面、(2)摘要、(3)设计题目及含义、(4)需求分析(调研得到系统功能结构)、(5)设计模型(包括设计思路,模型结构,及任务分配及接口规范)、(6)设计模块(包括详细地设计过程,以及算法步骤)、(7)运行数据检测、(8)系统设计反思和总结(9)参考文献、(10)附录代码 可供参考选择项目内容如下: (1)分数管理系统的设计与实现
(2)档案管理系统的设计与实现 (3)财务管理系统的设计与实现 (4)中英文翻译器的设计与实现 (5)网络数据通信的设计与实现 (6)图像处理技术的实现 (7)图书管理系统的设计与实现 (8)简易通讯录系统的设计与实现 (9)车票管理系统的设计与实现 (10)分数分析系统的设计与实现 |
||||||
教学方法和环境要求(可多选) |
教学方法:讲授法() 案例讨论法(√ ) 实验法(√ )参观法( )调查法(√ )实习法( )阅读法( ) 练习法(√ )探究法(√ )基于问题学习法(√ ) 互动法( √) 自主学习(√)…… 环境要求:普通教室( )多媒体教室( )实验室(√ )校内实习基地( )校外实习基地( ) |
||||||
参考资料 |
[1] 谭浩强. C++程序设计 [M].北京:清华大学出版社,2006. [2] 钱能. C++程序设计教程(第二版) [M].北京:清华大学出版社,2005. [3] 朱鸣华. C程序设计教程[M].北京:机械工业出版社,2010. [4] 任文. C++程序设计教程[M].北京:机械工业出版社,2010. [5] 朱鸣华. C++程序设计与应用[M].北京:机械工业出版社,2010. [6] 徐士良. C++程序设计[M].北京:机械工业出版社,2010. |
||||||
|
|
|
|||||
自主学习教学环节 |
学 时 |
60学时 |
|||||
教 师 |
李祎、方小红、史俊等 |
||||||
能力培养要求 |
(1)自我学习的能力 让学生学会自行找与设计题目相关的资料学习 (2)合作学习、合作编程的能力 通过小组合作、分工,共同完成一个项目,培养合作的态度和能力 (3)熟练掌握调试器调试能力 通过课后不断地调试程序加强此能力 (4)系统设计能力 学生可以根据所学内容完成一个项目从设计规划,到方案确定,到分工合作,到最后完善的报告一整套流程 (5)语言表达和随机反应的答辩能力 根据设计的思维训练部分,按小组答辩变式题,所以要组织好语言以及应付质疑提问;根据设计的实战题,按小组答辩。 |
||||||
学习任务 |
1能力培养途径 自主学习中能力的培养是通过一系列包含能力培养基点的任务,必要足量的训练,及相应的能力考核方案实现(自主学习的考核方案是课程合格的重要依据)。 2自主学习内容及完成时间点 (1)按思维训练的要求完成“自测部分”练习,独立完成思维训练题个人应该完成的内容。思维训练课开始前完成。 (2)按思维训练的要求完成“合作部分”练习,小组合作完成思维训练题答辩题,做好答辩。思维训练课开始前完成。 (3)独立及合作完成实验要求,撰写实验报告,准备实验代码,即“实验部分”。实验课前完成。 (4)实战项目资料的搜集、整理、编程、归档、成文等,即“实战部分”。课程结束的实战时间。 3自主学习任务中包括的能力因素 (1)第一任务,此学习任务考核学生的自我学习能力。 (2)第二任务,此学习任务考核学生的合作学习、合作编程能力、程序调试能力,而答辩过程考核表达能力。 (3)第三任务,此学习任务考核合作学习、合作编程能力等(因报告的撰写按小组方式进行,每位同学需做出贡献)。 (4)第四任务,此学习任务考核合作学习、合作编程能力,系统设计能力等(小组合作完成实战练习,做好答辩准备)。 |
||||||
考核方式 |
1自主学习的监控 自主学习其实就是学生对本课程的自我学习,学生的自主学习一定要按计划随时检测有效性,进而即时局部调整改进某些方法或教学内容,而不是课程学习结束之后。 自主学习的任务数量和难度不能过当,即不能造成学生学习的无力感(布置得当),又不能让学生觉得教师对学生自主学习把握的无力感(不监控或监控随意)。教师在指导自主学习的过程中要有方法(难度、层次分开),有手段(按制度、规定办事)。讲清楚方法和原则之后,绝不能为某种不合理的理由而动摇。 2具体考核过程 (1)在理论课第二阶段:思之阶段对个人完成的部分进行提问并做记录。没有完成或没有思考均记录不合格,三次不合格,以过程成绩不及格取消本课程学习。 (2)在理论课第二阶段:思之阶段对合作完成的变式部分安排答辩并作记录,没有完成或没有思考均记录不合格,三次不合格,以过程成绩不及格取消本课程学习。 (3)没有按要求准备好实验预习报告,小组不得参与实验环节,并记录不合格,三次不合格,以过程成绩不及格取消本课程学习。 (4)小组没有完成项目实战或答辩失败,则不能通过,不参加期末考核。 |
||||||
参考资料 |
除给定的参考资料外,可以利用一切网络资源 |
||||||