APP下载

对少儿编程与信息素养提升实践的一些思考

2021-05-30王振强王胜灵

中国信息技术教育 2021年26期
关键词:图形化编程信息技术

王振强 王胜灵

编者按:国家教育信息化、互联网+、大数据以及人工智能等战略的实施应用,推动了全国中小学教师信息技术应用成果的积极展现,其中对少儿编程与信息素养等主题的讨论尤为关注。本次采访邀请北京教育科学研究院基础教育教学研究中心信息技术教研室王振强主任和北京师范大学人工智能学院王胜灵教授来谈谈有关当前中小学编程教学的一些话题,随后分享北京市海淀区教师进修学校钟建业老师关于算法与程序设计教学策略的精彩论述,希望能给一线信息技术教师及教研员带来有益的借鉴和指导。

《中国信息技术教育》:王主任,作为北京教育科学研究院基础教育教学研究中心信息技术教研室主任,您对少儿编程教育有哪些看法?对这类主题又有哪些指导方向?

王振强:编程教育这个概念提出来,应该是这两年的事。国务院《新一代人工智能发展规划》颁布以后,编程教育受到广泛关注,很多中小学开设了人工智能相关课程、编程课程。编程教育对于我们信息技术教育(或信息科技教育)者来说是一件好事,因为它对整个国内青少年的信息科技教育起了一个很大的促进作用,在整个社会上营造起一个非常好的信息科技环境。它对信息科技教育的价值,对学生的发展,对社会的转型推动,都给予了充分的肯定。这是我们做了多少年,一直在努力,但是一直没有达到的效果。所以从这个意义上来说,这样一个概念的提出对我们中小学的信息科技教师、教研员的帮助是非常大的。

但是从另外一个角度探讨这个事,普通人编程教育是忽然热起来的,但实际上编程作为一个课程内容或教学内容,它并不是一个新鲜事。我们国家的中小学信息技术教育,最早在1979年就开始出现。北京景山学校,在全国的中小学范围内第一个拥有了计算机,然后就在开始做计算机的教学。后来从80年代初开始,计算机教学就由小到大,从几所学校、几十所学校发展到几百所几千所学校,逐渐推广起来。到2000年,教育部出台了三个文件,在中小学普及信息技术教育,要开必修课,要做校校通工程,信息技术教育作为一个国家最高教育管理部门的举措就推开了。那么就是说,编程这些内容在那个时代的中小学就已经有了,而且它是面向所有的學校、所有的学生。80年代初,在中小学开的与计算机相关的教学活动中,编程几乎就是唯一的内容,因为那个时候计算机功能有限,只能学编程。比如那时候学校利用比较多的苹果2,开机默认进BASIC,学生很难有其他内容可学。曾经清华大学谭浩强教授编写的《BASIC程序设计》对于我们来说就像经典、盛典一样,前后再版多少次,总共发行上千万册,创了吉尼斯世界纪录。所以编程教育这件事在我们看来并不新鲜,它不是这两年才有的事,只是它以前局限在一个很小的圈子里边,圈内人知道有这事,社会上全然不知。

《中国信息技术教育》:编程最早的时候和现在这种情况又是怎样的一个状态呢?

王振强:因为全国范围内各地区学校之间的发展差异特别大,同样是事情,发达地区都已经很普遍,而偏远地区的孩子可能还很陌生。虽然2000年教育部已经有文件强调必须要开这个课程,但实际上这个课程开设的状况很差。在所有的中小学的国家课程里面,这门课的课时量是最少的。按照2000年教育部文件的要求,信息技术课程在小学阶段不少于68课时,初中阶段不少于68课时,高中阶段70~140课时。68课时是什么意思? 如果每周上一节课,上过两年就满足要求了。文件只规定了最底线的要求,具体在几年级开也没有规定。这些年,即使在很多教育信息化比较发达的地区,作为一门课程,在中小学的课程体系当中,它还是很弱很弱的。虽然学校在开展教育教学管理、转变教学方式上应用了不少信息技术,但是将其作为一门课,真不够重视。有些领导觉得信息技术课程没有考试,不存在升学压力,这门课程对学校发展没什么贡献,更看不到对学生未来成长的价值。曾经就有一位主管领导对我们说:“计算机课如果能把目标定在打字上,那就太了不得了,所有的学生学完这个课以后都能打字,能在白纸上打出黑字来,这是多么了不起的一件事。”这说明很多人对信息技术课程的价值认识很不到位。

