浅谈高中信息学程序设计社团的建设

2016-02-15 08:58顾晓
中小学电教 2016年9期
关键词:信息学数据结构程序设计

☆顾晓

(江苏省宜兴中学,江苏宜兴214200)

浅谈高中信息学程序设计社团的建设

☆顾晓

(江苏省宜兴中学,江苏宜兴214200)

建设高中信息学程序设计社团离不开指导教师的辛勤努力,离不开科学的、循序渐进的学习方法。充分发挥网络资源的优势,使学生因为兴趣加入社团,在学习和交流中提升信息素养,锻炼逻辑思维,激发创造力,提高分析问题、解决问题的能力,培养终身学习的习惯与方法。

高中;程序设计;社团

引言

2014年12月美国总统奥巴马在计算机科学教育周启动仪式上成为首个编程的总统——用程序语言在屏幕上画了一个正方形,并表示“编程教学如同识字一样,应成为基础教育的一部分”。“编程从娃娃抓起”、“全民学编程”已经不再是口号,成为了多国政府、企业正在为之努力的目标。编程训练可以锻炼孩子的计算思维、抽象思维以及综合思维的能力,还能让孩子认识科学、走近科学,培养他们的科学素养,激发他们的创造力。

鼓励和指导学生学习程序设计,通过逻辑分析将现实问题抽象为计算问题,把复杂的问题分解成若干小问题,构建可行的数学模型,最后编制程序解决问题。带领学生参与信息学奥赛,经过奥赛的锻炼,更好地培养学生的逻辑思维和信息素养,提高学生分析问题、解决问题的能力,是学校推进素质教育的外在体现。以下是笔者近几年组织与指导学生参与信息学程序设计社团活动的几点体会。

一、提高自身素养,打造高效课堂

首先,“工欲善其事,必先利其器”,“打铁还需自身硬”。程序设计除了编程基础、基本算法、数据结构等内容,还涉及数学、物理等学科专业知识,教师只有全面掌握这些知识,才能在教学指导中游刃有余,提高课堂的教学效率。

其次,信息技术日新月异,程序设计的算法、技巧也在不断改进和完善。信息学奥赛也是发展与变化着的,教师需要关注奥赛形势的变化,及时学习与补充新的教学内容,才能正确地指导学生学习。

最后,教师需要不断提高自身的教学素养,更新教学理论,改进教学方法,提高教学设计、调控、评价的能力,把握高效课堂的内涵,以学生为本,从实际出发,按照规律教学,在有限的教学时间内提高教学效率。

二、以兴趣为导向,组建学习社团

1.学习社团的建立

“兴趣是最好的老师”,很多高中学生从小就对科学有着浓厚的学习兴趣。随着信息技术的发展,APP开发、虚拟现实、机器人、3D打印等各种各样的新技术更是让这些科技爱好者们乐此不疲,甚至利用课余时间自学实验。这种浓厚的学习动机和探索精神,正是我们选拔社团成员的基本要求。

2.社团的教学模式

教师在教学过程中注重“导、学、练”的教学模式。教师根据知识点要求和学生实际情况设计学案,以自主学习、小组合作学习为主要的学习方式,对于学生的学习给予适当引导,及时疏导疑难知识点,对后进学生个别指导,逐步诱导问题的解决,问题解决后及时归纳总结与练习巩固。

小组合作学习模式是社团活动的一种重要学习模式。首先,学生之间存在差异性,参加过信息学奥赛的学生可以在小组中帮助其他成员,在指导其他学生的过程中巩固已有知识,小组成员在合作中学习知识点、强化知识体系。其次,解决问题有多种途径,一个人的思维难免存在局限性,采用小组学习模式可以博采众长、集思广益,讨论各种解法。这种做法一方面可以锻炼学生的表达能力、学习能力,还可以增强学习的趣味性,锻炼学生的创造力,提升小组的凝聚力。例如:在学习交换两个变量x和y中的数据这一知识点时,大部分学生认可中间变量的使用,也有学生提出,不使用中间变量实现数据的交换是否可行?通过讨论和研究发现,可以借助于加减法运算,还可以借助于位运算。通过这样的学习方式,既能够让学生体会到成功的喜悦,还能够在具体问题的解决过程中实现多个知识点的融会贯通。

