《C语言程序设计》教学大纲.docx
《《C语言程序设计》教学大纲.docx》由会员分享,可在线阅读,更多相关《《C语言程序设计》教学大纲.docx(19页珍藏版)》请在冰点文库上搜索。
《C语言程序设计》教学大纲
《C语言程序设计》教学大纲
课程编码:
B060602 课程类别:
公共基础课
适用专业:
高职高专电子信息类各专业 授课单位:
计算机与信息工程系
1、课程性质与作用
《C语言程序设计》课程是高职高专电子信息类专业的专业基础课程,通过本课程的学习,使学生具备初步的计算机编程思想、编程基本技能及逻辑思维能力,掌握运用C语言编程来解决岗位工作中实际问题的方法和步骤,为提高职业能力和拓展职业空间打下坚实基础。
在课程体系中,该课程的定位主要在于培养学生的基本编程能力和程序设计思想,为后续编程类课程打下良好的基础。
本课程的前导课程有《计算机基础》,根据不同专业方向,后续课程会涉及《单片机应用》、《数控技术》、《数据结构》、《C#程序设计》、《Java程序设计》及其它编程语言类课程。
同时也是信息产业部计算机专业和软件专业水平资格考试(程序员级别)考试中要求的主要程序设计语言。
2、课程目标
经过该课程的学习,学生应具备初步的计算机编程基本思想、编程基本技能及逻辑思维能力,掌握运用C语言编程来解决岗位工作中实际问题的方法和步骤。
在课程的学习中,培养诚实守信、坚忍不拔的性格,培养关于沟通表达、善于自我学习、具备团队协作的能力,并养成规范的编码、按时提交软件等良好的工作习惯和工作态度。
培养学生严谨负责的职业态度和职业素养,为将来从事实际岗位工作打下坚实的基础。
课程目标从知识与技能目标、过程与方法目标、情感态度与价值目标三个角度描述如下。
其中带“*”部分所描述的能力可根据专业方向不同选择培养。
课程对象
能力目标
职业能力描述
C语言
程序设计
知识与技能目标
(掌握使用C语言编写程序的知识与技能)
基本程序框架的搭建能力
基本数据类型及其应用能力
顺序结构、选择结构、循环结构的应用能力
利用数组解决实际问题的能力
利用指针访问数据的能力*
使用用户自定义类型解决实际问题的能力*
操作文件的能力*
正确定义和使用函数的能力
C语言程序的阅读和分析能力
C语言开发环境的安装能力
C语言程序的基本调试能力
初步的模块化程序设计能力
过程与方法目标
(学会学习、学会工作)
独立思考能力
提出问题、分析问题并解决问题的能力
获取新知识、新技能、新方法的能力
具有良好的职业道德和身心素质以及创新能力
独立制定工作计划能力
情感态度与价值观目标
(学会共处、学会做人)
工作中与他人的合作、交流与协商能力
语言、社交和沟通能力
口头、书面表达能力
具有心理自我调控和自我管理能力
社会责任感
3、课程内容与教学要求
《C语言程序设计》课程内容包括13个教学任务,对于每一个任务单元的名称、教学内容、学习目的、重点难点说明和教学基本要求如下表所示。
其中对于少学时专业来说,带“**”的教学内容可不讲,带“*”的教学内容为选学内容,可依据课时数、学情、专业等实际情况进行选学。
对于多学时专业来说,带“**”的教学内容可依据课时数、学情、专业等实际情况进行选学。
任务单元1——C语言程序设计宏观认识
教学内容
1.程序设计基本概念
2.C语言发展及特点
3.C语言程序基本框架结构
4.C语言编程环境及运行
学习目的
1.了解程序设计及其发展
2.理解并掌握C语言程序基本框架结构
3.能够在VC6.0软件开发环境中完成简单C程序的开发过程
重点难点
重点:
C语言程序基本框架结构
难点:
对编译和链接的理解
教学基本要求
通过演示教学使学生理解并掌握C语言程序基本框架,同时简单而全面的了解在VisualC++软件开发环境下的C程序开发过程,培养学生全局观念。
任务单元2——算法的描述
教学内容
1.算法的概念和特征**
2.算法的表示方法**
3.结构化程序设计方法**
学习目的
1.理解算法的概念和特征
2.会使用自然语言表示算法
3.会使用流程图表示三种基本程序结构
4.了解结构化程序设计的含义
重点难点
重点:
1.算法的表示;2.算法和和编程之间的关系
难点:
用流程图准确的表示算法
教学基本要求
通过理论讲述和案例讲解,是学生掌握算法的表示方法,重点体会算法描述和程序实现之间的关系,培养学生逻辑分析能力和表达能力。
任务单元3——数据的表现形式及运算
教学内容
1.数据类型
2.常量和变量
3.运算符和表达式
学习目的
1.会表示不同类型的常量
2.会使用符号常量
3.会定义不同类型的变量
4.会使用标识符
5.会使用运算符构成表达式
6.会根据运算符优先级对表达式进行运算
7.理解并掌握数据类型的转换
重点难点
重点:
1.不同类型数据的表示方法;2.使用运算符构成表达式
难点:
1.实际问题中数据类型的确定;2.不同类型数据间的运算
教学基本要求
本单元内容比较细致,在教学过程中要强调对知识点细节的熟知、熟记。
同时采用对比教学法让学生理解并掌握C语言运算符与数学上的差异。
任务单元4——顺序结构程序设计
教学内容
1.C语句的作用和分类
2.最基本的语句——赋值语句
3.格式化数据输入输出
4.字符数据的输入输出
学习目的
1.能理解并描述赋值语句
2.会用printf函数输出数据
3.会用scanf函数输入数据
4.会用putchar函数和getchar函数输出和输入字符数据
5.初步了解库函数的含义及使用方法
重点难点
重点:
1.printf和scanf函数的使用;2.putchar和getchar函数的使用
难点:
格式化数据输入和输出中的格式控制
教学基本要求
通过教学做同步实施,是学生学会正确选择和使用基本的输出、输入语句,进而对常用的输出、输入函数的语法要点做到熟知、熟记,为后续内容的学习打好基础。
在教学中注重“细节意识”的培养。
任务单元5——选择结构程序设计
教学内容
1.关系运算符、逻辑运算符及条件表达式的描述
2.条件运算符的使用
3.用if语句实现选择结构
4.用switch语句实现选择结构
学习目的
1.会使用关系运算符和逻辑运算符描述条件表达式
2.会使用条件运算符
3.会使用if语句实现选择结构
4.会使用switch语句实现选择结构
重点难点
重点:
1.关系运算符、逻辑运算符的运算规则;2.if语句和switch语句的结构及使用
难点:
1.依据实际问题准确描述选择条件;2.依据实际问题恰当的选择if语句或switch语句;3.对选择结构嵌套的理解
教学基本要求
指导学生能根据实际问题选取合适的选择结构语句,培养基本的程序分析、编写和调试能力。
任务单元6——循环结构程序设计
教学内容
1.对循环结构的认识
2.三种基本循环结构
3.改变循环执行状态的方法
4.循环结构的嵌套
学习目的
1.能理解循环结构的运行过程
2.理解并掌握while、do-while、for循环语句的描述方法和执行过程
3.能使用break或continue改变循环状态
4.理解并恰当运用循环结构的嵌套
重点难点
重点:
1.三种基本循环结构的描述;2.break和continue的使用
难点:
1.循环条件的准确描述和循环体语句的提取;2.循环结构的嵌套
教学基本要求
指导学生能根据实际问题提取循环结构各要素,并选取合适的循环结构语句,培养基本的程序分析、编写和调试能力。
本单元教学结束时,可安排恰当的能力拓展题目课外练习,培养学生综合编程能力。
任务单元7——使用编译预处理命令
教学内容
1.宏定义*
2.头文件包含
3.条件编译**
学习目的
1.会使用#define命令定义无参数和有参数的宏
2.会使用#include命令包含头文件
3.理解并能够使用条件编译
重点难点
重点:
1.宏定义#define的使用;2.头文件包含命令#include的使用
难点:
有参数的宏定义的使用,及其与函数的比较
教学基本要求
本单元内容以学生自学为主,同时通过“师生双讲教学”加以巩固,培养学生独立工作能力、口头和书面表达能力、沟通能力。
任务单元8——使用数组处理批量数据
教学内容
1.定义和引用一维数组
2.定义和引用二维数组
3.定义和引用字符数组
4.字符串操作函数
学习目的
1.理解数组的含义
2.会定义一维数组、二维数组,会初始化和引用数组元素
3.会使用字符数组,并利用字符串处理函操作字符串
4.能够完成数组的输入、输出、排序、查找等基本操作
重点难点
重点:
1.数组的定义、初始化和引用;2.数组的基本操作
难点:
对于数组“维”的理解,以及数组基本操作中,循环变量与“维”的关系
教学基本要求
教学过程中通过案例讲解,关注学生对于数组及“维”的含义的理解,在此基础上通过“做中学,学中做”,让学生体会“维”与循环结构的密切关系,培养学生的抽象思维能力和编程能力。
本单元教学结束时,可安排恰当的能力拓展题目课外练习,培养学生综合编程能力。
任务单元9——使用函数实现模块化程序设计
教学内容
1.函数作用和分类
2.库函数的使用
3.自定义函数的使用
4.局部变量和全局变量**
5.变量的存储方式及生存期**
6.内部函数和外部函数**
学习目的
1.掌握库函数的使用方法
2.会使用自定义函数解决问题,包括自定义函数的声明、定义和调用
3.理解并恰当使用函数的嵌套调用和递归调用解决问题
4.理解变量的存储方式、生存期,会使用全局和局部变量
5.会使用内部函数和外部函数
重点难点
重点:
自定义函数的使用,包括定义、声明和调用
难点:
1.函数调用过程中参数的传递;2.对函数有无返回值的理解;3.函数的递归调用
教学基本要求
在本单元的教学中,通过任务驱动,使学生重点体会函数的作用和意义,在掌握函数使用方法的同时,培养学生在软件设计过程中分工合作的意识和能力。
本单元教学结束时,可安排恰当的能力拓展题目课外练习,培养学生综合编程能力。
任务单元10——利用指针访问内存数据或函数
教学内容
1.指针和指针变量
2.通过指针访问数组
3.通过指针引用字符串
4.通过指针访问函数**
5.返回指针值的函数**
6.指针数组和多重指针**
7.动态内存分配与访问**
学习目的
1.学会依据指向的数据或函数对象定义合适的指针
2.会使用所定义的指针变量访问相应的数据,如数组、字符串或函数
3.会定义和引用返回指针值的函数
4.理解多重指针的含义,会使用指向指针数据的指针
5.理解并掌握指针数组的使用
6.会建立内存的动态分配,并访问相应数据
重点难点
重点:
1.指针变量的定义;2.利用指针变量访问不同形式的内存数据和函数;3.指针数组和多重指针;4.建立内存的动态分配
难点:
1.对指针和变量地址关系的理解;2.建立指针变量和指向对象之间的关系并访问
教学基本要求
在授课前安排学生提前做好预习,理解指针与地址的关系,在讲授指针访问数据或函数的方法的同时,培养学生抽象思维和逻辑思维能力。
本单元教学结束时,可安排恰当的能力拓展题目课外练习,培养学生综合编程能力。
任务单元11——用户自己建立数据类型
教学内容
1.结构体类型的使用
2.共用体类型的使用*
3.枚举类型的使用**
4.用typedef声明新类型*
学习目的
1.能够根据实际问题建立及使用结构体类型
2.会使用结构指针,会用指针处理链表
3.了解共用体类型及其应用
4.了解枚举类型及其应用
5.会用typedef声明新的类型
重点难点
重点:
1.结构体类型的使用;2.用typedef声明新类型
难点:
1.根据实际问题抽象出结构类型;2.用指针处理静态链表和动态链表
教学基本要求
通过“二维表格”数据的描述过程引出结构体类型,在案例教学中让学生理解并掌握使用方法。
更重要的是在教学过程中让学生体会并懂得用户自己建立数据类型的现实意义。
本单元教学结束时,可安排恰当的能力拓展题目课外练习,培养学生综合编程能力。
任务单元12——位运算和位结构
教学内容
1.位运算和位运算符**
2.位段及位段结构体**
学习目的
1.掌握位运算符的运算规则
2.理解位段的含义,会使用位段结构体
重点难点
重点:
位运算符的使用
难点:
对位段含义的理解及位段的操作
教学基本要求
本单元内容以学生自学为主,可根据专业需要适当讲解,培养学生独立思考能力、获取新知识的能力。
任务单元13——对文件的输入和输出操作
教学内容
1.文件的基本知识
2.打开与关闭文件
3.顺序读写数据文件
4.随机读写数据文件*
5.文件读写的出错检测
学习目的
1.会定义文件指针
2.会使用fopen和fclose函数打开和关闭文件
3.会使用fgetc和fputc函数向文件读写字符
4.会使用fgets和fputs函数向文件读写字符串
5.会使用fscanf和fprintf函数用格式化的方式读写文件
6.会使用fread和fwrite函数用二进制方式向文件读写一组数据
7.会利用文件位置定位函数实现文件随机访问
8.会使用文件读写出错检测函数
重点难点
重点:
1.文件的打开与关闭;2.文件的读写操作
难点:
1.对文件指针的理解和使用;2.对文件读写操作函数格式的理解和描述
教学基本要求
通过“读书/写书”引出“文件指针”的概念,同时对比讲解文件操作的方法,使用任务驱动法结合案例讲解文件基本操作函数的使用。
课时分配表如下:
序号
任务单元
课时分配
理论课
综合实践课
(实验、习题、讨论)
小计
1
C语言程序设计宏观认识
2
2
2
算法的描述
2
2
4
3
数据的表现形式及运算
2
2
4
顺序结构程序设计
2
2
4
5
选择结构程序设计
1
3
4
6
循环结构程序设计
5
3
8
7
使用编译预处理命令
1
1
8
用数组处理批量数据
6
4
10
9
使用函数实现模块化程序设计
4
4
8
10
利用指针访问内存数据或函数
4
4
8
11
用户自己建立数据类型
3
3
6
12
位运算和位结构
1
1
13
对文件的输入和输出操作
2
4
6
合计
35
29
64
4.教学方法与手段
4.1教学方法
(1)任务驱动教学法:
通过简单的相对独立的典型任务学习,不断地提高学生成就感,激发学生的求知欲望,逐步形成一个感知心智活动的良性循环,从而培养独立探索、勇于开拓的创新能力。
在具体教学实施时,以“任务”为主线,以“案例”为载体,“教-学-做”有机结合。
(2)师生双讲教学法:
这一方法贯穿于整个课程教学过程中,根据课程内容适当采用。
针对某一任务或问题,通过探究式的学习,让学生讲述问题解决思路和解决方案,这样可以让学生在获取知识、技能的过程中,开发潜能,培养表达能力,收获快乐。
另外,在学生成果展示的时候,也可以采取这种方法,此时可以通过学生自评、互评和教师评价等方式互动交流,表达自己的感受和见解。
(3)小组讨论教学法:
根据实际情况将班级学生划分成若干个小组,其中1人为学习组长,座位固定在一个区域,课程学习过程中许多互动活动以小组形式展开,如教学案例程序展示、优秀实训作品展示等。
通过小组学习,培养小组各成员的责任感,以及与他人的合作、交流与协商能力。
(4)自主学习教学法:
在课程教学中,选取部分知识点让学生课外自学,通过课内展示加以巩固,培养学生独立学习能力和表达能力。
同时在教学过程中,安排恰当的能力拓展题目供学生课外研究,在培养学生自主学习能力的同时,提高综合编程能力。
4.2教学手段
课程教学采用现代化的教育技术及信息技术手段。
(1)采用现代多媒体手段教学。
在课堂教学中,充分运用多媒体技术手段,利用微型计算机、投影仪等多媒体教学设备进行教学,授课全部采用多媒体课件,同时结合课程CAI课件、视频动画、微课等手段。
(2)采用先进的网络教学手段教学。
在课堂教学中,利用网络教学软件平台组织教学,达到师生良好的互动沟通。
同时充分利用课程网络资源,满足学生课下学习的需要。
4.3考核标准
课程采用立体化、多维度考核体系,通过过程化考核、多元化考核与期中、期末考核相结合的方式,考核学生知识与技能目标、过程与方法目标、情感态度与价值目标的达成。
考核项及考核评分标准如下表所示。
考核目标
考核项目
考核标准
分值
总体比例
知识
(100分)
C语言程序设计宏观认识
主要考核各教学任务单元知识与技能目标,考核时注意体现点面结合,强调各知识点的综合应用能力,同时根据实际教学情况可以适当调整各部分考核项目的分值。
6
在期末考试试卷中体现(占学期总成绩50%)
数据的表现形式及运算
6
顺序结构程序设计
8
选择结构程序设计
12
循环结构程序设计
12
使用编译预处理命令
2
用数组处理批量数据
15
使用函数实现模块化程序设计
15
利用指针访问内存数据或函数
10
用户自己建立数据类型
6
位运算和位结构
2
对文件的输入和输出操作
6
能力
(100分)
作业完成情况
作业完成态度认真
20
作为过程考核结果之一,与各章能力考核分数统筹计算(占学期总成绩25%)
作业正确率高
30
实验任务书完成情况
实验任务书完成态度认真
20
实验题目正确率高
30
素质
(100分)
出勤
按时上课、不早退、不无故缺课
10
作为过程考核结果之一,与各章素质考核分数统筹计算(占学期总成绩25%)
课堂表现
着装得体、认真听课、积极与老师互动
10
平时作业
按时提交,撰写认真
10
习题课表现
准备充分、积极参与习题解答
10
实验课表现
注重团队合作,与同学合作完成较难的题目
10
积极进行作品展示
10
实验指导书撰写认真
10
讨论课表现
积极参与讨论
10
有创新意识
10
有良好的表达能力
10
考核实施过程中,教师可对课堂教学环节、课外拓展题目实施环节、自主学习成果展示环节表现非常优异的学生酌情给予奖励加分。
5.课程实施条件
5.1对任课教师的要求
(1)教师资格
具备高等院校教师系列讲师及以上任职资格。
(2)专业知识
1)掌握课程的知识结构
2)熟悉课程的知识体系
3)了解课程内容教学的进度
4)具备课程阶段教学的执行力和应变能力
(3)专业技能
1)具有使用课程知识的编程能力
2)具有软件项目开发、调试和测试经验
3)具有软件开发项目管理能力
(3)教学能力及素质
1)具有团结、协作、交流能力
2)具有项目开发负责人的领导能力
3)具有教师责任心
4)具备教师职业道德
5.2对教学条件要求
(1)具有可容纳两个班级的教室,并配备主流配置的计算机和多媒体演示设备
(2)具有可容纳两个班级的实验室,配备相应数量的主流配置计算机
(3)安装教学及实验所需软件
5.3教材的选用
(1)教材编选的原则
在教学大纲的统一要求下,教材分为授课教材和阅读辅助教材。
授课教材为主要教材,要求统一征订,尽量选用规划教材或公认水平较高的教材(含教育部推荐教材),其特点是简洁、清晰、准确及价格合理。
阅读辅助教材不要求统一征订,也不强制要求学生购买,学生可以根据教师的建议到图书馆借阅或自行决定是否购买。
教师可根据实际情况编制辅助教学资料。
(2)推荐教材及参考资料
推荐教材:
《C语言程序设计》第二版主编:
马晓晨衡军山中国水利水电出版社2012年9月出版
《C语言程序设计综合实训教材》主编:
王贺艳中国水利水电出版社2012年9月出版
参考教材:
《C语言程序设计》第四版主编:
谭浩强清华大学出版社2012年9月出版
《C语言程序设计》第三版主编:
廖雷高等教育出版社2009年6月出版
《C语言程序设计》主编:
马秋菊中国宇航出版社2008年8月出版
《C程序设计试题汇编》第三版主编:
谭浩强清华大学出版社2012年12月出版
5.4课程网站和信息化教学资源
(1)《C语言程序设计》精品课程网站
(2)IT技术社区:
6. 其他说明
1.教师制订授课计划前应认真了解授课对象情况,以学情和人才培养计划为依据,针对不同的学生对象适当整合教学内容,选取恰当的教、学策略,制定合适的授课计划。
2.教师要明确课程所要达到的知识与技能目标、过程与方法目标、情感态度与价值目标,在授课过程中合理使用教学方法和手段,树立正确的质量标准,贯彻因材施教的教学原则,帮助学生培养正确的学习态度,养成良好的学习习惯,与学生一起合作促进教学目标的达成。
3.教学团队应根据实际教学情况编制适宜学情的教学材料或学习资料。
4.对于自主招生学生,建议采用小班授课。