《程序设计基础》教学大纲
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《程序设计基础》课程理论教学大纲
一、课程编码及课程名称
课程编码:341300414
课程名称:程序设计基础(Fundamentals o f Programming)
二、学时、学分及适用专业
总学时数:72 学分:4 适用专业:软件工程(本科)
三、课程教学目标
通过本课程的学习,使学生理解结构化程序设计和面向对象程序设计的基本概念,初步掌握使用计算机语言进行程序设计的基本思想和方法,建立起对程序设计较为系统和全面的认识,培养学生应用计算机解决和处理实际问题的思维方法与基本能力,养成良好的程序设计风格,为后续课程的学习奠定程序设计基础。
四、课程的性质和任务
《程序设计基础》是软件工程专业重要的一门学科基础课程,是传授程序设计的基础知识和培养学生程序设计基本能力的入门性课程。主要介绍算法分析和设计、程序设计语言C++的基本语法、软件工程的基本知识、面向对象程序设计的基础。
通过本课程的学习,使学生了解程序设计的基本概念,掌握程序设计的基本思路和方法,对程序语言和程序设计涉及的有关技术有一个概括性的了解,熟悉一种程序设计语言,具有一定的面向过程和面向对象程序分析、设计、编码和调试等能力,为今后对程序设计和软件开发技术的进一步深入学习奠定基础。
五、课程教学的基本要求
通过本课程的学习,要求学生:
1.了解程序设计技术的形成和发展,理解程序设计的基本概念。
2.掌握面向过程和面向对象程序设计的基本思想和方法。
3.掌握以程序设计的观点分析和解决问题的方法。
4.充分理解结构化程序设计和面向对象程序设计的特点。初步掌握C++语言面向过程的程序设计方法和面向对象程序设计的方法,具有一定的程序编写、调试和测试能力。
本课程是一门实践性很强的课程,要求学生不仅掌握程序设计的基本原理及编程技术,而且应掌握至少一个C++语言的开发环境及基本的程序调试和测试的方法。
六、课程教学内容
第一章程序设计概论(共4学时)
(一)本章教学基本要求
了解程序设计的一般过程;了解思维与语言、算法与数据结构、算法与程序间的关系;通过程序设计语言发展历史,了解各语言的特点;理解语法的语法图描述;了解程序设计范式的演化。
1.1 问题求解
教学内容:思维与语言;算法与数据结构;程序和程序设计的一般过程。
1.2 程序设计语言
教学内容:发展历史;程序设计语言的实现;高级语言程序基本结构;高级语言的语法规则;程序的编辑、编译和运行。
1.3 程序设计范式的演化
教学内容:结构化程序设计;函数式程序设计;面向对象程序设计;事件驱动的程序设计;逻辑式程序设计。
(二)重点与难点
重点:算法、数据结构和程序的基本概念;程序设计的一般过程;
难点:描述算法、编译C++程序
(三)小结
通过本章的学习,对算法、数据结构、程序和程序设计的一般过程有个粗浅、感性和宏观的认识。
第二章算法设计基础(共4学时)
(一)本章教学基本要求
掌握算法的流程图和PAD图描述方式;初步掌握结构化算法设计;能够进行简单的算法复杂性分析;初步了解分治与递归。
2.1 算法的描述
教学内容:自然语言方式;伪代码方式;程序流程图方式;N/S盒图方式;PAD图方式。
2.2 结构化算法设计初步
教学内容:结构化算法的描述;结构化算法设计(主体结构设计、顺序结构设计、选择结构设计、循环结构设计)。
2.3 算法的计算复杂性
教学内容:时间复杂性、渐近时间复杂性、空间复杂性的概念;时间复杂性的分析
2.4 常用算法设计策略
教学内容:分治法;递归技术;贪心法*;回溯法*。
(二)重点与难点
重点:算法的描述和设计
难点:算法设计和算法的时间复杂性分析
(三)小结
算法对于程序设计是十分重要的,是程序设计的基础和精髓,采用高效的算法才能设计出优质的程序。本章主要介绍了算法的描述、设计、实现和算法的评价。
第三章基本数据类型(共2学时)
(一)本章教学基本要求
了解数据在计算机中的存储方式;掌握常用数据类型、变量及常量的使用。
3.1 数据对象
教学内容:数据的存储(定长和不定长);数据的生存期与值。
3.2 基本数据类型
教学内容:整型与浮点型;字符类型;逻辑型;空值型。
3.3 变量与常量
教学内容:常量的类型与常量的表示;变量名、变量值、变量的定义和变量的地址。
3.4 指针类型
教学内容:指针的定义;指针的初始化;指针的运算;指针与常量。
3.5 引用类型
教学内容:引用的定义格式和应用
3.6 类型的意义
教学内容:引入类型概念的必要性和意义
(二)重点与难点
重点:基本数据类型、常量的表示和变量的定义、指针类型
难点:指针类型和引用类型
(三)小结
本章主要从数据存储的角度介绍了数据类型的概念、基本的数据类型、常量的表示和变量的定义,以及指针类型和引用类型。
第四章操作及其控制(共4学时)
(一)本章教学基本要求
掌握数据的基本运算;掌握C++的表达式和主要语句;掌握C++提供的流程控制;熟悉include等预处理指令。
4.1 基本操作与运算符
教学内容:赋值操作;算术操作;增1(减1)操作;关系、逻辑操作;条件运算符。
4.2 表达式
教学内容:表达式的类型;隐含类型转换和强制类型转换;表达式内的顺序控制;运算符的优先级和结合性。
4.3 语句
教学内容:表达式语句;复合语句;选择语句(if语句、switch语句);循环语句(for 语句、while语句、do-while语句、多重循环);直接顺序控制(goto、break、continue语句)。
4.4 预处理指令
教学内容:文件包含指令;宏定义指令;条件编译指令*。
(二)重点与难点
重点:运算符和表达式、运算符的优先级和结合性、流程控制语句
难点:类型转换和多重循环
(三)小结
本章主要从介绍了C++的运算符和表达式,以及C++的主要语句和预处理指令。
第五章函数与数据控制(共6学时)
(一)本章教学基本要求
掌握函数的定义和使用方法;理解函数的重载;深入理解函数参数的传递及变量作用域;了解函数的嵌套调用;掌握函数指针概念、数组做函数参数及常用的系统函数。