C语言编程实践教学大纲
一、课程信息
课程编号:CEIP102
课程名称:C语言编程实践
课程类别:实践课
学分:2
学时:32
课堂讲授:4
上机实验:28
适用范围:计算机科学与技术专业、软件工程专业、软件工程(日语强化)专业、网络工程专业
预修课程:C语言程序设计
二、课程的性质与任务
1.课程性质:C语言编程实践是计算机专业一门非常重要的实践课。
2.课程任务:本课程是修完C语言程序设计后结合一个具体项目的研发过程,进一步研究结构、递归结构及其应用;自定义数据类型及应用;动态内存分配与应用;链表的概念;链表的创建;链表的遍历、查找、排序等常用算法及其应用;系统设计和开发的原则与方法。
修完本课程的学生应达到如下要求:
(1)不断深化:进一步巩固学生对《C语言程序设计》课程所涉主要知识点的理解,力争把零散的知识系统化,为学生奠定扎实的编程基础。
使学生明确主要知识点之间的脉络关系;
使学生明确主要技术引入的必然性和使用技巧;
让学生明确“为什么?”和“如何用?”是程序设计课最重要的两个问题。
应该进一步明确算法的含义和使用Visio画流程图与NS图来描述算法的方法;
应该使学生明确算法的三种基本结构——顺序、分支和循环;
使学生明确对应三种算法结构的C语句。
应该使学生能够比较快地、正确地选择结构(语句)解决问题;
应该使学生对于数组、指针、结构、函数、文件操作、递归等关键技术比较清楚。
(2)填缺补漏:解决《C语言程序设计》课程因课时紧等因素而造成的不够深入、不够彻底,学生掌握不扎实的问题,为后续课程学习提供保障。
什么结构化程序设计方法?
什么UP-DOWN设计方法?
模块和函数有什么关系?如何进行问题分解?
什么是指针型函数?如何定义?
函数间传递数据的方式有哪些?
什么动态内存分配?如何分配?
什么是结构?什么是递归结构?有什么用?
什么是链表?为什么要建链表?如何建链表?
什么是文件?为什么要引入文件?如何操作?
(3)形成技能:结合一个典型工程项目的设计与实现,引导学生把所学的知识转化为编程的实际技能。
自定义数据类型的必要性和方法;
函数的定义与调用方法;
建立编译单元的概念;
理解单独编译、系统装配的方法;
理解代码重用、并行开发、开发效率的初步概念;
熟练使用VC++环境,能对常见编译错误进行处理;
理解和形成团队合作的方法;
培养良好的编程习惯;
文档撰写技能。
三、课程内容、基本要求与学时分配
序 号 |
内容与基本要求 |
课时安排 |
备 注 |
授课 |
实践 |
1 |
课程介绍 |
授课 |
2 |
|
2 |
项目情况介绍 |
授课 |
2 |
|
3 |
算法基本结构、用流程图描述算法 用Visio 2003画流程图和NS图 |
边讲边练 |
2 |
完成任务-1 上机指导P138图2-19 |
4 |
结构化程序设计与自上而下设计方法 (问题分解的方法) |
边讲边练 |
2 |
|
5 |
函数定义和调用方法 指针型的函数 |
边讲边练 |
2 |
完成任务-2 上机指导P196编程7-1 |
6 |
分组、项目与任务下达 |
集体讨论 |
2 |
每个人落实到一个模块 |
7 |
结构数据类型与递归结构问题 动态内存分配和链表创建 |
边讲边练 |
2 |
完成任务-3 上机指导P205编程8-2 |
8 |
顺序查找和冒泡排序算法 |
边讲边练 |
2 |
完成任务-4编写四个函数分别实现:输入5个国家名;查找指定国家是否存在;把国家名按升序排序;输出国家名 |
9 |
文件读写操作 文本文件和二进制文件操作方法 |
边讲边练 |
2 |
完成任务-5 上机指导P212编程9-2 |
10 |
独立承担的模块 |
实际操作 |
2 |
|
11 |
独立承担的模块 |
实际操作 |
2 |
|
12 |
独立承担的模块 |
实际操作 |
2 |
|
13 |
独立承担的模块 |
实际操作 |
2 |
|
14 |
独立承担的模块 |
实际操作 |
2 |
|
15 |
独立承担的模块 |
实际操作 |
2 |
|
16 |
独立承担的模块 |
实际操作 |
2 |
|
合计 |
|
32 |
2周 |
四、推荐教材及参考书目
1.教材:
《C语言程序设计》,葛日波主编,北京邮电大学出版社
《C语言程序设计习题解答与上机指导》,葛日波著,北京邮电大学出版社
2.参考书目:
《A Book on C》,Al Kelley/Ira Pohl,University of California
《C程序设计》,谭浩强著(第三版),清华大学出版社
《C语言程序设计习题与详解》,葛日波著,北京邮电大学出版社,2009年8月
五、授课方式
1.时间安排
前8周集中在机房完成32学时实训任务;
第9-10周完成报告、答辩和成绩评定;
2.组织形式
(1)前面6周(24学时):
集中组织——教师指导,边讲边练。
(2)后面2周(8学时):
分组执行——根据项目情况和指导教师要求完成规定任务。
(3)最后2周(学时不限):
分组执行——报告撰写,程序联调,答辩、成绩评定。
六、考核办法
1.成绩组成:
100分=创新表现10分+程序及文档50分+总结报告20分+答辩与演示20分
考核项目 |
考核内容 |
考核方式 |
分值 |
创新表现 |
学习态度、笔记、创新意识等 |
教师平时考查(每个人分别打分) |
10 |
程序及文档 |
每个小组按照给定的模板,把系统分析、系统设计、小组成员各自承担的模块、流程图及代码,系统测试情况形成文档,打印装订,上交电子和纸质材料 |
教师集中评阅(小组的所有成员统一评分) |
50 |
总结报告 |
每个人按照给定的模板,把自己承担的模块、流程图及代码、学习体会进行总结,打印装订,上交电子和纸质材料 |
教师集中评阅(每个人分别打分) |
20 |
答辩与演示 |
演示程序,回答相关2-3个问题 |
教师从没小组任意抽取一人进行(小组的所有成员统一评分) |
20 |
2.考试方式:大作业+答辩
3.成绩评定:采用100分制
修订日期:2011-8-15
编写人:葛日波
审核人:张应博