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