现在有了一个很好的氛围,但是中小学的学生究竟该学点什么、学到什么程度才对其未来的发展最有利?这个问题仍然不是很清楚,需要进一步研究和探索。

《中国信息技术教育》:编程信息素养提升对现在的信息技术教育有哪些影响?

王振强:编程信息素养虽然说对教育有很大的促进作用,但是编程教育这个提法,就是把编程和教育能够搭配在一起,它自身的逻辑我们觉得并不是很通顺。科技和教育能够配得上,信息和教育也能配得上,编程其实只是信息科技教育内容当中的一个组成部分,虽然它很有价值,但是很难上升到能和教育这个概念相匹配的层次。高中的课程标准里明确提出了信息技术课程的目标是培养信息素养,信息素养有几个要素,其中最能体现学科特征的就是计算思维,编程是培养计算思维的一个非常有力的、重要的手段,也可以说是一种方式,但是编程并不是目的。现在社会上的校外培训机构,对编程教育的认识及对编程教育的宣传层次比学校要高,这是具有合理性的,因为两者的培养目标、对象定位不一样。对于学校来说,面向的是全体学生,学校是公办的教育,讲的是公平,是从宏观及总体上去考虑这个问题。其培养目标不是要把所有学生都培养成未来的IT工程师、软件工程师、码农,而是要让学生走向各个行业领域。所以信息素养是一种适应未来社会发展的人的基本素养,编程只是占其中的一部分,虽然我们认为它非常重要,非常有特色,非常有价值,但是在整个系统当中它也只是一部分。而对于校外培训机构来讲则不一样,他们是做IT专业的培训,他们所培养的学生是经过筛选的对信息技术、编程具有浓厚兴趣的特定的人群。他们可以说就是要把这些孩子培养成长大以后进入这个行业的码农,培养成软件工程师、系统架构师等,这是面向专业人才的培训。

作为一名校内的教师,如果他的一部分学生,将来真的能够进入到这个行业,成为专门的人才,那也是一件很可喜、很光荣的事。但是这是一种期望,我们不能把整个教学的目标定在这个要求上。各个学科其实都一样,任何一个学科,数学也好,语文也好,教师都希望能有更多的学生进入到他所在的那个领域里边,但这只是个人的愿望,如果现实中真的照这个目标去做,那就可能会出问题。学生有各种各样的发展的可能,我们都得给他机会,不能把所有的学生全都抢过来。有些校外培训机构,为了自己的利益,无限制地扩大培训范围,加大内容难度,那么他们就走向了教育本身的反面,造成很大的弊病,那是我们要会回避、要杜绝的。

面对编程教育现在这样一个状态,我们既高兴,又有一点忧虑。主要原因是有些人对这个问题没有全面把握,没有全面分析,盲目行动,朝三暮四,什么热就追什么。今天是编程,以前还有创客、STEAM、机器人、无人机等,然后就是人工智能、区块链,一个一个概念层出不穷。每一个行业、领域,都想让自己的价值能够得到充分发挥,这种心情是可以理解的,但是如果把这种想法延伸到基础教育,让基础教育的教学、课程摇摆不定,那是不可想象的,基础教育需要有相对稳定的课程体系。信息科技当然要跟着时代的发展不断前进,这是大趋势,但是我们必须遵从它自身的价值和规律来办事,不能被社会上的某些潮流所左右。

《中国信息技术教育》:对于校长跟之前的角色,在编程教育推动过程中有没有相关的角色转换的案例,或者说有什么相关的话题想说的?

王振强:学校领导看待信息技术,一方面是把技术当做工具去用,这属于教育技术或者搞教育信息的领域;另一方面是把技术当做教学内容。我从事的主要工作是讓学生把它当做需要学习的内容去学。作为课程教学内容,它与学校里设什么样的岗位,怎么做管理,怎么在各个学科当中去用,怎么在学校的日常工作中提高工作效果,是两回事。教育信息化、数字化、网络化、智能化,我觉得这也是一种创新,也是学校教育发展的趋势,我非常赞成,但这不是我的主要研究方向,虽然有所了解但不够深入,能举出的案例可能不够具有代表性,这个问题就不再深入讨论了。

《中国信息技术教育》:编程课程内容在目前校内考试都有哪些应用发展?