3.教学循序渐进,逐步深化提高

课程计划的制定以学习程序设计为基本出发点,参考青少年信息学奥林匹克(noip)考纲,考虑学生的认知能力,分阶段循序渐进地开展教学。

第一阶段:语言基础。这一阶段主要以程序语言的教学为主,在学习语法的同时,引导学生学会阅读程序,分析程序,尝试编写程序,培养良好的编程习惯。

例如:引导学生编制程序时正确使用缩进格式,使学生编写的程序段结构清晰;变量的命名要有意义,如使用匈牙利命名法(变量名=属性+类型+对象描述),可以增强程序的可读性;编写程序时,在一些重要的部分添加注释,便于以后复习。在教学过程中以一些经典的小程序段为引子,如欧几里德辗转相除法、两个数的最大数(最小数)、判断素数等,使学生形成程序设计的模块化思想;引导学生学习一些基本算法,如枚举、模拟等,强化学生的编程能力,锻炼学生的算法思维。

第二阶段:数据结构与算法。数据结构是为了实现算法而出现的。在这一阶段的学习中,数据结构和算法的学习往往是交叉进行的,如:学习知识点栈与队列之后,可以引导学生初步接触深度优先搜索与宽度优先搜索算法;学习树、二叉树之后,以树的遍历强化深度优先搜索与宽度优先搜索算法,还可以引导学生学习树状数组、并查集、堆排序等算法。

简而言之,在教学过程中应注重基础知识的学习与应用实践相结合,教师根据教学内容和学生实际情况灵活地选择教学方法和手段,有效地提高教学效率和质量。

三、充分利用资源,注重交流与传承

网络是学生自主学习的重要场所,特别是对于程序设计的学习。对于在线学习,有很多教学视频网站,如视频教学网站Coursera,其中有北京大学推出的《程序设计与算法》系列课程,包含了《计算导论与C语言基础》、《C程序设计进阶》、《C++程序设计》、《算法基础》、《数据结构基础》、《高级数据结构与算法》、《程序开发项目实践》7门课程。对于在线练习,也有很多在线评测网站,如noi推荐的noi.openjudge.cn,有高中联盟创建的vijos,编程爱好者自建的洛谷等等。充分利用网络资源,能够极大发挥学生自主学习的优势,引导学生养成终身学习的习惯,学生通过学习平台的学习与实践,可以与各地编程爱好者共同学习、提问、答疑、交流、竞赛,逐渐提高自我的编程能力与解题能力。

一个学生在社团的学习周期一般为2-3年,如何将社团的文化传承下去,离不开新旧学生间的交流和传承。很多学生进入大学后,仍然加入了大学的计算机社团或ACM团队,可以利用网络资源建立交流平台,向社团学生在线答疑、介绍学习经验、传授先进的算法思想。

总之,高中信息学程序设计社团的建设离不开教师的积极引导,离不开科学的教学方法,离不开师生、生生间的交流与传承。让学生在学习的同时,提升信息素养,锻炼逻辑思维能力,通过比赛(如noip、noi)让学生享受成功的喜悦,是每一个指导教师努力和探索的方向。

[1]李军玲,邵洪艳.基于“信息学奥林匹克竞赛”培养程序设计习惯的研究[J].计算机教育,2009,(24).

[2]崔国亮.基于新形势下信息学奥林匹克竞赛的策略研究与实践[J].中国信息技术教育,2015,(02).

[编辑:郑方林]

G434

A

1671-7503(2016)17-0035-03

猜你喜欢
信息学数据结构程序设计
鸡NRF1基因启动子区生物信息学分析
数据结构线上线下混合教学模式探讨
基于Visual Studio Code的C语言程序设计实践教学探索
为什么会有“数据结构”?
从细节入手,谈PLC程序设计技巧
初论博物馆信息学的形成
高职高专院校C语言程序设计教学改革探索
高职高专数据结构教学改革探讨
中欧医学信息学教学对比研究
PLC梯形图程序设计技巧及应用