APP下载

基于案例教学法的C语言教学设计

2016-06-17杨阳

计算机时代 2016年6期
关键词:C语言案例教学法教学设计

杨阳

摘 要: 针对公安院校学生主体的特殊性,结合高级语言程序设计课程,提出案例教学法。分析了案例教学法的特点,以选择结构为例,运用案例教学法分析教学设计过程。教学设计注重培养学生的学习兴趣,提高学生理论联系实际的能力。

关键词: 案例教学法; C语言; 教学设计; 选择结构

中图分类号:G642 文献标志码:A 文章编号:1006-8228(2016)06-104-03

Abstract: In view of the particularity of police colleges students' learning, combined with high-level language programming courses, the case teaching method is put forward. Analyzed the characteristics of the case teaching method,taking "selection structure" as an example, the teaching design process is analyzed by using the case teaching method. The teaching design focuses on the cultivation of students' learning interest and the improvement of students' ability of integrating theory with practice.

Key words: case teaching; C language; teaching design; selection structure

0 引言

高级语言程序设计是我院网络安全与执法专业的核心基础必修课程,是网络安全执法课程体系的基石,也是培养学生的计算思维和程序设计能力的起点[1]。该课程不仅直接影响后续数据结构、电子取证、信息安全等专业课程的学习,而且对构建专业认同感和融合度有着重要意义。由于我院是公安院校,教学工作不同于普通高等院校,学院日常采用警务化管理,文武兼修,所以在高级语言程序设计教学中有一定的特殊性,主要表现在以下方面。

⑴ 课程总学时少。相较于普通高等院校计算机专业,我院高级语言程序设计总学时偏少,且实验学时占比不大,学生普遍缺乏动手实践能力。

⑵ 课余时间碎片化。公安院校学生课下警务活动较多,学生课余时间有限,学习缺乏连续性。专业知识学习依赖课堂和教师,学习形式比较单一,遇见问题往往“雾里看花”,无法将实际问题转化成程序语言,编程思维能力不足。

⑶ 教学模式传统。传统的教学模式是以语法为主线,以例题讲解为辅助手段,概念性知识较多,会加重学生学习疲劳感,学生学习兴趣不高,教学效果不理想。

针对以上情况,本文提出案例教学法作为新的教学方法,通过案例进行课堂教学,希望能够调动学生学习的主动性和积极性,培养学生的创新能力和理论联系实际的能力。

1 案例教学法

20世纪初,哈佛大学创造了案例教学法。即围绕一定的训练目的把实际中真实的情景加以典型化处理,形成供学员思考、分析和决断的案例,通过独立研究和相互讨论的方式,来提高学员分析问题和解决问题的能力的一种方法。这种教学方法在当今世界的教育和培训中得到了广泛的应用[2]。在高级语言程序设计教学中,教师根据教学任务和教学目标,运用案例材料,组织引导学生参与其中对案例进行分析和思考,激发学生学习兴趣,从而提高学生实际动手能力和探究、创新能力[3]。引入案例教学法,可以让学生投入案例,积极思考,将一个个孤立的知识点串联起来,以小见大,构建完整的知识体系,提高程序设计思维能力。本文选择谭浩强的《C程序设计》(第四版)中的第4章“选择结构程序设计”为教学内容来探讨基于案例教学法的教学设计过程。

2 教学目标

2.1 知识目标

了解6种关系运算符以及其优先次序、3种逻辑运算符以及其优先次序、条件运算符;掌握关系表达式、逻辑表达式的概念及其运算规则;了解if语句的3种形式、if语句的嵌套形式和switch语句形式。

2.2 技能目标

会灵活应用if语句进行条件语句的判断并通过编译工具编写程序,在VC环境中进行编译,查找错误然后解决。

2.3 情感目标

激发学生对编程的兴趣,形成编程设计思维;善于与其他学习者、老师沟通交流形成共识;培养独立思考、分析程序的能力。

3 教学设计及教学过程

本次课程以案例法引入,通过猜数字游戏聚焦学生的注意力,调动课堂气氛,然后激发学生的求知欲[4],引导学生解析猜数字游戏背后的代码,通过分析代码,提出问题,在解决问题中讲授新知识新概念,最后总结知识、对照案例,巩固加深。教学过程主要以集体教学为主,分为案例引入、案例分析与讨论、案例总结三个部分。

3.1 案例引入

案例法教学难点之一就是如何选择案例。教师需深入研读教材,根据教学对象和教学内容知识点分布,合理选择代表性案例,并对案例进行评估,预估学生在分析案例中遇到的问题和反应,从而拟定相应的教学方案。针对公安院校学生主体和选择结构的知识要点,选择猜数字作为本次教学的案例。

本次课中,以猜数字游戏开场,首先介绍游戏规则,号召学生积极参与,选取2-3名同学猜数字,其他同学可出谋划策,以此调动全体学生积极性。

3.2 案例分析与讨论

什么是选择结构:游戏结束之后,控制课堂气氛,引导学生探索游戏背后的知识,结合顺序结构的知识抛出问题。如:这段游戏代码主要是什么结构?否定顺序结构后,从头到尾分析游戏的步骤,根据流程图的知识,让学生画出猜数字程序的简单流程图。通过对流程图的讲解自然引出选择结构的概念,形成对选择结构的初步认识。让学生列举出日常生活中选择的例子,一一点评,每一个选择的例子都涉及到条件的判断,所以说选择结构的关键点就是条件判断。