王振强:提到所谓将编程纳入到中小学什么课程考试当中,好像这件事是这两年才有的,其实相关的考试一直都有。北京的中考方案中有“全学全考”的说法,即所有学科的成绩都要纳入到中考的考试成绩当中来。信息技术也是作为中考的考试科目之一,从官方的宣传口径来说,这个提法是没错的。以前在中学叫会考,现在叫学业水平考试,自从课改考试方案定了以后,信息技术学科考试,包括编程的考试就一直都有。通过各个学科的学业水平考试是学生获得相关学段毕业资格的必要条件。

但是不同的学科考试的管理方法不一样,语、数、外、理、化、生、史、地、政这9科实施全市统一考试。音、体、美、信息技术、通用技术这5科的组织实施由区负责,管理力度相对弱很多。

在个别省份,信息技术学科作为高考学科,考试对教学的影响非常大,编程作为考试的重要内容,对编程教学、培训的影响也非常大。考试对教学的影响有利有弊,很难一概而论,需要深入研究。

《中国信息技术教育》:可以分享一下未来中小学教材中是否会加入其他的编程语言吗?

王振强:从北京市有信息技术课那天开始,编程的内容就一直没有脱离过我们的教材。谈所用的编程语言,我觉得那是件小事。我们的目标是培养学生的思维,具体的编程语言只不过就是一个途径、一个工具,什么语言方便,什么语言好用,它就流行,我们就用什么语言。最早我们用BASIC,先是GWBASIC,然后是QBASIC,再往后是VB。小学阶段用过一段PC logo,现在Python里边的Turtle海龟画图有的高中也在用。Logo语言发展期间还出现过不同的版本,北京还有教研员自己跟公司一起开发过中文Logo,甚至把3D绘图都加进去。从2012年开始,小学基本上普遍选用Scratch图形化编程平台,目前有很多企业或研究机构开发了与Scratch类似的编程平台,设计思路都接近,只是在具体功能上有一些拓展。在功能相近的情况下,我们肯定优先选用国产平台。

在以后的教学中,高中基本全用Python,小学以图形化编程平台为主。初中以后选用什么语言平台目前不太好确定。我们有过一些设想,就是逐渐从图形化往代码过渡,但是如何过渡还需要研究。

我们的主要思路是哪个好用、哪个方便就用哪个,并不局限在某一个具体的语言或者平台上,而是按照需要、按照效果来定。所以说其中很有可能加入其他的编程语言,只是可能,也不能确定。

《中国信息技术教育》:您怎样看待图形化编程在中小学阶段的应用?

王振强:我觉得图形化编程在中小学阶段应用还比较适合。北京有个别学校或者地区在推行Python,甚至有一所学校的小学生在用C++,我觉得这个在小范围内尝试研究是可以的,因为他们有这个能力,有这个条件。但是在大范围内,我觉得图形化编程的优势还是明显的。对于小学生来说,图形化编程直观、简单,可以回避掉许多烦琐的规则、格式,提高学生学习的兴趣,降低学习难度,引导学生领会编程过程中的思想方法,它的优势是显而易见的。当然,随着学习内容的逐渐增加、提高、深入,当编程量、代码量扩大以后,图形化的优势就越来越弱了。当程序复杂了以后,图形化程序的可阅读性就大大降低,这就需要改到代码方式上来。小学的编程教学强调面向全体学生,目标是入门,重点是体验,当然首选图形化编程。在以往的研究中,有些地方也曾经尝试直接用流程图编程,学生画流程图,系统自动生成代码。现在很多企业开发的编程平台,虽然具体的呈现形式不一样,但是基本思想是一样的,先是有图形,图形打开以后,里边是具体的参数,学生可以先用图形搭一个简单的框架,由系统生成代码,然后用代码去调一些细致的内容。我觉得这个方法也挺好,确实能够简化我们的工作,条理很清楚。

《中国信息技术教育》:您认为少儿编程的图形化发展趋势和应用前景如何?

王振强:肯定是绝对的主流。因为确实它的优势太突出、太明显了。目前的现状是比较清楚的,但图形化是不是发展趋势这还不能肯定,可能校内和校外会有些差别。总体来说,在整个课程改革的过程当中,编程这一部分内容所占的比重一定会扩大。

学术界对编程教育的看法还存在一些争议,有的专家觉得我们的目标是培养基本思维,编程只是一种途径,但不是唯一的途径,比如说我们可以采用不插电的一些活动,像数据编码这样的内容,不一定非得上机,不一定非得编程。站在我们这些比较靠近一线教学、靠近教师的教研员的视角来看,我觉得编程还是必不可少的。要让学生去体验计算机算法,经历解决问题的过程,领略其中的思想方法,就需要他们用一个工具去做一遍,完成一个成品,学生经历了这样一个过程才能获得切身的体验。如果只是讲概念、玩理念,那是高来高走,落不到地上,所谓素养就没法实现。

