《C语言程序设计教程》课程教学大纲.docx
《《C语言程序设计教程》课程教学大纲.docx》由会员分享,可在线阅读,更多相关《《C语言程序设计教程》课程教学大纲.docx(18页珍藏版)》请在冰豆网上搜索。
《C语言程序设计教程》课程教学大纲
《C语言程序设计教程》课程教学大纲
课程性质:
必修课课程类型:
专业基础课
总学时:
64(理论教学32+实践教学32)学分:
4
一、本课程的地位及作用
对于计算机专业的学生来讲,C语言是一门很重要的基础语言,同时,《C语言程序设计教程》作为一门重要的基础课程,对后继专业课程的学习,起到至关重要的铺垫作用。
C语言是现今应用最为广泛的几种语言之一,在实际编程应用中,它有其他语言所无法比拟的优势。
在学习的同时,培养学生具备扎实的软件开发基本技能,并养成良好的编程风格,为进一步学习后续课程和将来从事应用软件开发奠定良好的基础。
二、课程教学目标及教学任务
(一)教学目标
教学目标列表:
目标内容
具体目标
理论知识
能够了解C语言基本的语法知识
能够运用结构化程序的3种基本结构和数组
能够了解指针的操作
能够运用结构体的操作
能够运用函数实现简单项目
能够了解文件的使用及简单链表的操作
专业技能
能够了解程序设计的基本风格,形成良好的编程习惯
能够分析和理解较复杂的C程序
能够对照已有程序,进行功能上的扩展和完善
能够运用流程图来描述算法,能运用所学知识和技能对一般问题进行分析和程序设计
能够了解如何在VC环境下调试程序
职业道德
培养学生学习新技术的能力
(二)教学任务
本课程结束时需要提交3个项目的代码:
1、计算器项目代码。
要求:
运用带参数函数完成计算器的加、减、乘、除等四则运算及累加、阶乘、均值、方差等运算。
代码量约为400行左右。
2、学生成绩管理系统V1.0项目代码。
要求:
运用数组、字符串、指针等知识,完成对学生成绩的输入、输出、查找和排序等功能。
代码量约为600行。
3、学生成绩管理系统V2.0项目代码。
要求:
运用结构体数组的相关知识,完成学生成绩的输入、输出、查找和排序等功能。
代码量约为800行。
三、各单元教学内容及基本要求
第1单元C语言概述及基础知识
(一)教学内容
1.1C程序架构及C语言的数据类型
1.2运算符与表达式
(二)教学要求
掌握C语言开发工具的使用方法掌握C程序的结构及特点,掌握基本数据类型,变量,运算符与表达式的使用
(三)教学重点与难点
重点:
C发展和特点C程序的基本结构C程序的开发过程VisualC++开发环境介绍数据类型常量与变量运算符与表达式
难点:
VisualC++开发工具的使用和C程序的结构及特点数据类型常量与变量运算符与表达式
第2单元程序设计结构及应用
(一)教学内容
2.1顺序结构
2.2选择结构
2.3循环结构
(二)教学要求
掌握简单函数的编写方法掌握常用的运算符掌握选择和循环结构的程序设计掌握函数之间相互调用,简单系统的程序设计
(三)教学重点与难点
重点:
if嵌套、switch分支结构、循环结构函数的使用自编写函数的调用
难点:
if嵌套、switch分支结构、循环结构函数的使用自编写函数的调用
第3单元初级应用能力
(一)教学内容
3.1计算器项目
3.2数组的基本概念
3.3数组元素的查询
3.4数组元素的排序
3.5字符数组
(二)教学要求
了解数组的应用掌握一维数组的定义、引用、初始化、输入、输出掌握数组的查询、排序等算法掌握字符串的定义、字符串的常用函数的使用等
(三)教学重点与难点
重点:
掌握一维数组的定义、引用、初始化、输入、输出掌握数组的查询、排序等算法掌握字符串的定义、字符串的常用函数的使用等
难点:
掌握一维数组的定义、引用、初始化、输入、输出掌握数组的查询、排序等算法掌握字符串的定义、字符串的常用函数的使用等
第4单元指针的概念及引用
(一)教学内容
4.1学生成绩管理V1.0项目
4.2指针的概念及应用
4.3指针作函数参数
4.4指针和一维数组
4.5指针和字符串
(二)教学要求
掌握指针的概念和相关操作掌握指向数组的指针操作
(三)教学重点与难点
重点:
指针理解、指针定义和初始化指针作函数参数指向数组的指针操作和应用
难点:
掌握指向数组的指针操作
第5单元C语言的高级应用能力
(一)教学内容
5.1结构体的基本概念
5.2结构体数组
5.3文件的基本操作
5.4学生成绩管理系统V2.0项目
(二)教学要求
掌握结构体的定义方法掌握结构体的相关操作掌握文件的操作方法
(三)教学重点与难点
重点:
结构体的使用文件的使用
难点:
结构体的使用文件的使用
第6单元复习
(一)教学内容
6.1复习
(二)教学要求
掌握所学的全部内容
(三)教学重点与难点
重点:
C语言的编程规范及重要的语法知识
难点:
重要语法知识
四、实践项目实施计划表
此表用于描述课程实践(含实验)项目的具体内容、目的及实践场所。
项目
代码
项目
名称
项目
类型
时间
(教学周)
项目
内容
课内
学时
考核
方式
实践
场所
UP(1/2/3)
计算器项目
单元组
项目
1-5
加、减、乘、除、求余、累加、阶乘、均值、方差等运算
8
实验,上机考核
课上/课下
UP(4)
学生成绩管理系统V1.0
单元
项目
5-9
用数组实现学生成绩的输入、输出、查询、排序等功能的实现
10
实验,上机考核
课上/课下
CP
(1)
学生成绩管理系统V2.0
课程
项目
10-16
用结构体数组实现学生成绩的输入、输出、查询、排序及对文件的读写等功能的实现
14
实验,上机考核
课上/课下
五、各单元知识点及学时分配表
单元
标题号
节标号
知识点与技能点
各教学环节学时分配
理论教学
实践教学
课内
小计
课外
小计
讲
课
习
题
测
验
其
他
课
外
随
堂
实验室
课
外
CU
(1)
1.1C程序架构及C语言的数据类型
1.1.1常量和变量的数据类型
2
4自学
2
4
CU
(1)
1.2运算符与表达式
1.2.1运算符表达式
2
4作业
2
4
CU
(2)
2.1顺序结构
2.1.1流程图及顺序结构程序设计
1
2自学
1
2
2
CU
(2)
2.2选择结构
2.2.1if语句,if~else语句,switch语句
2
2自学
2
4
2
CU
(2)
2.3循环结构
2.3.1for语句,while语句,do~while语句
2
4
4
6
4
CU(3)
3.1计算器项目
3.1.1程序的基本结构与数据类型综合运用
1
1
4
2
4
CU(3)
3.2数组的基本概念
3.2.1数组定义,数组元素引用
1
1自学
1
2
1
CU(3)
3.3数组元素的查询
3.3.1数组元素的查询
1
2
1
3
1
CU(3)
3.4数组元素的排序
3.4.1选择法排序
1
2
2
3
2
CU(3)
3.5字符数组
3.5.1字符串与字符处理函数
2
2
1
4
1
CU(4)
4.1学生成绩管理V1.0项目
4.1.1学生成绩的录入、输出、查找与排序
1
3其他
3
4
3
CU(4)
4.2指针的概念及应用
4.2.1指针的概念与应用
2
2自学
1
3
2
CU(4)
4.3指针作函数参数
4.3.1指针作函数参数
2
2自学
2
4
2
CU(4)
4.4指针和一维数组
4.4.1指针和一维数组
1
2
2
3
2
CU(4)
4.5指针和字符串
4.5.1指针和字符串
2
2
2
4
2
CU(5)
5.1结构体的基本概念
5.1.1结构体的概念
1
1
2
CU(5)
5.2结构体数组
5.2.1结构体数组
2
2
2
4
2
CU(5)
5.3文件的基本操作
5.3.1fscanf与fprintf,fgets与fputs
2
2
2
4
2
CU(5)
5.4学生成绩管理系统V2.0项目
5.4.1用结构体数组实现学生成绩管理系统V2.0项目
2
2
4
4
4
CU(6)
6.1复习
6.1.1复习
2
2
合计
30
0
0
2
20
32
0
24
64
44
六、项目
(一)项目与课程各单元之间的关系
“学生成绩管理系统V2.0”是本课程的综合项目,通过项目导学,指引学生了解要开发该项目,必须掌握C语言的基础知识、程序设计的三大结构、模块与函数的应用、数组和字符串、指针、结构体、文件等相关知识,同时,还必须熟悉一些常用的算法,理解简单的编程思想。
为了便于理解和掌握C语言知识,将项目所需的全部知识按照循序渐进的学习规律,划分为5个不同的阶段。
前4个阶段各用一个单元项目来驱动,第5阶段即为本课程的综合项目实施阶段。
在第1、2阶段,通过两个版本的“计算器”项目,引导学生学习和掌握C语言的基础知识及三个程序设计结构,学会如何应用函数来划分程序模块,在每个模块内部掌握一些简单的算法。
第3、4阶段,通过两个版本的“学生成绩管理系统V1.0”项目,引导学生灵活使用三大结构和函数,学习数组、字符串、指针的相关操作,掌握更复杂的编程算法,同时,把综合项目的基本需求(即项目构思)逐步引出。
这两个阶段所涉及的各种算法,与综合项目中的解决思路相似,为综合项目的开发作好准备。
第5阶段,综合项目的构思、设计、实施和运行。
项目的初级构思已经在第3、4两个阶段有了,只需要把这个构思完善到更贴近真实项目即可。
项目的各个模块的设计思路第3、4两个阶段也都使用了,只要换个方式使用即可。
因此,第5阶段只需要把结构体数组及文件的相关应用讲解完,将新的知识应用到第3、4阶段的设计思路中,水到渠成地即可开发出“学生成绩管理系统V2.0”综合项目。
(二)项目主要内容
1、项目构思:
一个学期考试结束后,辅导员手中有一份包含全班人的各门课程的成绩信息,他(她)需要针对这张成绩表,进行各种分析统计,以及查询某个同学的成绩等,现在想要开发一个成绩管理系统来帮助辅导员处理这件事。
要求:
系统的主要功能有:
(1)能够录入全班人的成绩信息;
(2)能够打印输出成绩单;(3)能够按学号或姓名查询某个学生的成绩信息;(4)能够统计出每个人的总分及平均成绩,并按总分进行降序排序,得出名次;(5)查询某门课程得分最高的学生的全部成绩信息;(6)统计某门课程各成绩段的人数;(7)能够存储成绩到文件;(8)能够让系统运行时自动从文件中读取信息;(9)为了不泄漏成绩,还需要用口令来保护系统的安全。
(10)其他可扩展功能…
项目名称:
学生成绩管理系统V2.0
2、项目设计:
(1)为了完成“学生成绩管理系统V2.0”这个项目,需要用到构造类型,因此,需要先构造出一个学生结构体类型。
(2)将“项目构思”中提出的那些功能按照模块进行划分,得出系统的总体架构图如下:
(3)根据系统总体架构图,设计出主函数的流程,用N-S图描述。
(4)将总体架构图中的各个功能模块分别进行设计,画出N-S图。
项目构思和项目设计一起,形成一个简单易懂的项目开发说明文档。
3、项目实施:
根据项目设计部分得出的N-S图,利用已掌握的C语言知识及编程思想,完成各个功能模块的函数编码。
先搭建整个项目的主函数流程,然后用增量集成的方式不断在系统中加入新模块。
对于每个模块,将项目设计和项目实施两步结合在一起来完成,设计完一个模块,就实施一个模块。
如此重复,直到全部模块都设计、实施完毕。
4、项目运行:
每加入一个新模块,即运行测试该模块。
待所有模块全部加入后,对整个系统进行测试和运行。
(三)项目成果物描述
根据课堂讲解和项目开发说明文档,实现基于结构体数组和文件的“学生成绩管理系统V2.0”,提交系统的全部代码,要求系统要通过测试运行,并提供较清晰的注释。
七、教学方法及组织形式
课堂讲授以随堂实验为中心,用项目来引导学生学习技能,并通过动手实验,让学生自己理解并归纳、掌握基本的编程知识与常识。
整个教学过程突出精讲多练的模式,用大量的课内外练习来达到教学目的。
老师应该在教学过程中树立以学生为中心的思想,教师是一个引导者,启发学生通过动手实践以及对实践结果进行思考获取知识,避免灌输式教学,避免让学生背记大量的尚未理解的教条,指导学生通过动手来解决遇到的学习问题,教授学生如何去思考和解决遇到的问题。
当课程结束时,学生应通过实验和作业编写共约2千行左右的C语言源代码,学生对C语言应有较深的了解。
八、教学环境
本课程所涉及的实践操作全部为随堂实践,即在教室里进行课程教学中的各个内容的实践操作,所使用的实验设备为学生的笔记本计算机,软件环境为VC++6.0。
九、教学资源
参考教材:
《C语言程序设计》谭浩强.北京:
清华大学出版社,2006.
《C语言程序设计教程(第2版)》崔武子等.北京:
清华大学出版社,2007.
《C语言程序设计》巫家敏等.北京:
高等教育出版社,2007.
《StephenPrata.CPrimerPlus(第4版)中文版》北京:
人民邮电出版社,2002.
《C语言程序设计与应用》张小东等.北京:
人民邮电出版社,2009.
《C语言程序设计随堂实训及上机指导》邱建华等.沈阳:
东北大学出版社,2007.
《c语言程序设计教程》,邱建华等.大连:
东软电子出版社,2009.8.
十、形成性考核与终结性考核
(一)课程考核内容及总体安排
在教学过程的各个环节,从学生的出勤、日常表现、作业、测试、项目完成情况及完成质量、TOPCARES能力目标的实现情况,对学生进行全方位的考核。
类别
考核项目
考核主要内容
考核方式
考核时间
所占权重
形成性考核
课堂表现
课堂表现
教师考查
第1周至第16周
6%
作业
作业
作业
第1周至第16周
10%
项目
三个项目的代码提交情况
实验
第1周至第16周
24%
期中考试
期中考试
上机
第9周
20%
终结性考核
期末考试
全部内容
上机
第16周
40%
平时成绩给定标准:
课堂表现:
6分
作业:
10分
三个项目的代码提交情况:
24分
考勤:
迟到一次扣3分,旷课一次扣6分
(二)命题要求
考核项目
重点考核知识点、技能点
备注
期末考试
重点考查三大程序设计结构、数组及函数等知识
主要考察程序设计结构、数组、函数、结构体等相关知识点
(三)终结性考核
考试时间
90
记分方式
百分制
考核方式
上机考试
学生考核提交类型
其他
试题类型、题数、分值比例
单项选择题:
0个0%
多项选择题:
0个0%
填空题:
0个0%
简答题:
0个0%
论述题:
0个0%
程序设计题:
1个100%
试题难易
程度
基本题:
60%灵活题:
10%
综合题:
20%其他:
10%
教学大纲
覆盖率
教学大纲覆盖率=含考题内容的学时/课程总学时数*100%=(95%)
备注
上机考试
(四)总成绩评定标准
等级
评定指标(定性与定量结合)
优秀(100-90)
能够较灵活地应用C语言各知识点进行编程,具有较强的解决实际问题的能力。
能够完成课程中的全部项目的编码,程序风格很好,并有所创新。
期末上机考试成绩达85分以上。
良好(89-80)
能够较好地使用C语言各知识点进行编程,具有一定的解决实际问题的能力。
能够完成课程中的全部项目的编码,程序风格很好。
期末上机考试成绩达75分以上
中等(79-70)
可以比较好地运用C语言的核心知识点进行编程,具有一定的解决问题的能力。
能够完成课程中全部项目80%以上的编码量,程序风格较好。
期末上机考试成绩达65分以上。
合格(69-60)
可以比较好地运用C语言的核心知识点进行编程,在教师指导下有一定的解决问题的能力。
能够完成课程中全部项目60%以上的编码量。
期末上机考试成绩达55分以上。
不合格(60以下)
不能运用C语言核心知识点进行编程,无法完成课程中全部项目60%以上的编码量。
期末上机考试成绩不到55分。