还剩12页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
程序设计基础Fundamentals ofProgramming课程编号6410006学分
4.0学时80(其中讲课学时48实验学时0上机学时32)先修课程计算机导论适用专业信息安全教材《C++语言程序设计教程(第3版)》,沈显君,清华大学出版社,2015年5月第3
一、课程性质与课程目标
(一)课程性质《程序设计基础》是计算机科学与技术专业的程序设计入门课程《程序设计基础》是重要的专业基础课和必修课,在整个教学体系中占据非常重要的地位作为计算机科学与技术专业的核心课程之一,本课程既培养学生解决问题(算法与程序设计)的能力,又使他们比较熟练地掌握一种程序设计语言使学生具备初步的分析问题和利用计算机求解问题的能力
(二)课程目标《程序设计基础》主要讲授程序设计语言的基本知识和程序设计方法,包括:课程目标1:理解程序设计的基本类型、掌握程序设计中的运算符和表达式课程目标2掌握面向过程的三种基本结构(顺序、分支和循环)课程目标3掌握数组、指针、结构体等基本构造类型课程目标4掌握函数的定义和使用课程目标5掌握程序设计中的基本算法和算法的描述方法课程目标6能够使用面向过程的基本结构解决常见的数学和物理问题课程目标7能够熟练使用一种程序开发工具课程目标8在程序设计中养成良好的程序书写习惯课程目标9能够利用常用的算法解决实际问题课程目标10在系统分析和程序设计中使用模块化的设计方法
(三)、课程目标与专业毕业要求指标点的对应关系(按序填写)课堂教实上课程实目标小计学验机践第一章概述222讲授、案例、演示
7、
81、7第二章数据类型和表达式822讲授、案例、自学讲授、案例、演示、
2、
6、8第三章控制结构1268实验讲授、案例、演示、
4、
9、10第四章函数1246对比讲授、案例、演示、
3、
6、
9、10第五章构造数据类型14614探究合计483232
五、课程考核与毕业要求达成度计算
(一)考核方式考核方式或途径考核要求考核权重备注按照作业题目进行评分,总分数平均根据网络平台作业得分平时作业10%计算(5次以上)取5次平均值完成实验报告,主要考查分析能力,实验20%评分细则见附录1程序设计能力期末考试闭卷70%
六、参考书目及学习资料(书名,主编,出版社,出版时间及版次)
1.(C+4-Primer Plus(第六版)中文版》[美]Stephen Praia著,人民邮电出版社,2010年第六版
2.《C++程序设计语言》,[美]BjarneStroustrup著,高等教育出版社,2009年第2版
3.《C++同步练习及实验指导》,潘雨清、曹汉清、郑文怡、刘金平编著,出版社,2012年7月第1版
八、大纲说明
1.采用多媒体教学手段,建议采用讲做结合的方式,多种教学手段综合运用
2.课后共需完成约5个基础习题作业,以加深学生对所学内容的理解和掌握,建议利用网络教学平台
3.本课程有10个学时的实验,具体实验内容任课教师亦可以根据实际教学情况适当安排2017年9月2日附录1实验评价内容和评分细则实验报告考查内容与评分比重评分项编所占比对毕业要求指标点实验评价内容要求号重支撑1问题分析和求解能力20%能够写出问题分析的过程
3.32系统方案(算法)设计能力20%算法流程表示清楚
3.33编程实现能力30%能够编程实现
2.
33.34程序书写规范20%标识符定义规范,程序书写风格规范5报告清晰,按时提交10%报告清晰,提交准时
3.3实验报告评分细则(每次实验报告按100分计算)项目优良中及格不及格能够根据问题举能够根据问题举能够根据问题举例,并给出解决步例,并给出解决例,并给出解决步问题分析和求解骤,并总结规律步骤骤,但步骤不完能力(20分)(18-20分)(16-17分)整(14-15分)能够根据问不能够正确分析问题举例,举题,或者举例出入例不准确,较大(12分以步骤不完下)整(12-13分)系统方案(算能够用流程图或者有少许错误有缺失(14-15个别错误错误较多(12分法)设计能力N-S图正确表示(16-17分)分)(12-13分)以(20分)(18-20分)下)程序正确并清晰易程序正确能得到结果,有少不能得到正确结编程实现能力读(27-30分)(24-26许缺陷(21-23能得到结果,果(18分以下分)(30分)分)缺陷较多(18-20分))程序书写规范(20分)符合程序书写规范,标识符定义规范(18-20分)符合程序书写较规范(16-17分)符合程序书写不够规范(14-15分)能够阅读,书写随意(12-13分)阅读困难,书写随意(12分以下)报告清晰,按时提交(10分)报告清楚,按时提交(9-10分)报告较清楚,按时提交(8分)推迟一天,但报告清楚(7分)推迟2天,报告不清楚(6分)推迟三天以上(6分以下)本课程支持的毕业要求指标点如下指标点3-4:掌握开发的编程语言和开发环境目标课程目课程目课程目课程目课程目课程目课程目课程目课程目课程目指标标1标2标3标4标5标6标7标8标9标10指标点3-4V V V VVV
二、课程内容及要求第一章概述(-)课程内容
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 returngoto语句;掌握循环的嵌套
2.具有使用分支结构解决问题的能力
3.具有使用循环结构解决问题的能力
4.理解算法设计的作用,具有使用流程图描述算法的能力
(三)重点与难点
1.重点分支结构、循环结构
2.难点算法描述、复合语句、循环嵌套第四章函数(-)课程内容
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.难点指针、动态能存分配、指针与函数、指针常量与常量指针
五、本课程开设的实验项目与其它教学活动-实验项目编号实睑项目名称学时类型要求支撑的课程目标1熟悉开发环境2验证性必做
7、82数据类型与表达式2验证性必做13选择语句2设计性必做24循环语句2验证必做
2、55循环语句4设计必做
2、
5、96函数2验证必做
4、87函数4设计必做
4、
10、98数组的应用2设计必做
3、69数组应用6设计必做
9、310数组与指针2验证必做311结构体4设计必做
9、
10、6实验1熟悉开发环境
1.实验目的1了解和使用VS.net集成环境2了解和掌握VS.net集成环境的安装,简单应用3学习并熟练掌握使用VS.net环境进行C++程序开发的全过程包括源程序的编辑、编译、调试、运行和结果查看4了解C++程序的基本结构5验主要内容1安装VS.net集成环境2建立自己的工作目录如d:\user以后的C++程序和过程文件均放置在此目录下3输入一个Application源程序,学习编辑、编译、运行程序的方法6备要求1PC一台2VS.net安装包实验2数据类型与表达式
1.实验目的要求1掌握C++语言的标识符和保留字,各简单数据类型变量以及有逻辑量意义数据的表示方法以及表示条件的表达式的类型2掌握C++语言中各种运算符表达式的基本知识
2.实验主要内容练习测试标识符的定义规则、表达式的组成、各种数据类型及其使用方法、各种运算符的使用及其优先级控制
3.实验仪器设备1PC一台2VS.net安装包实验3程序控制结构
1.实验目的要求1掌握用if语句实现选择结构;掌握用switch语句实现多分支选择结构;2掌握for循环结构;掌握while和do-while循环结构;3掌握continue breakreturn;4掌握循环的嵌套
2.实验主要内容1利用分支语句构建练习程序2利用循环语句构建练习程序3使用continue breakreturn构建练习程序4构建循环嵌套练习程序注具体内容可参照《C++同步练习及实验指导》
3.实验仪器设备1PC一台2VS.net安装包实验4函数
1.实验目的要求1掌握函数定义、声明和调用方法;2理解函数参数传递机制、掌握递归调用、嵌套调用和内置函数的使用方法;3掌握变量的作用域和生存周期的概念,正确运用变量和函数的属性
2.实验主要内容1写两个函数,分别求两个整数的最大公约数和最小公倍数,用主函数调用这两个函数并输出结果2编写程序验证哥德巴赫猜想,给定任意一个大于6的偶数,均可以分解两个素数之和例如6=3+3,12=5+73编写函数对n个数排序,要求用input函数输入数据,sort函数排序,output函数输出结果4书写一个函数,将输入的字符串按反序存放,在主函数中输入和输出字符串5用递规方法求n介勒让德多项式的值1n=0pnx=J xn=l2nT*x-pnT x-nT*pn-2x/n nl6某个超市有5种商品,每种商品有若干件,每种商品的价格不同,求卖出所用商品后的总价格
3.实验仪器设备1PC一台2VS.net安装包实验5数组与指针
1.实验目的要求1熟练掌握指针、地址、指针类型、void指针、空指针等概念;2熟练掌握指针变量的定义和初始化、指针的间接访问、指针的加减运算和指针表达式;3会使用数组的指针和指向的指针变量;4会使用字符串的指针和指向字符串的指针变量
2.实验主要内容1要求使用指针处理下面的问题例子程序让用户从键盘上输入四个整数,并按由小到大的顺序排序并输出2设有整型二维数组a
[4]
[5],从键盘上输入数据并求a数组中最大、最小元素值及所以元素的平均值耍求用一级指针和二级指针来完成数组元素的读写操作3设有单精度型一维数组从键盘上输入数据并求a数组中最大、最小元素值及所有元素的平均值4实现B=A+A\即把矩阵A加上A的转置5有一篇文章,共有3行文字,每行有80个字符要求分别统计出其中英文大写字母、小写字母、数字、空格以及其他字符的个数注具体内容可参照《C++同步练习及实验指导》
3.实验仪器设备1PC-台2VS.net安装包实验6结构体
1.实验目的要求1掌握结构体、共用体和枚举类型的定义和使用;2掌握结构体数组的概念和应用;3掌握动态内存分配以及简单链表操作;
2.实验主要内容1以结构体表示复数,计算复数的和与乘积2统计20名学生成绩,包括学号、姓名、成绩统计男女学生的比例和平均分3使用链表实现要求
2.
3.实验仪器设备1PC一台2VS.net安装包注本课程为程序设计基础课,授课对象为大一新生,实验类型主要包括验证性实验和设计性实验,验证性实验不需提交报告,设计性实验需要提交上机实验报告,实验报告主要包括题目,算法分析和描述、应用程序以及运行结果实验评价内容和评分细则参见附录1
四、学时分配及教学方法及对指标点的支撑章学时分配教学方法支撑的课程。