浅谈信息学奥林匹克竞赛辅导教学方法与技巧
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
浅谈信息学奥林匹克竞赛辅导教学方法与技巧
浅谈信息学奥林匹克比赛辅导教学办法与技巧
**省小学信息学奥林匹克比赛以“信息与以后”夏令营为载体,经过上机编程着重考察学生对咨询题的分析理解能力,数学抽象思维能力,编程语言的应用能力和编程技巧、想象力和制造力等。
在信息学奥赛的辅导教学过程中,作为教练员应依据“体验科学探索活动的过程与办法,培养良好的科学态度,增强创新意识和实践能力”的指导思想,摸索出一条比较新颖的适合小学生的教学方式。
信息学奥赛所涉及的内容广,程度深,从计算机qb语言教学,到基本算法、相关知识点包含许多专业知识。
就教学常态而言,至少要2-3年左右的时刻,才干培养出一名好的选手。
但是要提高学生的程序设计能力,并别是人们想象中那么高别可攀,只要办法得当,持之以恒,是能够取得良好效果的。
现状分析就本校现状来看,信息学比赛与其它学科比赛之间存在着明显差异,大致存在以下几点:
(1)学生别了解学习的内容
信息学程序设计是全新的课程项目,学生从来未接触过,并别了解其中神秘,缺乏兴趣。
启蒙将花费较大精力。
加上要紧学科老师及学生家长存在着种种误解,别是很支持,参加人数少。
(2)学生参加活动时刻有限
信息学比赛别同于其它学科比赛,难以安排特意时刻,辅导只能利用周末和节假日。
而学生空余时刻本来有限,能支配的时刻少之又少,时刻安排相当困难。
(3)学生对学习方式别习惯
计算机程序设计是一门与实践操作结合特别密切的学科,学生假如采纳传统的学习方式来对待,必是学得累,学习兴趣受挫,最终可能会挑选放弃。
辅导方式面对现状,结合小学生的认知规律及思维进展规律。
经过几年的教学实践,我们摸索出了“引导+创新”的教学指导模式,呈现出较高的效率和良好的效果。
一、引导——教师比赛辅导的基础
引导指采纳一定的手段,把某种本来就潜藏于受教者身上的潜力挖掘出来,从一种潜质转变为现实。
关于信息学比赛辅导教学来说引导的目的算是为了少教,别教。
经过启示、激发让学生能在主动学习、主动探求、主动沟通、主动应用、主动完善的一种学习活动过程中,"自我"得到充分进展。
首先要明确地告诉学生目光要放远,信息学比赛对思维能力的拓展培养、以后各方面进展都十分有利。
让学生意识到信息学科的重要性和学科间知识的无界性、扩展性、渗透性。
其次计算机解决咨询题的方式比较细致繁杂,程序是对所要解决咨询题的各个对象和处理规则的描述,算法是解决咨询题办法的精确描述,结合小学生抽象思维较弱的特点,一些算法只能领悟,对每个咨询题,别同学生有别尽相同的算法,教师别能采纳灌输的方法,只能指导一具方向性的思路,由学生独立编制完成。
教师要多做有心人,针对每个学生别同的思维适应和特点,从学生的主体性地位动身,有针对性分别指导。
长期坚持,学生的独立考虑和自学能力就得到长脚进展。
比如“回形矩阵”题目(jsoi20xx小学组复赛第1题),能够有多种解题办法,能够用一般变量,也能够用下标变量;能够用for循环,也能够用do……loop循环;可用拟人法来解题,也能够用解析法来解题等等。
引导学生尽可能掌握多种办法来解题。
有些经典咨询题,小学教材中给出普通解法,对各种特殊事情和变形别作深入的研究。
而在实际应用中,又加入一些约束条件后,原有性质会发生改变,在题目中躲藏着别易察觉的规律,作为教师应多引导学生经过对原咨询题标准程序段的扩展,将约束条件加入题目中,
进而发觉规律,得到有效算法。
例:回文数列(jsoi20xx小学组复赛第4题)
对一具正整数k,求出k的所有拆分,并统计输出其中回文数列的个数。
所谓回文数列是指该数列中的所有数字,从左向右或从右向左看都相同。
例如:
k=4时,有如下的拆分:
4=1+1+1+1{回文数列1}
=1+1+2
=1+2+1{回文数列2}
=2+1+1
=2+2{回文数列3}
=1+3
=3+1
回文数列共有3个
经过分析咨询题,学生能够采纳回溯算法来解决,分为初始设置(包括数据输入、栈的初始化以及初始元素的设置)、数的拆分(回溯)、回文数列的检测、输出结果四个模块。
由于本题没有要求打印输出所有回文数列的原始清单,只要求输出计数的结果,所以我们能够换个角度引导学生重新考虑咨询题,以进一步发觉其中的规律。
分别以4和5为例。
由于是回
文数列,所以每个数必须被分成3部分,以4为例:4=1+2+1,我们发觉中间的数字只能是偶数,即2和0,为2的时候有1种数列,0的时候有2种数列。
再来研究一下6,当为4的时候有1种,为2的时候有2种,为0的时候有4种。
最后看一下5,事情和4特别的相似,不过中间的数字只能是奇数,如此以来思路就很清楚了,我们能够首先将m2,将那个结果给一具变量k,然后只要计算2^0+2^1+2^2+……+2^(k-1)的结果,再简化一下算是计算2^k-1的值.
引导对教师的要求:
(1)教师对自已所教的知识领域,达到一定的深度和广度,是引导过程中的基本要求。
(2)教师注重的是思路办法的拓展引导。
教师作为教练在比赛的深化时期,程序点评分析及拓展是必要的。
二、创新——学生成长的关键
1、组建学习互助小组,编写对应的学习方案
信息学奥赛辅导的实践证明,许多咨询题别是单靠个人考虑所能解决的,最佳答案往往是集体智慧的结晶。
学生们每解决一具咨询题,建立一具新的程序模块,基本上一次创新。
在解决咨询题的过程中,刚入门的同学往往没有框框,反而容易有新思路,他们的想法应得到充分的重视。
经过讨论,连锁促思。
有时学生们的想法会超过老师。
所以教师在教学过程中要营造一种平等、自由、互相尊重、互相信任的师生关系。
2、搭建标准程序模块,探索最优解决方案
辅导别提倡题海战术,而要注重对咨询题别断深入的探究,最终得出一具最优化的解决方案,搭建一具标准程序模块,如此的模式,既为学生减轻了负担,又为他们养成良好的思
维品质、提高效率意识提供了极好的锻炼机会。
3、注重“咨询题”意识,培养倡导咨询题教学办法
“咨询题”决定潜力。
提别出咨询题的学生别是“好”学生,没有咨询题说明没有进行深层次的思维意识,“咨询题越多,潜力越无限”。
固然,有“咨询题”是前提,解决咨询题则是学生提升自我的重要途径。
交流是关键,与团队交流,与教师交流,在络中交流,方式是灵便多样,其最终目的算是达到解决咨询题,掌握知识,建构自我学习框架。
例如:减法算式
小红是二年级学生,老师布置他们回家自己出一道数学题做,题目要求是三位数的退位减法,即要求一具三位数减去另一具三位数,(被减数比减数大),而被减数的个位必须向十位借数才干减去减数的个位,然后被减数的十位也必须向百位借数才干减去减数的十位。
小红的哥哥小华,是五年级学生,在学习编程,她就让哥哥帮她编一具如此的程序,小华承诺了。
小华想到自己正在学习素数(除了本身和1外别能被其它数整除的正整数,1别是素数)知识,就给题目增加了一具条件,算是被减数的百位数、十位数、个位数中或被减数本身必须至少有1个是素数,减数也这样。
如:438-269;513-479。
请你帮助小华完成该程序,可以编出所有符合这些要求的题目。
经过仔细读题,发觉最终要列举出所有符合条件的减法算式,对算式中的数字必须满脚下列要求:
(1)被减数、减数必须是三位数
(2)被减数的个位必须向十位借数才干减去减数的个位,然后被减数的十位也必须向百位借数才干减去减数的十位。
(3)被减数、减数的百位数、十位数、个位数中或被减数本身必须至少有1个是素数。
要解决上面的咨询题,首先在程序中推断1000以内的数是否是素数,然后运用穷举算法在三位数中依次查寻,推断是否满脚上述第二条,如符合条件再推断这两个数是否满脚上述第三条,以上两条均满脚则打印输出。
但是在运行的过程中,学生发觉了一具咨询题,最后一具算式是997-899=,899显然别符合题目要求,但是却显示在结果中。
反复检测程序,均寻别到错误,于是同学们开始尝试考虑其他的办法解决那个咨询题。
深入考虑,首先筛选出三位数中符合要求(3)——被减数、减数的百位数、十位数、个位数中或被减数本身必须至少有1个是素数的数,然后运用穷举算法在这些数中依次查寻,推断是否满脚要求第二条,以上两条均满脚则打印输出。
dim a(900)
n = 0
for i = 102 to 997
a = i mod 10:
b = (i 10) mod 10 :
c = i 100
if a = 2 or a = 3 or a = 5 or a = 7 then s = 1 else s = 0
if b = 2 or b = 3 or b = 5 or b = 7 then s = s + 1
if c = 2 or c = 3 or c = 5 or c = 7 then s = s + 1
f=0
for j = 2 to int(sqr(i))
if i mod j = 0 then f = 1 : exit for
next j
if f = 0 then s = s + 1
if s >= 1 then n = n + 1: a(n) = i
next i
for i = 2 to n
for j = 1 to i - 1
x = a(i): y = a(j): z = a(i) - a(j)
c = x mo
d 10: b = (x 10) mod 10: a = x 10
g = y mod 10: f = (y 10) mod 10: e = y 10
c1 = z mod 10: c2 = (z 10) mod 10
if (c1 + g > c) and (c2 + f> b – 1) then print x; "-";y;"=",
next j
next i
end
4、灵便运用条件迁移,强化拓展思维训练
随着学习活动的深入,小学生对编程有了一定的认识,掌握了一些知识和技能时,教师就应采纳一些相习惯的教学办法。
经过条件迁移、由此及彼,触类旁通,从一具咨询题拓展出许多新咨询题,在解决这些新咨询题的过程中,举一反三进一步锻炼思维,利用联想的线索将新咨询题、新算法、新程序模块并入知识,经过如此的练习同学们的综合编程能力能够得到提高。
总之,在信息学奥赛辅导过程中,教师的作用别仅是说授基础知识,更重要的是引导学生学会怎么样学习,让学生学会独立思维、自主学习、合作互助、为终身学习、持续进展的需要打下坚实的基础。