编程教育也好,编程教学也好,肯定都要发展,发展是分层次、有差异的。有面向所有学生的基础课程,有面向部分学生的高拓展课程,有国家课程、地方课程、校本课程,它的定位是不一样的,但是总体来说需要加强。

这是一个我们认为的一个大的趋势。当然这里面也有一些不确定因素。有些地方比较浮躁,不考虑有没有师资、装备、课时,采用一刀切的政策强行开课,对外宣传做完了,实际落实怎么样没人管。技术的发展往往会起起落落,一段时间发展得快,当遇到一些瓶颈问题时,发展可能就会受到阻碍,随着某些问题的解决或者一些基础条件的改善,它又快速地发展,这是很正常的。我们担心的是一些决策者,他们不是从对学生的发展、对社会的发展的价值出发,而是一味地顺从领导的喜好,从彰显业绩的角度去考虑问题,那样的话,编程教育未来的发展前景就不好说了。

《中国信息技术教育》:您对目前的信息技术教师能有一个什么样的方法指导?

王振强:信息技术教师自身不断更新,迭代自己的知识结构,这种需求比任何其他学科的教师都要强烈很多。绝大多数信息技术教师都有着非常强的责任心和不断发展自己业务水平的愿望。但是现实是学校里的信息技术教师,他们在学业方面的压力并不大,而是其他的工作占用精力太多,如对其他教师的培训、各种教育信息化的应用等,杂事非常多,这样一来,教学仿佛成了他们的副业。主要精力不能放在研究教学上,还指望他们能有多快多好的发展?只靠教师的奉献精神来提升专业素质,这是很难持久的。

《中国信息技术教育》:通过咱们教研口对教材方面的一些编写,是不是对这些教师有一些引导,或者是对他们有提升的东西?

王振强:教师培训是教研工作当中的一大块,除了教研,我们还有专门的培训部门,比如北京教育学院,他们专门负责在职教师的培训,我们也会相互协作开展教师研修。

对学科教学影响最大的指导性材料首先是课标,其次是教材,教材的编写要依据课标。课标会按照课改的理念以及我们对课程价值的认识去安排体现时代发展、适合学生学习的教学内容。这些内容当中有很多是教师以前没有学过的,这一方面需要教师自己学,另一方面我们会通过一些活动来做培训。有时候我们也分享一些成功者的经验和案例,通过交流来影响他们。

总之,信息技术教师应该有这样一种意识,当看到问题时,就应该尝试着去改进,争取良性循环。

一般情况下,学生对课程都非常有兴趣,但是随着课程的推进,学生不能只停留在一个简单的兴趣阶段,不能只限于在课上学到知识,而要在学习知识的基础上,学会运用这些知识解决问题,并且从一个问题拓展到同类的其他的问题,最后将这个过程变成一种意识和思维习惯。这个过程需要逐层去递进,实现它并不是很容易的。

影响教学效果的因素包括教师自己的知识结构,知识的宽度、深度,以及教师的教学方式。教学方式对教学效果的影响会更大一些。教学中教师要琢磨学生的心理,要站在学生的角度去考虑问题,教师既要转换自己的角色,也要教会学生转换角色,使其从一个信息技术的普通用户向高级用户转变,从一个技术工具的使用者向开发者转变。例如,在设计程序时就得考虑使用程序的人怎么能够用的方便,一个程序既要能满足特定用户的需求,也要能适应不同用户的需求。学生的角色即在这样的学习过程中发生转变。另外,技术是存在两面性的,有利也有弊。我们在考虑一个问题解决方案的时候,不必奢求这个方案十全十美,技术应用是有条件、有代价的,我们要考虑的就是这个代价跟得到的收获之间的比例,只要收获足够多,付出的代价就可以接受,甚至忽略不计,哪怕它可能还会带来一些不利的影响,但只要我们知道怎么去规避那些不利影响,这样的方案就可以大胆采用。这就是我们看待技术、看待科学的一种科学观念。有人说,我们要不惜任何代价去追求一个结果,这种说法是极不负责任、极不靠谱的。做任何事都是有代价的,我们所要考虑的是代价跟收获之间的比例,寻求的是高性价比。这是一种观念,或者方法论、世界观层面的内容,是实现培养全面发展的人所不能或缺的,也是教師在教学中需要特别关注的。

