模块描述-计算机模块II-面向过程的程序设计

模块名称

面向过程的程序设计

Computer module IIprocedure-oriented programming

模块编号

M054104

模块类别

公共必修模块

适用专业

电气信息类各专业(电子信息工程、自动化、通信工程)

模块简介

按计算机能力培养体系:计算机基础实训、计算机技术基础、计算机应用基础、计算机发展方向。《高级语言程序设计A》模块隶属于第二个层次的教学。通过本模块教学,使学生不仅掌握一门计算机语言的语法特点,更重要的是掌握计算机思维模式(面向过程和面向对象两种模式),并较熟练使用这种模式编写规范程序,从而解决简单的实际问题。另外,电类专业以控制为目标,而控制单元最基础的编程语言是工业标准化C/C++语言,本模块借助此语言描述,符合专业特点,对电类专业学生后续课程有重要影响,学生可以使用本模块学到的知识和培养的能力,结合其他专业课程,可很快地进行单片机、dspARM等嵌入式编程设计。

教学目标

通过本模块教学,要求掌握面向过程的设计思想,初步培养学生的建模能力、调试能力、规范编程能力、合作编程能力9/10、程序阅读能力等,在基于理解问题环境(自然环境、工程环境1)的前提下,分析问题2并设计解决方案3,并使用计算机语言的基本语法表达并实现(设计和实施软件工程实验项目和实战项目3/4/5)。同时培养学生认真的学习态度,严谨、细致的学习作风,以及自主学习的学习习惯12本模块输出的知识和能力,为后续课程微处理器技术、嵌入式系统设计、工具软件、计算机控制系统模块提供支撑(对应本专业目标1/2/3/4/5/9/10/12)。具体如下:

(1)通过理论和实践教学,使学生较好地掌握计算机语言(c/c++)的基础知识、基本概念、使用规范,以及解决具体实际问题过程中隐藏的背景知识。

(2)培养学生面向过程的编程思想和编程的能力(考虑到课时安排和学生的实际,面向对象作为提高要求),培养学生对问题域的认识和分析能力,初步培养学生模型建构的能力,独立编写简单程序能力和相互合作编程能力。

(3)培养良好的学习习惯和学习兴趣;养成良好的的规范编程的习惯,掌握调试技术,养成通过调试来解决问题的习惯,养成合作编程的习惯;培养做事认真细致的态度和勇于探索、独立思考的精神。

预备知识

计算机模块I-计算机基础实训

负 责 人

李祎

归属单位

电子系基础教研室

执行学期

2学期

 

5

学习总量

(学时)

学习总量:80+60

其中:

    论:48

    践:

实验:24

实战:8

自主学习:60

考核方式

对知识、能力、素质全方位、进程式考核。考核从理论知识(卷面考试)、实践环节(实验)、应用能力(上机考核)、自主学习能力(学习笔记)等方面全面考核

考核方案是:N+2;其中N55%,245%

N=7【过程测试15%;过程测试25%;过程测试35%;过程考核4:自主学习之作业10%;过程考核5:自主学习之答辩10%;实验610%;实战710%

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)小组没有完成项目实战或答辩失败,则不能通过,不参加期末考核。

参考资料

除给定的参考资料外,可以利用一切网络资源