前言:寻找写作灵感?中文期刊网用心挑选的人工智能普及教育算法编程探究,希望能为您的阅读和创作带来灵感,欢迎大家阅读并分享。
摘要:在中小学阶段设置人工智能相关课程体现了国家对智能时代人才培养的高度重视。为使人工智能教育落地、有效,让学生了解人工智能、实现原理、应用领域;初步掌握计算机算法与编程,能够使用编程语言进行人工智能科普活动实践。探索人工智能普及教育各学段相关课程应该以怎样的形态存在,如何以最小的代价取得人工智能普及教育的最大效益。
1引言
人工智能作为连接未来的教育,面向中小学进行普及,很大程度上带来的是逻辑思维能力的提升和思维方式的改变。当今中小学人工智能教育已经成为一个炙手可热的话题,各类资源纷纷涌现:国家课程、校本课程和校内教育活动、相关学科竞赛活动、校外培训机构开展的相关教育活动等。以人工智能为主题的各类教学内容五花八门。信息技术教师要认真解读国务院颁发的《新一代人工智能发展规划》,在中小学阶段设置人工智能相关课程,逐步推广编程教育,鼓励社会力量参与寓教于乐的编程教学软件、游戏的开发和推广[1]。以深入浅出、通俗易懂的教育方式,使学生理解人工智能教育与信息技术教育、编程教育与智能机器人教育的区别。探索通过选择合理的AI编程语言和设计AI活动情境,有效地实施人工智能教学,培育人工智能素养。展开计算与推理,模拟与拓展人类的认知和思维的人工智能科普活动,包括信息学、创意编程、智能设计、智能机器人项目。探索人工智能教育各学段相关课程存在的形态。构建基础教育人工智能课程内容框架和知识体系。
2人工智能核心概念
2.1人工智能教育。中小学人工智能教育的目的不是让学生做研究,而是要让他们对人工智能产生兴趣,进而确立职业目标,成长为AI技术领域人才。中小学的人工智能教育中,要关注的不应只是提供很多的硬件,而是应该关注给青少年培育人工智能的核心素养。从感知、认知、创新三个层次构建在教学中的学习任务和效果达成。从经历认识带来对人工智能特征识别等方面的了解,帮助学生识别和分辨人工智能应用、体验、理解、设计这一过程;从体验带来对人工智能真实场景的了解,帮助学生内化成为意识;从理解带来概念、原理的分析,帮助学生深层理解,从而学会主动选择人工智能;从设计带来学生动手实践的真实应用,帮助学生理解人工智能解决问题的方法设计。这样可以达成从不同层面对人工智能的能力素养培养。
2.2计算思维培养模式。人工智能教育的核心是计算思维。目前人工智能研究五个方面:自然语言处理、计算机视觉、语音识别、专家系统以及智能机器人。计算与推理、机器学习、传感与控制都与算法编程密不可分。算法编程是计算思维赋能的重要平台。理解人工智能核心素养概念,清晰计算思维在中小学人工智能教育中的地位和作用,培养学生的计算思维和问题求解能力,达到人工智能教育课程的核心目标。以此带动信息学竞赛、创意编程、创新AI作品、智能机器人的“四翼”蓬勃发展,培养出越来越多有创意、能创新、勇创业的新时代科技苗子。
3AI活动课程建设
3.1AI课程的灵魂。人工智能课程的灵魂是计算思维。人工智能作为信息技术的前沿科学,始终以计算机产生人的智能、学习超过人的智能为目标。中小学人工智能课程应以逐步提升计算思维能力为目标,导入项目活动任务,从“情境导入、建构项目任务、分治小问题、优化问题解决的算法”等方面逐步展开课程实施。计算思维的创新发展必将促进人工智能教育的蓬勃发展。
3.2算法编程的普及。在中小学阶段,人工智能相关课程要渗透编程教育,鼓励用算法编程提优提质智能机器人、创意电脑作品、益智游戏活动水平,从而在活动过程中理解人工智能核心素养概念,清晰计算思维在中小学人工智能教育中的地位和作用,培养学生的计算思维和问题求解能力,达到人工智能教育课程的核心目标。开展人工智能教育要注重普及性,围绕计算机算法、图形化编程和Python等核心内容,研究图形化编程\Python\C++在不同学段(年龄)的适用性,使学生通过需求分析、构思算法、设计流程、编写程序和调试验证等过程来加深理解编程思维的方法与步骤。学生在知、情、意、行的动态学习中,逐步提升认知、决策与创新能力。算法语言的讲授要考虑普及性和接受性,要浅显易懂,操作简单明了,循序渐进。通过降低教师的授课难度推进算法语言课程的发展速度。
3.3分学段推进。算法语言教学目标是分学段实现的。推动算法语言普及,力求做到“一马平川”。小学低年级阶段可以认识图形化编程、图形化的指令积木搭建程序,从兴趣出发,认识人工智能,辅以体验机器学习、人脸识别、图像识别人机交互和无人机等技术。三年级开始可以逐步掌握图形化编程,辅以掌握基本的语音识别、图像识别、智能翻译和手势识别等图形化编程工具。五、六年级可以初步掌握Python这种跨平台的计算机程序设计语言,融入计算机算法促进Python的学习。适当增加语文阅读与表达、数学游戏化学习、英语分级阅读等方面的智能应用。七、八年级可通过问题导向进行项目式学习,初步学会应用Python代码驱动智能机器人行为,提升AI创意编程、智能设计、智能机器人的竞技水平。各阶段学有余力的学生可以进行C++程序设计语言的学习,深化计算思维能力的培养,参与信息学竞赛。通过中小学人工智能教育的学习,提高学生参与人工智能科普活动创新源动力和学习人工智能学习的兴趣。
4教学实施策略
4.1从娃娃做起。邓小平提出的“计算机普及要从娃娃做起”,为中国的计算机产业发展铺垫了道路。在智能时代的今天,要培养智能时代的合格公民。人工智能教育普及要从娃娃抓起,为学生终身学习和发展奠定基础。广泛搜集国内外人工智能教育及国家对人工智能人才的培养方式,在中小学构建人工智能教育模式,从娃娃开始培养人工智能技术方面的人才。4.2编程学习生态链盖茨说过:“应该让孩子们从小就学习编程,这与学习语言一样重要,它能培养孩子们的创新性新方法,学习解决问题的技能。”从人工智能认知、人工智能科普、人工智能赋能编程教育三方面来探讨人工智能生态下如何构建编程学习生态链,培养学生的计算思维、设计思维、工程思维,培育适应终身发展和社会发展需要的核心素养[2]。在线学习教育开展计算思维教育,平衡教育资源,把创造性学习螺旋和游戏化教学理念融合到开展人工智能启蒙教育中,让学生运用算法抽象模型,进行一些自主探究实践。
4.3一核四翼展开教学。以“一核四翼”展开实效性研究,在计算思维的培养过程中开展计算思维培养与人工智能教育的研究探索。4.3.1算法编程优先机器学习是人工智能领域的热点。机器学习算法正是其它算法的延伸。通过算法编程,才能模拟或拓展人类的认知和思维的机器学习。中小学开展的信息学竞赛、AI创意编程、智能设计、智能机器人项目等人工智能活动都是以算法编程为基础。4.3.2四翼为载体“四翼”为载体,展开计算或推理,模拟或拓展人类的认知和思维的AI活动。理解传感、运动、控制知识,并能够用于人工智能科普实践;理解人工智能算法基础,能用数学建模、算法编程工具等体验人工智能工程问题;培养学生的创造力、设计能力、动手实践能力、沟通协作能力;培养学生的计算思维和工程思维[3]。
4.4教学技艺。算法是程序设计的灵魂。算法教学是程序设计语言教学的基础。程序设计语言教学是算法教学的必要的延续。4.4.1浅入深出算法是解决问题的方法和步骤,是一种数学建模。教师在程序教学中要遵循浅入深出原则,通过问题分析理解简单特例的解决,减轻对算法的畏难感,渐渐深入、步步推算、数学归纳形成算法。让学生对算法和程序设计有一个感性认识到理性认识的经历,以降低学习的难度。例如,解决“一猴子登台阶,一步上一阶,也可以一步上二阶。登完N级台阶共有多少种不同走法?”该问题的算法,从简单规模入手:n=1时,有1种走法;n=2时,有2种走法;n=3呢?朴素的枚举有3种走法;n=k呢?让学生发现规律(f(k)=f(k−1)+f(k−2)),进而激发学生建立算法的兴趣。经历了实验、尝试、归纳证明等阶段逐渐形成建立在简单的数据结构上的算法(重复执行:a=a+b,b=a+b),并用程序去实现(见图1),让学生体验成功的喜悦。4.4.2融合数学知识计算机算法和数学算法是有区别的,但又密不可分。因此教师在教学过程中,可以从学生熟悉的或感兴趣的数学问题出发,进行算法与程序设计教学。从解决“反向输出三位数”这个问题的算法可以看出,因为学生有数学基础,所以容易写出如下算法Python代码:m=int(input("输入一个三位数:"))a=m//100;#求百位数ab=(m%100)//10;#求十位数bc=(m%100)%10;#求个位数cprint("%d%d%d"%(c,b,a))但从计算机算法角度考虑,优选以下的算法:m=int(input("输入一个三位数:"))a=m%10#分离个位数am=m//10#右移一位求新的mb=m%10#分离个位数bm=m//10#右移一位求新的mc=m%10#分离个位数cm=m//10#右移一位求新的m=0print("%d%d%d"%(a,b,c))分析该算法第2第3行的语句,基本上是重复写了三遍。最大优点是:逐位分离数字,容易移植到循环体中。通过“n=n*10+a”逐步收集分离数a,最终反向输出多位数。这充分体现了算法的严谨性、多样性、优劣性。4.4.3引导自主创新“学起于思,思源于疑”,学生探索知识的思维过程总是从问题开始,又在解决问题中得到发展和创新。算法与编程教学过程中,学生在教师创设的情境下,动手动脑,探索对知识的理解[4],寻找客观规律,建构算法,自始至终参与这一探索过程,并对已解决的问题寻求新的算法,不断发展创新能力。例如,对于图2几何图案,引导学生囿于二重循环for(图3),不断创新算法以解决一类问题。4.4.4合作学习教师在算法设计教学中多设计一些学生互相配合完成的目标任务,增进学生的合作意识,培养他们的团队精神[5]。例如,图2(3)的菱形图案的算法建立,可以组织合作学习小组,共同挖掘现有数学知识,探讨基于图3算法框架的数学模型。坐标法:在菱形中心建立直角坐标系,如图4所示。这样很容易引发出算法参考代码:foriinrange(-k,k+1):forjinrange(20+abs(i)):print('',end='')forjinrange(n-2*abs(i)):print('*',end='')print()对学生来说,也可以引导他们应用解析法来共同完成该任务的新算法。算法的探究无止境,积极引导学生发散思维,激发他们的学习兴趣,在不断应用知识迁移、不断进行创新的同时提高教师自身的信息素养水平[6]。教师不仅是计算机学科的基本概念、基本知识和基本操作的传授者,更重要的是成为学生学习计算机知识、掌握计算机能力的引导者和领路人。
5结束语
本文主要探讨的价值在于:让学生了解人工智能的概念、应用方向以及实现原理;理解计算机编程知识,能够使用编程语言提升人工智能科普活动的品质。探索人工智能教育形态支撑计算思维培养的目标;探索人工智能教育与信息技术教育、编程教育、智能机器人教育、STEM教育、创客教育的关系;探索人工智能普及教育各学段相关课程应该以怎样的形态存在;如何以最小的代价,取得人工智能普及教育的最大效益。
参考文献
[1]王顺晔,王宁,刘大勇,冯越.中小学人工智能教育现状调查及对策研究.电脑知识与技术,2019(11):15-18
[2]居晓波.智能生态下开展编程创新教育.中小学信息技术教育,2018(2):21-25
[3]中国的“AI+教育”进击之路,走到哪了?.
[4]费燕.数学课堂中学生自主能力的培养.教育教学论坛,2010(10):55-61
[5]龚娟丽.浅谈数学教学中的能力培养方式.新课程学习(下),2011(02):155
[6]褚金岭,谢忠新.面向素养培育的中小学人工智能教育实践探索.中小学数字化教学,2021(04):10-13
作者:林进东 单位:福建省福州第十八中学