《中国信息技术教育》:针对信息化教育,或者我们的学科教育,您对企业,或者一线教师,会有哪些期许?

王振强:我们这个学科与技术紧密关联。信息技术课堂当中的很多学习内容,不是从学术层面理论推导出来的,而是在技术上先实现了,形成了客观标准,然后再形成知识体系。比如说讲文件管理,过去我们用DOS,常用的操作是列目录,即DIR。到了Windows时代,目录改叫文件夹,实际上是一回事。因为企业开发产品时用了这个名,产品普及后它就成了标准,我们就得跟着这个标准来教学,至于哪个更科学其实无所谓。所以说信息技术这门课程天然地与企业之间存在一种紧密关联,所以它的很多教学内容是依赖着企业技术的发展的,从这个角度来说,我们特别期待企业有更好的产品,这些产品对信息技术课程来说有时候是基础,有时候是支撑,有时候是工具,而更多的时候它们是相辅相成的。

当然,企业与学校教育的追求有时是不一样的,公立的教育是不谈经济效益的,而企业往往把经济效益放在首要位置,从某种意义上来说这也是可以理解的。很多企业的朋友与我们一块探讨如何推进教育教学的发展,我们非常欢迎,我们很愿意与企业合作,共同努力打造一个良好的信息科技教育新生态。

《中国信息技术教育》:王教授,您在课程方面很有经验,想问一下对中小学开设编程课课程体系设计您有何建议?

王胜灵:编程语言作为算法的表达和创作工具,渗透着算法思维和计算思维,在设计编程课程的时候,应将这方面纳入教学目标中,并作为重点内容。我们开设编程课程,目标绝不是要培养码农,而是要培养日后能够与未来科技和谐共生的高质量人才。也就是说,学了编程的学生不管以后成为任何领域的工作者,都能利用到中小学阶段的编程课程思想,用于指导他们的工作和生活,这才是我们开设编程课程的最终目标,这一点应该作为总的指导方针体现在课程的体系设计中,并涵盖在具体的每一个编程实践和任务中。

《中国信息技术教育》:对中小学学生学习编程最终能够达到的水平有何要求?

王胜灵:中小学学生学习编程后,应该能够:将生活中遇到的实际问题抽象约简并建立模型,学会获取、组织和呈现数据;通过分析所掌握的各种信息资源,运用所学算法形成解决问题的方案;将某个问题的解决方案拓展到其他场景,形成更为泛在普适的解决方法;形成在上面过程中涉及到的数字化创新、团队合作、创造和批判性思维能力等。

《中国信息技术教育》:您认为怎样的教学模式更适合目前的编程教育?

王胜灵:我认为在当前的编程教育中,传授思想和动手实践二者缺一不可。当前的编程教育大都重视动手实践部分,这本身无可厚非,但是每个算法其背后蕴含的哲学思想和“道”应该同时传授给学生。这样才能让学生深刻体会到这个“知识”真正可以和我的生活产生什么样的连接,使用这个方法如何能使我的生活变得更好,而不是仅仅将其作为一个工具,那就把计算思想局限在一个狭小的范围了。

《中国信息技术教育》:当然这些问题只是建议,可以再说说轻松点的话题,学习编程能让孩子获得什么呢?

王胜灵:首先肯定可以学会一种最直观的问题解决手段。比如一个人类计算起来非常复杂、非常烦琐的问题,交给计算机通过编程可以瞬间得到答案,而且可以通过设计有趣的交互界面,非常直观地得到反馈,这种解决方法是孩子们可以得到的“术”的层面的收获。再有,其实计算机学科本身蕴含的思想博大精深,编程只是呈现的一种手段和方式,如何能够通过表层的“术”的实践让学生们更加了解到“道”的层面,从“感”到“悟”,从“会用”到“会想”,才是我们的课程设计应该追求的终极目标。

猜你喜欢

图形化编程信息技术
新一代信息技术征稿启示
编程,是一种态度
新一代信息技术征稿启示
新一代信息技术征稿启示
元征X-431实测:奔驰发动机编程
信息技术在幼儿教育中的有效应用
编程小能手
纺织机上诞生的编程
LKJ自动化测试系统图形化技术研究
运用图形化听写式复习,构建高效地理课堂