程序设计基础
(Fundamentals of Programming)
课程编号:6410006
学分:4.0
学时:80 (其中:讲课学时:48  实验学时:0  上机学时:32)
先修课程:计算机导论
适用专业:信息安全
教材:《C++语言程序设计教程(第3版)》,沈显君,清华大学出版社,2015年5月第3版
一、课程性质与课程目标
(一)课程性质
《程序设计基础》是计算机科学与技术专业的程序设计入门课程。《程序设计基础》是重要的专业基础课
和必修课,在整个教学体系中占据非常重要的地位。作为计算机科学与技术专业的核心课程之一,本课程既培养学生解决问题(算法与程序设计)的能力,又使他们比较熟练地掌握一种程序设计语言。使学生具备初步的分析问题和利用计算机求解问题的能力。
(二)课程目标
《程序设计基础》主要讲授程序设计语言的基本知识和程序设计方法,包括:
课程目标1:理解程序设计的基本类型、掌握程序设计中的运算符和表达式
课程目标2:掌握面向过程的三种基本结构(顺序、分支和循环)
课程目标3:掌握数组、指针、结构体等基本构造类型
课程目标4:掌握函数的定义和使用
课程目标5:掌握程序设计中的基本算法和算法的描述方法。
课程目标6:能够使用面向过程的基本结构解决常见的数学和物理问题。
课程目标7:能够熟练使用一种程序开发工具
课程目标8:在程序设计中养成良好的程序书写习惯。
课程目标9:能够利用常用的算法解决实际问题。
课程目标10:在系统分析和程序设计中使用模块化的设计方法。
(三)、课程目标与专业毕业要求指标点的对应关系
本课程支持的毕业要求指标点如下:
指标点3-4:掌握开发的编程语言和开发环境
课程目标指标点课程目
标1
课程目
标2
课程目
标3
课程目
标4
课程目
标5
课程目
标6
课程目
标7
课程目
标8
课程目
标9
课程目
标10
指标点3-4√√√√√√√√√√
二、课程内容及要求
第一章概述
(一)课程内容
1. 本课程的性质、学习方法、目的、任务。(讲授)
2. 结构化及面向对象程序设计的基本思想和有关概念。(讲授)
3. 词法及词法规则。(讲授)
4. C++程序结构的特点。(案例式)
5. C++程序的实现。(演示+实验)
(二)教学要求
1.了解课程的性质,了解程序发展的历史。掌握C++的词法及词法规则。
2.具有使用一种C++开发环境的能力,能够书写最简单的C++程序。
(三)重点与难点
1.重点
C++的词法及词法规则, C++程序的上机操作过程。
2.难点
C++的词法及词法规则。
第二章数据类型和表达式
(一)课程内容
1. 基本数据类型。(讲授+自学)
2. 常量的表示。(讲授)
3. 变量。(讲授)
4. 运算符和表达式。(讲授+练习)
5. 类型转换。(讲授+练习)
(二)教学要求
1. 了解C++语言的数据类型,理解标识符、常量、变量的概念,掌握各种数据类型及其变量的定义方法;了解运算符的种类、运算优先级、结合性;掌握算术、关系、逻辑、赋值及位运算等;掌握不同类型数据间的转换与运算;掌握各种表达式的构成和求值规则。
2.具有为工程中的数据选择程序设计类型的能力。
3.具有能够使用C++语言描述数学算数表达式的能力。
(三)重点与难点
1.重点
标识符的定义, 数据类型的种类与作用、运算符的表示、数据转换与运算。
2.难点
不同类型在计算机中的存储;++ --运算符;运算符优化的副作用。
第三章控制结构
(一)课程内容
1. 算法的概念与表示。(讲授+自学+案例)
2. C++语言的语句。(讲授)
3. 选择语句。(讲授+案例+实验)
4. 循环语句。(讲授+案例+实验)
5. 转向语句。(讲授+案例+实验)
(二)教学要求
1. 了解算法的特征,了解算法的描述方法。掌握表达式语句、空语句、复合语句;掌握简单程序的设计方法。掌握用if语句实现选择结构;掌握用switch语句实现多分支选择结构。掌握for循环结构;掌握while和do-while循环结构;掌握continue、break、return、goto语句;掌握循环的嵌套。
2. 具有使用分支结构解决问题的能力。
3. 具有使用循环结构解决问题的能力。
4. 理解算法设计的作用,具有使用流程图描述算法的能力。
(三)重点与难点
1.重点
分支结构、循环结构。
2.难点
算法描述、复合语句、循环嵌套。
10种常用的程序设计语言第四章函数
(一)课程内容
1. 函数的定义和说明。(讲授+案例)
2. 函数的调用。(讲授+案例+对比)
3. 函数的参数与引用。(讲授+案例+对比)
4. 内联函数。(讲授+案例)
5. 函数重载。(讲授+案例+对比)
6. 函数的嵌套调用和递归调用。(讲授+案例+对比)
7. 变量的存储属性及其表示。(讲授+案例+对比)
8. 标识符的作用域和可见性。(讲授+案例+对比)
9. 编译预处理。(讲授+自学)
10. 名字空间。(讲授+案例)
11. 常用的系统库函数。(讲授+自学)
(二)教学要求
1.掌握函数的定义和调用方法;掌握函数的类型和返回值;掌握形式参数与实在参数的区别,参数值的传递;掌握函数的一般调用和嵌套调用,掌握递归调用;理解并掌握函数的重载;掌握内联函数的定义和使用;掌握常用的系统库函数的用法。掌握全局变量及局部变量的用法及应用场合;了解变量的四种存储类别;掌握程序中标识符的作用域范围;了解三种预处理命令的用法及预处理器处理的先后次序;掌握名字空间的用法。
2.培养模块化程序设计的思想,具有将复杂问题分解为若干函数模块的能力。
3.能够使用函数解决工程问题的能力。
4.理解递推和递归的区别,具有使用递归程序解决特定数学问题的能力。
(三)重点与难点
1.重点
函数的定义和调用、函数参数、递归函数、变量的存储类型和作用域。
2.难点
函数参数、递归函数、变量的存储类型和作用域。
第五章构造数据类型
(一)课程内容
1. 枚举类型的定义和使用。(讲授+自学)
2. 数组
(1)一维数组的定义与使用;(讲授+案例)
(2)多维数组的定义与使用;(讲授+案例)
(3)数组与函数;(讲授+案例)
(4)字符数组和字符串。(讲授+案例)
3. 指针
(1)指针的定义与使用;(讲授+案例)
(2)指针与字符串;(讲授+案例)
(3)指针与数组;(讲授+案例)
(4)多重指针;(讲授+案例+探究)
(5)动态内存的使用;(讲授+案例+探究)
(6)指针与函数;(讲授+案例+探究)
(7)指针常量与常量指针。(讲授+案例)
4. 结构体类型和共用体类型。(讲授+案例+自学+探究)
(二)教学要求
1.掌握枚举类型的定义和使用方法;掌握一维和二维数组的定义和使用;掌握指针的定义与用法;掌握const在指针、引用及函数中的用法;掌握指针在函数中的应用;掌握动态内存分配的用法步骤和应用场合。
2.掌握数组使用的一般算法,具有利用数组解决实际问题的能力。
3.理解指针的含义,能够利用指针解决实际问题的能力。
4.了解结构体的作用,能够利用结构体对实际问题进行定义和描述。
(三)重点与难点
1.重点
数组的定义和使用、数组的常用算法、指针的定义和使用
2.难点
指针、动态能存分配、指针与函数、指针常量与常量指针
五、本课程开设的实验项目与其它教学活动

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。