- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《程序设计方法学》教学大纲
?
课程编号:020810
课程性质:专业基础课?? ?先修课程:离散数学,计算方法,数据结构
总学时数:36? ??学分:2.0?? ?讲课:24? ??上机:12
适合层次:本科?? ?适合专业:软件工程
一、课程的目的与任务
本课程主要研究程序设计方法学的意义、目标、程序结构分析、程序的形式推导、程序的正确性证明、递归程序设计以及其它程序设计新技术等。通过学习使学生掌握程序设计方法学的基本原理、原则与技术, 从而指导软件的开发, 有助于正确、高功效程序的研制和程序生产力的提高, 为进一步开发计算机软件工作打下良好基础。
二、理论教学要求
(一)引论
1、引言
介绍程序设计方法学的基本概念,以及该本课程要解决的主要问题。
2、问题求解的可行性
了解什么是问题求解的可行性。
3、问题求解的基本原则
了解问题求解的基本原则。
4、抽象化概念
了解抽象化的相关概念。
(二)有限自动机模型
1、引言
了解利用计算机求解问题的一般步骤。
2、有限自动机的定义
了解有限自动机的定义,及其相关概念。
3、有限自动机的数学模型
理解自动机的数学模型。
4、计算能力
根据有限自动机的数学模型,进一步理解其计算能力。
(三)下推自动机模型
1、引言
2、下推自动机的定义与表示
了解下推自动机的定义与表示,及其相关概念。
3、下推自动机的计算能力
了解下推自动机的数学模型,理解其计算能力。
(四)图灵机模型
1、引言
2、图灵机模型定义
了解图灵机的定义和相关的概念。
3、图灵机的计算能力
理解图灵机的计算能力。
4、图灵机与有限自动机和下推自动机的关系
理解图灵机与其它自动机的关系。
5、图灵模型与Von Neumann计算机的等价性
掌握图灵模型与Von Neumann计算机的等价性,以及二者在具体一些处理方式上的差别。
(五)其他控制模型
1、引言
2、有限框图
了解有限框图控制模型,理解其基本思想,掌握其具体的处理过程。
(六)程序设计语言中的数据对象
1、引言
2、纯量类型
了解什么是纯量类型,与其它数据类型的区别和联系。
3、名字和引用
了解名字和引用的基本概念,理解二者的区别和联系。
4、构造类型
了解构造类型的概念,掌握其具体思想。
(七)抽象数据类型
1、引言
2、数据的表示
了解数据的表示方式。
3、抽象数据类型的封装
理解抽象数据类型的封装机制和具体的思想。
4、封装机制
理解封装机制。
5、继承机制
理解继承机制。
(八)程序的正确性分析与证明
1、引言
了解什么是程序正确性分析与证明。
2、程式的表示
理解程式的表示方式。
3、程序的形式描述与证明
理解程式的形式描述与证明的思想。
4、程序的正确性证明
掌握程序的正确性证明的具体方法。
三、实践教学要求
实验学时
12
应开实验项目个数
6
序号
实验项目名称
实验要求
学时分配
实验类型
备注
1
偶数理论及其应用
必做
2
验证性
?
2
递归程序设计
必做
2
验证性
3
自动机理论及应用
必做
2
验证性
4
程序的形式化推导
必做
2
验证性
5
C++ STL/Java泛型程序设计
必做
2
验证性
6
利用MVC模式开发Java应用程序
必做
2
验证性
四、学时分配
序号
课程内容
学时分配
讲课
上机
小计
1
引论
2
?
2
2
有限自动机模型
2
4
6
3
下推自动机模型
2
?
2
4
图灵机模型
4
?
4
5
其他控制模型
2
2
4
6
程序设计语言中的数据对象
4
2
6
7
抽象数据类型
4
2
6
8
程序的正确性分析与证明
4
2
6
?
合计
24
12
36
五、课程有关说明
1、本课程的特点以及与其它课程的关系
《程序设计方法学》是一门理论性很强的课程,要求学生具有较强的数理逻辑推导能力以及抽象概括的能力,需要学生利用数学的思想和方法去理解程序设计,并用这个思想去指导学生的软件设计。在学习本课程之前,应该让学生很好的掌握和领悟诸如《离散数学》和《计算方法》中的一些基本思想。
2、课程的重点、难点
本课程的主要重点和难点在于让学生掌握利用数学方法和思想去研究和表达程序设计,这是本课程的精髓所在。学生首先要转变对程序设计的理解,本课程的宗旨并不是要学生利用相关的程序设计语言来编写程序,而是利用数理逻辑以及形式化的方法从理论的角度来表达程序设计的思想和方法,以及进行相关的论证。
在教学方式上,采用多媒体课堂教学,实际参观、调研、实例使用相结合;理论讲授与实际操作、实验相结合。
3、考核方式
本课程考核方式上,不适合用传统的卷面考核的形式,提倡让学生去做小的专题论文的方式,并结合平时的情况,来最终评定学生的成绩。
六、建议使用教材及参考书目
[1] 李传湘. 程序设计方法学. 武汉大学出版社,2000
文档评论(0)