APP下载

基于C语言的一维数组应用的教学设计

2018-01-04王颖胡清

电脑知识与技术 2018年29期
关键词:C语言程序设计教学设计

王颖 胡清

摘要:通过《C语言程学设计》这门课程的学习,使学生掌握正确的编程思想和方法,提高程序设计能力和计算思维能力。为了让学生更好地掌握一维数组的应用这一教学内容,采用投票统计器这一案例式教学模式,增强学生的学习兴趣,提升教学效果。

关键词:C语言程序设计;一维数组;教学设计

中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2018)29-0073-02

数组是具有相同类型的一组数据的集合。一维数组实质上是一组相同类型数据的线性集合,当在程序中需要处理一组数据,或者传递一组数据时,可以用这种类型的数据。关于此知识点的掌握,牵涉到一维数组的定义、初始化以及对数组中各元素的引用方法等内容。为了更好地掌握这些学习目标,笔者充分落实教学标准,对接职业标准,整合教学资源,设计了投票统计器这一教学案例来作为一维数组知识点的典型应用。

1 教学设计

本节课选自计算机科学与技术、电子信息工程等专业核心课程《C语言程序设计》。授课对象为大一学生。他们都是手机控、信息达人、对信息化设备资源应用熟练、兴趣强烈、动手操作能力强、但不喜欢被动说教,学习过《计算机应用基础》这门课程,熟悉计算机的存储方式和运算方式,但缺乏编程所需的计算思维能力。

根据学情分析和教学内容,确定了知识、技能和情感目标。知识目标为掌握一维数组的定义、初始化以及对数组中各元素的引用;技能目标为能够使用for循环访问一维数组的各个元素以及用一维数组解决实际问题;情感目标为培养学生团队合作精神、提升学生的计算思维能力以及激发学生学习的主动性、趣味性。其中,一维数组的定义、初始化和元素的引用是教学重点,利用一维数组设计程序解决实际问题是教学难点。

针对教学重点,在课前导学阶段,通过学习通网络平台建立课程和班级,使用线上推送的方式发给学生教学资源和提前预习资料,并发布通知明确课堂教学中的小老师环节要讲解的三个知识点,分别是一维数组的定义、初始化和元素的引用。在课程教学阶段,通过学生主动讲解或点名的方式引导学生上台充当小老师,对三个知识点一一进行讲解,使同学们充分理解一维数组的定义赋值和初始化。针对利用一维数组解决实际问题的教学难点,通过三个候选人,十个投票人的微动画投票过程的演示来理解投票的整个流程,弄清楚案例设计的需求分析;通过分小组讨论的方式,使用文字描述分解算法步骤,并且通过流程图的画法形象直观的展示程序的可行性;在实际编程阶段,采用分层次教学方法,按学生需要推送微课视频。

综上所述,为了突出重点,突破难点,本课程采取了案例式教学方法,以常用的学习工作场景作为教学载体,引导学生通过编程实现小型的投票统计器功能。采用线上的教学资源和线下的讲授、实战、讨论相结合的混合式教学模式。学生在网络学习平台上轻松地获取学习资源,提交预习作业;在实体课堂上,愉快的师生互动,领会一维数组的知识点;在微信学习群里分享更多的线上学习资源,探讨拓展习题,为分层式教学提供保障。

2 教学实施

教学资源丰富多彩,教学设计绚烂夺目,但教学实施才是关键。以时间的先后作为主线,教学实施分为课前导学(知识预演)、课堂教学(学生主体)、课后拓学(能力提升)三大方面。

在课前导学阶段,教师通过学习通App发布导学内容,提供课堂学习所需知识,学习方法以及相关微课视频和资料链接。并下达任务单,明确课堂教学中的小老师环节所需讲解内容。学生使用手机进入网络学习平台,自主学习,完成预习测试内容,提交预习反馈。教师运用网络平台的采集分析数据的功能,直观反馈预习情况,及时了解预习效果,为适度调整教学内容提供科学有效的数据支撑。

基于学情分析和人才培养需要,我们的课堂教学解构为四方面内容,分别是识(案例描述)、析(算法分析)、储(知识储备)、编(编程实现)。下面一一阐述。

在课堂教学中“识”这一环节,首先教师组织学生在教学平台上完成签到,对上次课程内容进行简要复习并对提交的作业作出点评。然后抛给学生问题,请同学们描述生活中的投票场景,分组讨论并列出投票基本要素后,教师用一个形象的小动画做出总结,通过三个候选人和十个投票人直观的投票过程,充分理解投票过程中需要解决的问题,引出解决问题的具体过程。

