论文部分内容阅读
编程教育是发展新时代竞争力最重要的举措之一,编程教育除了一直在大學、职业学校发展,在中小学也从未缺席,但如何培养学生的编程思维与创新能力,如何让编程成为一种文化,是需要我们加强探讨的问题。本期解码,让我们从梳理编程教育可能存在的文化脉络的视角,发现编程教育的深层内涵与文化形成。
以信息奥赛为代表的编程竞赛多年以来培养了一大批计算思维突出、编程兴趣浓厚的优秀学生,许多人已成长为IT界的领军人物。回顾多年的信息奥赛发展,不少教师积累了许多针对计算思维训练的方法,沉淀了独特的编程教育文化,为中小学编程教育的推广积累了经验。在中小学推广编程教育,入门教学尤其值得深入研究。总结已有编程教育经验,可以为编程教育推广提供借鉴与参考。
● 信息奥赛中编程学习的三个阶段
信息奥赛编程主要涉及算法与数据结构,重点考查在有限时间内解决实际问题的编程能力,属于对计算思维要求较高的编程比赛。其学习过程可分为三个阶段,即计算机基础知识和编程语言学习的初级阶段、算法与数据结构基础的中级阶段、高级算法与数据结构的高级阶段。学生通过算法与数据结构的深入学习与研究,在有限的时间与空间要求下,不断创新思路,优化算法,提高编程解决现实问题的能力,对计算思维的能力要求随学习难度的提高而逐步提高。随着学习阶段的推进,不同学生会表现出较大差异,出现不断分化或中途退出的现象。那么,良好的计算思维有哪些特征?如何发现学生的计算思维潜质?在教学中又如何引导和培养呢?
● 什么是微观察
在实践中,微观察通常有两种理解:一是观察细致入微,一些事件的微小细节都能被观察得清清楚楚;二是从细小事件的观察角度来看大事件。本文所说的微观察是借鉴第一种理解,然后将其运用在编程教学中,即通过观察学生在编程学习过程中的一些细微表现,恰当分析并判断学生的思维特征的方法。对教师来说,在教育教学中注重对学生的行为、习惯、思维、能力等进行细微观察,发现不同学生的差别与特点,能帮助教师寻找更好的教育切入点,寻求更恰当的教育时机,从而提高教育效率,增强教育效果。
● “微观察”学生思考过程,助推思维形成
在实践中,如何理解计算思维及其具体特征,如何分析学生的思维特征并发现计算思维的发展潜质,如何有效引导并培养学生的计算思维能力,都是基础编程教学需要重视的问题。通过一些具体问题的解决思路,可以显性观察学生的思维过程,初步分析学生的思维特点,进而理解计算思维特征,发现学生的计算思维潜质,以便在教学中更好地引导和培养。
1.思维的逻辑性
编程的本质是利用计算机程序解决现实问题。因而,如何将现实问题转为化程序需要的数据模型,如何分析数据并归纳出数据间的相互关系,如何寻找恰当的算法处理给定的数据,寻求合理的解决方法,都需要有良好的思维逻辑性,需要有条理清晰的计算思维。
例:已知a、b、c、d、e、f、g七个人中,a会讲英语,b会讲英语和汉语,c会讲英语、意大利语和俄语,d会讲汉语和日语,e会讲意大利语和德语,f会讲俄语、日语和法语,g会讲德语和法语。能否将他们的座位安排在圆桌旁,使得每个人都能与他身边的人交谈?如果可以,请以“a b”开头写出你的安排方案:
以信息奥赛为代表的编程竞赛多年以来培养了一大批计算思维突出、编程兴趣浓厚的优秀学生,许多人已成长为IT界的领军人物。回顾多年的信息奥赛发展,不少教师积累了许多针对计算思维训练的方法,沉淀了独特的编程教育文化,为中小学编程教育的推广积累了经验。在中小学推广编程教育,入门教学尤其值得深入研究。总结已有编程教育经验,可以为编程教育推广提供借鉴与参考。
● 信息奥赛中编程学习的三个阶段
信息奥赛编程主要涉及算法与数据结构,重点考查在有限时间内解决实际问题的编程能力,属于对计算思维要求较高的编程比赛。其学习过程可分为三个阶段,即计算机基础知识和编程语言学习的初级阶段、算法与数据结构基础的中级阶段、高级算法与数据结构的高级阶段。学生通过算法与数据结构的深入学习与研究,在有限的时间与空间要求下,不断创新思路,优化算法,提高编程解决现实问题的能力,对计算思维的能力要求随学习难度的提高而逐步提高。随着学习阶段的推进,不同学生会表现出较大差异,出现不断分化或中途退出的现象。那么,良好的计算思维有哪些特征?如何发现学生的计算思维潜质?在教学中又如何引导和培养呢?
● 什么是微观察
在实践中,微观察通常有两种理解:一是观察细致入微,一些事件的微小细节都能被观察得清清楚楚;二是从细小事件的观察角度来看大事件。本文所说的微观察是借鉴第一种理解,然后将其运用在编程教学中,即通过观察学生在编程学习过程中的一些细微表现,恰当分析并判断学生的思维特征的方法。对教师来说,在教育教学中注重对学生的行为、习惯、思维、能力等进行细微观察,发现不同学生的差别与特点,能帮助教师寻找更好的教育切入点,寻求更恰当的教育时机,从而提高教育效率,增强教育效果。
● “微观察”学生思考过程,助推思维形成
在实践中,如何理解计算思维及其具体特征,如何分析学生的思维特征并发现计算思维的发展潜质,如何有效引导并培养学生的计算思维能力,都是基础编程教学需要重视的问题。通过一些具体问题的解决思路,可以显性观察学生的思维过程,初步分析学生的思维特点,进而理解计算思维特征,发现学生的计算思维潜质,以便在教学中更好地引导和培养。
1.思维的逻辑性
编程的本质是利用计算机程序解决现实问题。因而,如何将现实问题转为化程序需要的数据模型,如何分析数据并归纳出数据间的相互关系,如何寻找恰当的算法处理给定的数据,寻求合理的解决方法,都需要有良好的思维逻辑性,需要有条理清晰的计算思维。
例:已知a、b、c、d、e、f、g七个人中,a会讲英语,b会讲英语和汉语,c会讲英语、意大利语和俄语,d会讲汉语和日语,e会讲意大利语和德语,f会讲俄语、日语和法语,g会讲德语和法语。能否将他们的座位安排在圆桌旁,使得每个人都能与他身边的人交谈?如果可以,请以“a b”开头写出你的安排方案: