《C程序设计》课程说课稿.docx
- 文档编号:15730728
- 上传时间:2023-07-07
- 格式:DOCX
- 页数:13
- 大小:22.68KB
《C程序设计》课程说课稿.docx
《《C程序设计》课程说课稿.docx》由会员分享,可在线阅读,更多相关《《C程序设计》课程说课稿.docx(13页珍藏版)》请在冰点文库上搜索。
《C程序设计》课程说课稿
目录
一、课程性质与地位1
二、课程体系1
三、重点、难点及突破方法3
四、教学对象分析3
五、教学目标3
六、教法与学法4
七、考核评分5
八、教学过程6
九、教学反思11
《C程序设计》课程说课稿
一、课程性质与地位
1.性质:
●C语言是计算机类的专业基础课;
●C语言电子信息类各专业的职业素质必修课;
●C语言是多个专业中多门课程的前导课。
●C语言是信息产业部计算机专业和软件专业水平资格考试(程序员级别)中要求的主要程序设计语言。
●计算机控制、单片机应用、数控技术、电子技术等相关行业中以C语言作为应用系统开发设计语言。
2.地位:
●C语言是计算机专业基础课程,是学习程序设计的入门语言。
●C语言是通信技术、电器工程、电子信息工程技术等电子信息类专业公共平台课程。
●按层次结构,C语言处于最低层,是多个专业中多门课程的前导课。
C语言为后续课程的学习奠定语法基础,在专业培养目标中占有重要的基础地位。
二、课程体系
《C程序设计》教学学时为60,理论与实践1:
1的原则,按照程序设计能力,通过项目“学生成绩管理系统”为主线展开教学。
然后通过1周的课程设计,完成项目“学生成绩管理系统”综合设计题目,进一步提高程序设计能力。
1.理论教学内容:
●理论内容以“够用为度”的原则,主要包括C基本概念、三种基本程序设计结构、数组、指针、函数、结构体和文件。
2.实践教学内容
●根据知识点和技能培养要求,选择有利于理解知识点和针对技能性强的实验项目,或从现场实际案例中选取实验项目,通过实验锻炼学生的实际程序设计能力。
针对每个知识点设计的实验项目如表1所示。
表1实验项目
序号
实训项目
S1
C语言编程环境的使用、创建并调试运行简单的数学计算程序
S2
算法设计——计算圆的周长面积
S3
数据类型、运算符、表达式及输入与输出操作——简单的计算器、交通信号灯
S4
选择结构——成绩查询与分析
S5
循环结构——乘法表、数字电子钟
S6
一维数组——成绩排序与查询
S7
二维数组——计算题、矩阵运算
S8
字符数组与字符串——字符分类
S9
函数——验证哥德巴赫猜想
S10
指针——设计成绩排序和查询
S11
结构体——成绩分析
S12
文件——文件的复制、学生成绩数据的保存
S13
学生成绩管理系统
3.课程设计环节
●学生以组为单位(2~3人),参考学生专业及现场实际项目自己选题。
●学生围绕要解决的问题,进行分析和研究,查阅、自学相关的文献资料,确定技术路线和实施方案,组内分工,合作完成,最后分组答辩评分。
●整个过程以学生独立完成为主,教师只提供必要的辅导。
●经过综合训练中模拟实际软件开发的演练,使学生得到了锻炼,进一步激发了学习兴趣,培养了问题求解和编程能力,还有利于培养探索和创新能力。
●参考设计题目:
成绩管理系统、工控程序设计、通讯录管理。
4.课程内容选取依据
●C语言编程规范:
根据C语言编程规范等资料,我们选取的内容是C语言教学中必须掌握的内容。
另外还根据C语言程序设计和后继课程之间的关系、C语言知识与技能要求及人才培养目标要求来确定本课程的教学内容。
●职业素质要求:
老师参与企业项目开发,将掌握的程序设计最新知识和要求,将融入教学。
●实际工作中岗位能力需求:
程序设计思维和源代码编写能力是关键技能,而C语言作为专业核心课程中的基础课程,必须掌握结构化程序设计思路。
三、重点、难点及突破方法
1.重点:
●六个重点模块:
程序设计基础知识;顺序结构程序设计;选择结构程序设计;循环结构程序设计;函数;结构体。
●重点内容:
流程图的画法;变量的理解;表达式的正确书写;数据的输入/输出;if语句选择程序设计;while与for循环程序设计;函数的定义与参数传递;结构体的定义与引用。
2.难点:
●六个难点模块:
选择结构程序设计;循环结构程序设计;数组;函数;指针;结构体。
●难点内容:
if语句的嵌套;多重循环程序设计;二维数组与字符串;指针;函数的嵌套调用与递归调用;链表。
3.突破方法:
教学过程中,运用任务驱动、项目案例教学,以一个项目为主线,以解决任务为目标,知识点的应用方法作为突破口,使学生能够直观的理解重点难点内容。
通过实践演练使学生体会到知识的实用性,提高学习兴趣。
课堂中随时提问及时了解学生的掌握情况,适时归纳总结。
课后设置针对性的训练内容和题目强化巩固。
对于复杂的过程充分利用现代教育技术手段以动画演示。
四、教学对象分析
学生先期学习了计算机文化基础知识,但是接触到程序设计的知识较少,可以说程序设计能力几乎为零。
五、教学目标
1.知识目标:
●掌握程序的基本结构;
●掌握数组和函数的运用;
●掌握指针和位运算的基本操作。
2.能力目标:
●掌握C语言的语法;
●会编写简单的程序;
●具有良好的编程思路和风格。
3.素质目标:
●让学生在自主、和谐的氛围中感受编程的乐趣;
●激发学习编程的兴趣;
●培养学生团队合作精神。
六、教法与学法
1.教法:
在教学过程中以工学结合为切入点,根据课程内容和工作过程,结合学生特点,教学过程中采用情境导入法、案例导入法、任务驱动法、讨论式教学法、对比教学法、演示讲解法、讲练结合等方法,把工作项目开发过程的工作环节及任务穿插于各个知识点的学习中,教学过程变成教师带领学生在计算机上完成实际任务,让学生在完成任务的过程中掌握新的知识。
在实践教学环节中,开发新的实验项目,突出综合运用,体现了理论学习与实践教学相结合,课堂学习与课外活动相结合,收到较好效果。
●情境导入法:
老师创设各种情境激发学生的学习兴趣。
●案例导入法:
结合教材内容,根据实际需求精选案例通过案例导入知识点,揭示知识点和实际问题之间的关系,加深学生对知识点的印象。
●任务驱动法:
采用项目引导与任务驱动相结合的教学方法,提出明确任务,以该任务为目标,把教学内容设计在一个个实际任务中。
教师通过“任务”启发学生思考相关问题的解决方法,在引导学生实现任务的过程中注意突出重点,分解难点。
●讨论式教学法:
分组讨论经典案例,先提出问题,探讨各种解法,加深认识。
从而启发学生思考问题、分析问题的能力,加强实践动手的能力,培养团队合作精神。
教学与项目开发融为一体,浅显易懂,符合学生认知规律。
●对比教学法:
对新旧知识点作对比,比如讲循环控制语句时,将for循环与while循环、do-while循环作类比,让学生观察演示执行的过程和执行的结构有何不同,启发学生思考问题的能力。
●演示讲解法:
充分利用现代教育技术手段,对重点及难点进行动画演示,使学生得到更加直观的感受。
2.学法:
在指导学生的学习方法和培养学生的学习能力方面主要采取以下方法:
●引导鼓励学生观察、探究,讨论和合作交流,使学生形成有效的学习策略。
●讨论解题的多样性,引导学生选择合适策略,丰富思维方式,获得成功的体验和多元的发展。
●加强上机实践,教师事先准备相关资料给学生,帮助学生学习和理解,加强教师现场指导。
通过实践环节进一步提高学生解决实际问题的能力。
●组织学生进行课外实训,在实训过程中不断开发新的项目,扩大学生知识应用面,增加学生应用能力,培养了学生逻辑思维能力。
●课堂学习的同时,鼓励学生充分利用网络资源,进行网络学习。
为学生推荐了学习网站。
七、考核评分
1.考试形式:
可以采用笔试、口试、做设计、写论文、实际操作以及开卷、闭卷等多种方式。
2.考题类型:
题型多样化,题目灵活化。
多出一些综合思考题、分析题、应用题,学生解题时能对知识的深层理解、分析、比较、融会贯通。
3.平时成绩:
平时成绩主要包括出勤率,课堂提问,作业。
加大平时考试所占总成绩比例,对有独立见解或创新的学生加鼓励分,奖励有主见、有独立思维能力的学生。
4.考试改革:
●上机操作考试:
每一份考卷现场抽题,现场操作,教师根据学生操作过程及结果评分,这种方式可以考察学生理论基础和应用知识的能力,促进学生的学习和实际动手能力。
●编程测试:
在规定的时间内编写一个简单实用的完整程序,并上机调试通过。
教师根据学生编程能力、代码质量、出错情况和程序调试能力等给出一个综合成绩。
●开卷考试:
理论联系实际的开放性试题能考察学生应用所学知识分析问题的能力。
●教考分离:
一个学期有两个班以上同一门课程的考试,可以采用统考的方式。
●理论和实践两部分综合考试:
考试内容需把握课程大纲基本要求,体现课程主要知识点和能力要求。
不考死记硬背的内容知识,而是考核学生运用这些知识的能力和实际的技能。
6.成绩评定:
●试卷的评阅:
任课教师二人以上者,应采取流水阅卷的方式。
在试卷评阅和考核中发现学生有创新之处应予以鼓励,可适当加分,但加分的依据必须充分,并应记载。
●课程考核的成绩:
一般由平时成绩10%、实验成绩20%和期末考试70%三部分组成,两者的比重一般仍按系的有关规定执行。
八、教学过程
本节内容属于数组章节中的第二讲内容,是在第一讲“一维数组的定义和使用”的基础上完成“学生成绩的排序”来学习冒泡排序和选择排序。
1.教学目标:
●知识目标和能力目标:
进一步掌握数组的概念和使用方法;掌握两种排序算法;学会使用一维数组解决实际问题。
●过程与方法目标:
情景模拟;自主学习和探究;实战演练。
●素质目标:
让学生在自主、和谐的氛围中感受编程的乐趣;激发学习编程的兴趣;培养团队合作精神。
2.教学重点、难点:
●重点:
冒泡法和选择排序法;
●难点:
两种排序的算法思想。
3.教法、学法:
●教法:
通过任务驱动法、案例教学法、情境创设法、演示讲解法、讨论教学法、讲练结合等多种教学方法,把学习的主动权交给学生,体现以学生为主体,教师为主导的新课程理念,积极开展师生互动模式。
●学法:
通过案例导入、任务驱动,让学生带着任务通过课堂讨论,相互合作交流、实践操作的方式、合作探究、自主学习,使学生在完成任务的过程中达到自我知识体系的构建,实现知识的理解、掌握、和综合运用。
4.授课过程:
下面我的对本节课程的教学进行具体阐述:
(1)创设情境,任务驱动(2分钟)
首先创设情境,本学期期末老师要上报《C程序设计》课程的学生成绩,请帮老师设计一个班的C语言成绩管理系统。
系统能够进行成绩录入,能按学生成绩排序。
提出任务,该任务是帮老师设计一个班级的C语言成绩管理系统,系统中要具备成绩录入和成绩排序的功能。
(2)分解任务,组织讨论(2分钟)
由此项目展开,组织学生进行分析讨论,对任务中的系统功能进行分析,首先是成绩录入功能。
通过提问让学生回顾上一节课中学生成绩的录入如何完成,以此复习数组的概念,一维数组的定义和使用等知识。
由上次课的任务延伸出一个新的任务,我认为是比较贴近学生实际的,可以将学生很自然的带领到本课程的学习环境中。
接下来分析讨论成绩排序的功能。
(3)启发引导,发现解法(6分钟)
本环节以教师引导,学生自主探究为主,结合小组协作的方式来完成。
使用5分钟的时间鼓励学生进行自由讨论,并畅所欲言,相互补充,教师在巡视的过程中适时点拨,发现闪光点展示给同学们。
教学中积极开展并探索师生互动的教学模式。
请同学对发现的解法进行总结。
由教师进行集中点评。
首先对解法1——冒泡排序进行具体讲解。
(4)演示冒泡排序动画(10分钟)
为了更形象的展示排序的过程,利用Flash动画对冒泡排序的过程进行动画演示。
假定该班级只有5名同学,这是5为同学的成绩,现在要对其进行从小到大升序排列。
在演示前告诉学生,注意观察冒泡排序的特点,为讲解算法作准备。
首先演示前两趟的排序过程,然后让学生推理,对剩余的3个数需要比较几趟,才能使5个数按升序排列。
学生可以轻松的回答:
对3个数再需要2趟比较即可使5个数升序排列。
之后再演示出剩余两趟的排序过程,验证同学们的答案。
在演示的过程中让学生观察冒泡排序的特点,为讲解算法作准备。
提问:
1这5个数总共比较了几趟?
回答:
4趟。
2第i趟中两个数的比较进行了几次?
回答:
5-i次(i=1,2,3,4)
3若有N个数要进行排序,需要比较几趟?
第i趟中两个数的比较需要进行几次?
回答:
N-1趟,N-i次(i=1,2,……,N)。
让学生总结,冒泡排序的关键,教师进行完善补充。
(5)讲解冒泡排序的算法(5分钟)
首先提问:
算法中需要几个循环。
同学们经过之前对动画的观察和分析,回答:
需要两个循环:
一个循环控制趟数,一个控制每趟中的比较次数。
根据对动画的分析与总结,教师与同学们共同描述算法或完成流程图。
(6)讲解冒泡算法的实现(10分钟)
根据算法或流程图,教师与同学们共同编写完成冒泡法的实现。
然后使用Flash动画演示程序的执行,分析排序算法中的两个for循环的作用以及关系。
提问:
若将进行降序排序,程序应如何修改?
(7)归纳总结(3分钟)
由学生总结归纳出冒泡排序的基本原理,教师进行点评和完善补充,同时给出冒泡排序法的命名由来。
之后对解法2——选择排序进行分析讲解。
(8)演示选择法排序动画(10分钟)
动画演示对上述任务用选择排序法排序的过程。
同样,首先演示前两趟的排序过程,然后让学生推理,对剩余的3个数需要比较几趟,才能使5个数按升序排列。
学生可以轻松的回答:
对3个数再需要2趟比较即可使5个数升序排列。
之后再演示出剩余两趟的排序过程,验证同学们的答案。
演示完毕后,让学生总结,选择排序的关键,教师进行完善补充。
提问:
1这5个数总共比较了几趟?
回答:
4趟。
2第i趟中两个数的比较进行了几次?
回答:
5-i次(i=1,2,3,4)
3若有N个数要进行排序,需要比较几趟?
第i趟中两个数的比较需要进行几次?
回答:
N-1趟,N-i次(i=1,2,……,N)。
(9)讲解选择法排序的算法(5分钟)
提问:
算法中需要几个循环。
同学们经过之前对动画的观察和分析,回答:
需要两个循环:
一个循环控制趟数,一个控制每趟中的比较次数。
根据对动画的观察分析,教师与同学们共同描述算法或流程图。
(10)即时训练(9分钟)
根据算法或流程图,由同学们独立完成选择排序法的实现,加深对知识的理解;单步运行观察程序的执行过程。
提问:
排序算法中的两个for循环的作用以及关系。
(11)归纳总结(3分钟)
由学生总结归纳选择排序的基本原理,教师进行点评,完善补充。
(12)对比两种排序方法(5分钟)
引导学生思考两种排序算法,对其进行比较,总结二者的核心及异同点。
Ø核心:
1冒泡法排序的核心是相邻两数比较,不满足条件即刻交换位置。
2选择法排序的核心是找到最大值或最小值与第一个数进行交换。
Ø相同点:
1二者在每趟中都进行两数的比较,都有位置的交换;
2在每趟结束时一个数有序。
Ø不同点:
1冒泡法始终比较的是相邻两个数,选择法比较的是当前最小数与剩余数;
2冒泡法在每次比较后不满足条件立即交换位置,选择法只在每趟比较结束后把最小数与第一个数进行交换;
(13)总结反思(5分钟)
请学生谈谈今天课程的感受和收获。
老师帮助学生梳理知识,归纳总结所学的新知识,指出应掌握的重点及在程序设计时应注意的问题。
此时,学生可以根据教师对知识的总结反思自己掌握新知识的程度。
(14)上机实践(25分钟)
●设计并完成一个教师工资管理系统,系统功能包括:
工资录入、工资查询、工资排序。
●完成案例2——如何用数组计算和输出Fibonacci数列的前15个数。
该案例由学生自主讨论探究数列的规律,分析找到通用表达式。
此任务提升了学生的数学思维能力,在发现问题和解决问题的过程中,使知识、技能和创造性思维得到同步发展。
5.教学效果:
●通过多种组合教学方法的应用,充分调动了学生的积极性,使学生在情境中主动、积极地接受任务,激发了学生学习兴趣,为课程奠定轻松愉悦的教学氛围。
●以知识点的应用作为突破点,让学生一起参与分析问题、解决问题的活动中来,学生自己探究出基本重点内容,理解将更加深刻。
同时,使学生逐渐提高学生独自分析问题、解决问题的能力,养成一种积极面对问题、积极探索解决问题的良好习惯。
●通过动画演示将抽象、枯燥、难于理解的知识点融于实例当中去讲解,使学生易于理解和接受。
●以学生最熟知的例子上机实践,不但使学生情绪饱满,而且将学到的知识用于实际操作中,有利于对新知识的理解、掌握和熟能生巧。
本堂课圆满完成了所设定的教学目标,同时为后面的教学打下铺垫。
九、教学反思
C语言从1972年出现以来,凭借自身特点被人们重视,发展、完善至今,已成为多个专业的基础课程,必修课程。
我相信它将继续保持旺盛的生命力,在高校的教育中占有一席之地。
如何让学生了解、喜爱从而熟练的掌握C语言仍然是高校计算机教师需要研究和探讨的问题,为此我将继续努力。
我的说课到此结束,有不足之处欢迎各位专家评委、各位老师批评指正。
谢谢!
2011年5月
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C程序设计 程序设计 课程 说课稿