在课堂教学中“析”这一环节,学生自主分组讨论,通过文字描述的方式解构出投票统计器的具体实现过程,并请小组长上台讲解本组思路,通过四个小组的依次分享,教师引导学生列出最佳方案,然后学生通过流程图的绘制明晰算法过程。

在课堂教学中“储”这一环节,为了完成算法分析中的各个环节,我们需要一一对应解决方案。教师引导学生第一个问题,如何存放三个变量和十个变量?引出同类型变量的集合--数组的概念。揭示课前导学的预习环节中提到的有关数组的三个知识点,一维数组的定义、初始化以及对数组中元素的引用方法。通过随机数程序(或者教学平台上的教师点名的方法)挑选小老师。上台依次讲解自己对三个小知识点的理解。再次通过升级版的小动画,理解一维数组中元素的使用方法

在课堂教学中“編”这一环节,讨论过投票过程,观看了动画演示,学生理清了解决问题的思路;通过小老师讲解,解决知识点的应用问题。最后进入编程实现环节。学生自主编码,教师观察学生知识点的应用情况,适当留出机动时间,给需要辅导的同学推送程序编码过程的微课视频。在编码完成阶段,引导学生提出以下疑点:如果两个候选人的票数相同,怎么输出胜利者?如果投票人超过10,怎么处理?如果候选人很多,还能用普通的整形变量表示吗?如果不仅仅想要输出胜利者,想要一个按票数排序的名单,怎么处理?在课程结束后,开展自评他评的教学反馈工作。

在课后导学阶段,根据学生编码后提出的疑点问题,布置难度依次递进的分层次作业,并通过微信群推送相关慕课微课内容,推送拓展题目,引出按照票数进行排序的问题,引导学生为下一个案例,校园十大歌手按照得分排序的程序做好准备。

3 特色创新

本次教学设计,有以下特色创新:

1) 以生为本:教学条件和资源服务于学生。

利用现代化教室、教学平台、引导学生通过手机、平板、电脑,自主探究和亲身实践,在轻松气氛中掌握知识,调动参与的积极性。

2) 虚实结合:重视计算思维的培养

采用微动画导入情景模式,引导学生通过人脑的思维方式理解计算机解决问题的思路,激发探究能力,为理解计算思维打下基础。

3) 素质提升:注重情感目标的培养。

小老师环节的设置,有效提高学生参与课堂学习的热情,更有利于其专心预习知识点,在语言表达能力方面有很大的提高。

4 教学效果

1)教学手段直观可视,增强学习兴趣

信息化教学手段的合理融入,教学内容的直观呈现,课前导学知识预演,课堂教学学生主体,课后拓学素质提升三位一体的教学模式,使学生直观获取教学资源,对建构知识体系的兴趣明显增强。

2)学生主体,教师主导,教学相长,效果提升

信息化技术与课程教学有机结合,创造实践条件和交互环境,学生自主学习能力增强,从抵制传统的讲授式课堂到享受现在的参与式课堂。

3)以学生发展为本,优化学习效果

利用全国教学资源可以共享的大网络环境,更好地创造以学生发展为本,以适应现代化生存为本的教育教学环境,优化学习效果,提高学习效率。

5 结论

通过案例式的教学方式,整合课程基本知识点,有效的突出重点,突破难点。学生通过本课程的系列学习,依托丰富的教学资源和分层次的教学引导方式,创造个性化差异发展的机会,提升了学生的自学能力。通过分组讨论的方式,提供了互帮互助的学习环境,培养了团结互助的团队精神,为从小课堂走入大社会提供保障。

参考文献:

[1] 汪红兵,姚琳,武航星,等. C语言程序设计课程中的计算思维探析[J].中国大学教学,2014(9):59-60

[2] 张耀文. 基于计算思维的程序设计课程案例教学法研究[J].重庆电子工程职业学院学报,2012,21(3):149-150

[3] 程传鹏. 基于大学生心理特点的C语言教学方法[J].计算机教育,2012(1):68-69

[4] 劉志丹,李晓花.《C语言程序设计》教学改革研究[J]. 电脑知识与技术,2018(20):160-161

[5] 赖永秀,李凌,饶妮妮.任务驱动法在C语言实践教学中的应用[J].实验科学与技术,2012(6):125-126

【通联编辑:王力】

猜你喜欢

C语言程序设计教学设计
基于能力培养的“C语言程序设计”教学改革研究
大专院校“C语言程序设计”课程建设改革
《电气工程毕业设计》 课程的教学设计
高中数学一元二次含参不等式的解法探讨
“仿真物理实验室” 在微课制作中的应用
翻转课堂在高职公共英语教学中的应用现状分析及改善建议
马克思主义基本原理概论课案例教学的几点思考