if 语句:根据选择结构的学习,判断猜数字游戏输入数字提示信息是否属于选择结构?我们把猜数字游戏的输入数字提示信息转化为具体的问题:如果输入的数字比谜底大,那么输出提示信息,请输入一个小一些的数字,如果输入的数字比谜底小,那么输出提示信息,请输入一个大一些的数字。展开小组讨论,得出输入数字提示信息是选择结构后,写出输入数字提示信息的伪代码。然后分析猜数字程序代码,根据程序中的注释语句和伪代码,可找到对应的输入数字提示信息的代码,代码如下:

演示PPT,对照输入数字提示信息的执行流程,呈现3种if语句的形式及其执行流程图。在黑板上,板书并讲解if语句使用的注意事项。如else子句是可选的,使用时须与if语句配对使用。要求学生在VC环境中编写输入数字提示信息的小程序,并进行编译和调试,出现错误时可讨论修改,老师予以点评。将学生分成小组,3人一组,探讨猜数字程序中选择结构的语句,可参考PPT和书本,每组选出一个代表,讲解找到的程序结构语句。老师再次讲解点评,并通过VC执行结果,让同学参与其中,深刻领会if语句的用法以及选择结构的内涵。

关系运算符和关系表达式:if语句中的表达式可以是关系表达式也可以是逻辑表达式。其中最直观、最容易理解的就是关系表达式。关系表达式又是由关系运算符构成的。要求学生查找猜数字程序里的关系运算符和关系表达式,小组内部讨论。演示PPT,呈现关系运算的概念、6种关系运算符(<、<=、>、>=、==、!=)、图示法归纳6种关系算符的优先次序规律,帮助学生理解记忆。

逻辑运算符和逻辑表达式:分析猜数字程序里的语句“c=='n'||c=='N'”,通过注释语句和程序运行流程分析这一语句的含义;引出逻辑运算符和逻辑表达式的含义。演示PPT,呈现3种逻辑运算符(&&、||、!)、逻辑运算的真值表、以图示法归纳3种逻辑运算符的优先次序规律。结合猜数字程序中的对再来一局的判断方法来讲解逻辑表达式的规则。由于关系运算符和关系表达式已经讲过,所以逻辑运算符和逻辑表达式可采用小组讨论总结,提高学生自学能力。

扩展:进一步思考if语句中的表达式除了关系表达式和逻辑表达式,还可以有什么?数值或者数值表达式可不可以?小组可以讨论,带着问题在VC环境验证自己的猜想。随机抽取学生进行总结发言,最后教师补充。通过对if语句的表达式深入学习,加深对if语句的理解,对两种表达式的知识起到复习巩固的作用。

switch语句:switch语句是多分支选择语句。学生在掌握if语句的基础上可自学。演示PPT,呈现switch语句的一般形式。老师布置任务:用switch语句改写猜数字程序中的结果等级评价语句。小组讨论并上机操作执行,得到结果,最后每组选出一个代表,先讲解编程的思路,接着使用VC工具演示程序的执行过程和结果,最后教师给予评价,教师对表现最佳的小组给予鼓励和表扬。

3.3 案例总结

回顾本次课的内容,总结重点和难点。重新复盘猜数字程序流程,展示猜数字程序流程图,讲解程序。这样培养学生阅读程序的能力,同时加深学生对程序结构的认识。对有疑问的学生答疑,增加互动交流。布置课后作业,以小组为单位(3人一组),提交猜数字程序实验报告。

4 结束语

程序设计类课程传统教学方式是以教师和教材为中心,从书本到书本,从概念到概念,忽视了对学生学习潜能的开发,导致学生理论与实践的脱节。本文针对学习对象的特点,改革传统的教学观念,提出了案例教学法,并以选择结构程序设计为例,阐述了该方法在教学过程中的应用。案例教学法是以案例为主线,以知识点为支线,注重引导学生通过案例分析与讨论解决实际问题,理清课程知识体系。案例教学法的运用有利于学生程序思维的建立,有利于学生程序设计能力的提高,同时对促进教学改革和加强素质教育有着积极的意义。

案例教学法的实施过程中仍有一些问题值得注意,比如案例的选择、理论知识点教授与案例分析的有机融合及协调[5]、课时安排等,这就要求教师能够很好地处理这些问题,以保证在采用案例教学时取得最佳的教学效果。

参考文献(References):

[1] 牟琴,谭良,周雄峻.基于计算思维的任务驱动式教学模式的

研究[J].现代教育技术,2011.21(6):44-49

[2] 苗冬霞.浅析“C语言程序设计”课程的案例教学[J].武汉工程

职业技术学院学报,2006.18(2):90-92

[3] 肖明.案例教学法在“C++语言程序设计”教学中的应用[J].

计算机教育,2010.6:83-86

[4] 于启红.案例教学法在编程语言课程中的作用探讨[J].计算

机时代,2014.11:62-64

[5] 张润莲,张向利,叶进.案例教学法及其运用[J].桂林电子工业

学院学报,2004.24(4):102-105

猜你喜欢

C语言案例教学法教学设计
基于Visual Studio Code的C语言程序设计实践教学探索
基于C语言的计算机软件编程
高职高专院校C语言程序设计教学改革探索
案例教学法在高等职业院校口腔内科学教学中的应用效果
案例教学法在高职经济数学教学中的应用
案例教学法在技校企业会计课教学中的运用策略探讨
高中数学一元二次含参不等式的解法探讨
“仿真物理实验室” 在微课制作中的应用
翻转课堂在高职公共英语教学中的应用现状分析及改善建议
房地产项目策划课程案例教学探索与实施