计算机编程教学范例
前言:一篇好的文章需要精心雕琢,小编精选了8篇计算机编程教学范例,供您参考,期待您的阅读。
编程能力是学生走向工作岗位必须具备的基本能力,提高学生的编程能力是计算教学必须达到的目标。当前国内高校教师在计算机编程类课程中教学方法不佳,使得学生学习主动性差,编程能力弱。本文分析了学生的编程能力现状与提高的重要性,并提出了在计算机教学中提高学生的编程能力的建议。
【关键词】
计算机;编程能力;实验
1学生的编程能力现状与提高的重要性
编程能力是计算机专业学生的基本专业能力,是获得企业青睐与走向工作岗位必须具备的基本技能。在计算机应用中的程序设计和系统开发工作都需要学生具备良好的编程能力,而良好的编程能力具体包括稳固的数学基础、强大的逻辑思维能力、灵活的建模能力,对集成开发环境、测试工具、软件工程规范的熟悉,除此之外还应当具有不怕苦不怕累的精神和与人顺利沟通的团队合作能力。但是当下高校计算机专业学生普遍存在编程能力不强的问题,如学生掌握了一定的编程原理,老师教的编程方法也能够自己操作,但是当老师提出要学生自己完成一个程序时,学生就无从下手。这使得学生毕业后无法顺利找到工作,实现自己的价值。因此,提高计算进专业学生编程能力是计算机专业教学亟待解决的重大问题。从教学方面讲,造成学生编程能力不高的原因是教师的教学方法存在问题,因而,必须改善教学方法。
2在计算机教学中提高学生的编程能力
2.1运用通俗、生动的语言帮助学生理解专业术语
语言是教师教学的隐形工具,只有有效的使用课堂语言,才能更好的发挥语言的感染力,引起学生倾听的兴趣,才能使学生的学习效率更高。计算机编程课程中的专业术语非常多,而且晦涩难懂,教师直接向学生灌输编程语言,学生难以理解,掌握起来也十分困难。所以计算机教师在讲授编程课程时应当将计算机编程的专业术语进行通俗化,例如在讲解语句格式时,向学生讲明,语句与祈使句类似,它是没有主语的,它表达的意思就是下达命令,而语句格式中的命令表示的是动作,参数表示的动作的对象,语句的深层含义就是命令计算机去执行工作。这样一比喻通俗化,学生就能很快的理解语句格式,并且不会忘记。又如在上排序这一课程时,将排序比喻成了学生体育课排队,能够通过不同的方式让学生的队伍按从高到低或从低到高的顺序排列。一样依赖,学生脑海中会形成一个具体的形象,感性认识加深了,结合老师的讲解和自己的思考,理性认识也逐渐形成,最终掌握了知识要点。
2.2设置故错启迪学生积极思维
例如编程时常常需要交换两个变量的值,讲此问题时,我就采用“故错”的教学方法。首先将题目布置下去让学生自己完成,然后找一个直接采用A=B:B=A这种错误方法的程序展现在黑板上(多数学生采用此方法),然后引导学生一起分析程序,当讲到这一语句时故意加上停顿给学生思考的时间,至此就会有学生提出质疑了,如何解决呢?此时就可将其比喻成两杯饮料,要交换,而饮料不能丢失,学生会马上说“再拿一个杯子来”,这样,必须借助于第三变量的问题就提出来了,程序也解决了。学生在编制这个程序的过程中始终处于思考的状态,教师通过一个错误的语句一步一步启迪了学生的思维。
2.3实验中当好学生助手
实验是计算机编程课程的重点与综合体现,首先实验教学要选定合理的实验题目。实验题目应当具有实践性与趣味性,比如当我们编写一曲音乐演奏程序时,他的设计过程与方式是多种多样的,这个时候应当充分发挥学生的主观能动性与创新能力,不要局限在小范围内。所以教师不应当在授课之出就给定题目的解决思路与方法,让学生自由发挥。在实验的过程中,教师万万不可以自己的“经验”来否定学生的想法,即便学生的思考模式是“错误”的想法,而是应当鼓励学生,让他们通过完成实验来进行自我判断,从而提升学生的实践能力和创新的勇气。其次,实验教学的开展应当合理的安排作业。我认为实验作业的布置可以分为三大类:一是当堂完成的实验,这类作业应当尽量简答,因为实验课程占据的较多的时间,剩余时间有限,所以作业应当尽量简单但必须符合当堂教学的主题;二是综合类的实验,在课程安排上应当合理的安排集中上机时间。保证学生在一段时间内能够将所学的知识巩固,在这个基础上应当按照课题进行小综合训练。三是课程开展初期布置大作业,让学生带着这个大作业来学习,随着课程的进展让学生不断的去解决大作业中的问题。其实,这个大作业就是一个项目,这个项目涉及的问题应当广泛,可以有一些课堂上不会讲到的知识,让学生在课下去自主的查找资料,提升自己,解决问题。在课堂上分阶段的对大作业进行讲解,让学生在课堂上对一些问题开展讨论交流。对于学生的结果不要直接就下定论,而应当积极的引导学生,不断的训练提升学生的观察能力、逻辑推理能力、判断能力等等。
2.4案例教学法
据我了解,所谓案例教学就是在教学过程中引入实际的程序设计案例。案例的应用能够使教学内容更贴近应用实际,也能够让学生明白企业中真正需要的是什么样的工作。案例法结合学生的自由讨论,能够激发学生的学习兴趣,并提升学生自己解决问题的能力与创新能力。在案例法的应用中,用侧重以下几点:首先要充分发挥学生的主体作用和教师的主导作用,遵循循序渐进的教学原则,引导学生对案例进行分析。其次要对涉及形式和执行过程的解释,遵守直观性教学的原则。再次,在案例教学过程中应当应用一些较为经典的案例来提升学生的基础知识,还应当应用一些较新的案例,避免所学知识的落后和与企业需求脱节,这就需要学校与企业建立良好的关系,从企业中获得进行案例教学的良好教材。
2.5项目教学法
引入项目教学法,从数据结构、语法、算法、优化、规范化编写代码等不同方面和角度培养学生编程能力,并通过具体项目实战提高学生的编程能力将对计算机编程语言类课程的教学改革起到促进和示范作用。在教学过程中围绕教学目标提出项目教学,围绕项目展开教学。以任务为驱动,师生双方边教、边学、边做来完成某个教学目标和教学任务,融理论教学、实践教学、生产、技术服务于一体。充分发挥师生双方的主动性和互动性。应用项目教学法培养学生实战工程项目的各种能力,包括团队协作、适合工作角色的工作能力等。同时也要求教师教学思想不断进行创新、发展。掌握大型软件开发方法,通过分工合作的方式完成大型软件的编写,这个时期是综合运用专业知识解决实际问题的时期。相关课程也要布置大作业,但这时的大作业要由一个组的各个成员配合完成,这时不仅要写程序,还要按照软件开发的规范完成各个阶段的文档,学生要根据自己所做的大作业进行答辩。大作业也可以与课程设计相结合,使学生在实践中消化所学的课堂知识。
作者:朱维娜 单位:西北工业大学明德学院
【参考文献】
关键词:高职院校;计算机软件编程;实训教学
1计算机软件编程岗位的需求
随着计算机技术的快速发展,计算机软件也得到了相应的发展,从岗位人员的需求量而言,社会对人才的需求不断增加,从社会对这方面的人才需求来看,未来社会需求最大的三种岗位分别是软件测试工程师、软件编程人员以及项目经理,而且随着社会的快速发展以及软件企业的规模不断扩大,对不同层次、不同专业的人才需求也将不断增加,对高技术人才的需求将不断加大。从整体的数据调查结果来看,计算机软件专业需求量最大的三个层次分别是,既懂技术又懂管理的综合型人才,比如之前所说的项目经理,其次就是类似于JAVA工程师和·NET设计师的软件工程师,最后就是熟悉编程和编程软件的程序员。从之前的数据分析来看,国内软件和服务市场将会再度扩大,这也就意味着对软件方面的人才需求量也在不断增加,这些数据和社会调研都在充分表明,计算机的软件编程行业正在面临着一个巨大的机遇,需要高职院校等教育机构抓住机遇,获得更好的发展。从企业对软件专业人才的专业水平和一些关键能力的需求而言,IT行业人才需求最大的特点就是对不同岗位的人员提出了更加明确但又存在差异的要求,这就意味着如果按照传统的模式进行人才的培养根本无法满足当下社会对计算机编程人才的需求。当前的企业用人单位不仅要求编程人员具备较强的专业水平,如数据机构知识、算法知识和操作系统方面的知识,还要要求从业人员具备良好的适应能力、学习能力、团队合作意识等,当下的高职院校计算机软件编程的实训模式就可以从以上两个方面,注重学生的实践,根据社会的需求进行人才的培养。
2计算机软件编程实训的总体思路和规划
软件开发设计的专业领域主要包括前端页面设计、后端逻辑代码编程以及数据库设计,与之对应的社会需求岗位分别是前端业面设计师、软件设计员以及数据库设计人员,在编程实训课程设计中,要注重学生的项目开发能力、项目分析能力以及相应的枝叶素质的培养,要让学生的实行内容和实际工作内容相符合。在编程实训的设计中,应该要以坚持职业岗位能力作为本位的主要原则,让学生作为教学主体,并在此基础上改进教学手段和教育方法,从根本上保证实训的有用和有效,在提升学生专业知识能力的同时,提升学生的团队合作能力。实训的总体设计思路应该是“学习、分析、实践、评价、创新、构建”为主线,做到理论和实践的完美结合,全面提升学生的实际应用能力[1]。
3计算机软件编程实训教学的实施
3.1构建以“任务、模块、项目”为载体的实训内容
实训内容和实训题材的选取对达到实训的最终目的有着关键作用。学校要邀请校外合作企业的专业人士组成一个软件编程实训课程的开发小组,让这些人员共同帮助学生完成程序的开发。专业教师首先需要进行讨论和调研,对相关软件职业领域进行全面分析,了解软件的实际开发过程,并将具体实训教学分为三个方面:首先是基础知识的训练和典型任务的实践,更加突出对软件开发的基础知识训练。其次是根据典型模块进行小项目的设计开发,该小项目是用来考验学生的综合应用能力,或者说职业岗位实际需求的能力。最后就是基于实际应用的软件项目开发,这就是对知识的综合应用了,不仅包括学生的实践能力,还包含了职业能力的培养[2]。
3.2通过模拟“工作过程”构建实训教学情景
实训教学的目的是培养学生的专业能力以及岗位所需要的关键能力,将“任务、模块、项目”作为载体,通过一定的整合,从基础知识训练到综合应用再到实际应用层层递进的方式组织实训教学。且要将工程项目全面的贯彻于整个教学中,学生在接受项目的那一刻起,就正式步入项目实训,然后按照工作要求和流程完成项目的开发。在以实际岗位需求为原则的前提下,突出哪些开发部分需要重视,又具有哪些典型的任务,以此还原出真实的软件开发岗位工作流程[3]。
3.3以“行动导向教学”为主的实训方式
学生要按照需求分析、搭建框架、设计、编码、系统综合和测试、项目的流程进行项目实训。在具体的教学过程中,学生更多的是以学习为中心,教师作为项目的组织者和协调者开展完整的实训教学。学生的实训环节包括接受任务、独立进行项目开发、团队协作、计划实施、解决问题,教师的职责包括组织和调控、帮助学生、目标引导以及解决问题和纠正错误[4]。
4结束语
高职院校应该要将科学技术变为实际生产力,并且自身还要作为专业技术人才培养的摇篮,要利用理论和实践相互结合的实训教育模式,培养出符合社会需求和社会发展的适应型人才,而具体如何通过实训培养出高素质的应用型人才,可以从上述方向出发,以满足岗位需求为前提,构建以“项目”为载体,“工作过程”为导向,“行动导向”教学为主的实训教学体系。
参考文献:
[1]王长玲.高职院校计算机软件编程实训教学模式研究与实践[J].才智,2019(19):24.
[2]白文忠.高职院校计算机软件编程实训教学模式研究与实践[J].计算机光盘软件与应用,2014,17(24):256+258.
[3]赵晓丹.高职院校计算机软件编程实训教学模式分析[J].花炮科技与市场,2019(3):116+119.
关键词:计算机工程,软件系统,Java编程。
0引言
随着计算机应用范围不断扩大,给人们的生产生活提供了重要的便利条件。通常计算机软件的性能直接关系到计算机的应用效果,所以将Java语言合理的应用到计算机软件的编程过程中,能够切实增强软件的安全性和稳定性,为充分凸显出计算机软件的功能奠定坚实的基础。
1计算机软件Java编程语言的特点
1.1具有足够独立的平台
计算机软件Java编程语言具备足够独立的平台优势具体表现在Java虚拟机上。通常在计算机软件编程的过程中进行有效编写,并将编写的内容翻译为中间码之后,再采取合理的措施来保证安装、校对、检验工作顺利开展,并采取转型机器码来完成操作过程。这样通过将Java语言应用到计算机软件的编程过程中,能够有效避免特殊性平台的不合理标准,从而有效保证系统中的Java虚拟机能够正常运转[1]。
1.2面向对象的直接操作
Java编程语言在编写计算机程序的过程中并不是一同编写全部的程序,而主要是先将整体的程序进行细分,将其合理的划分为多个小板块,再以这些各个小板块之间存在的属性差异作为主要的依据,合理的选取出具有较强针对性的编程方案。同时,在进行系统内程序的编写过程中,应该切实保证各个板块间的独立性,从而有效提升计算机软件编程的效率。Java编程语言之所以能够广泛应用于计算机软件的开发过程中,主要是因为Java编程语言具有多元性、传承性、密封性和动态式编程的优点,所以在对任意一个板块进行整改的过程中不需要改动其他板块[2]。这样通过对相关对象直接进行合理的操作,能够有效提升计算机软件的工作效率。
1.3具有多线程的特征
Java编程语言的一个非常重要的特征就是多线程,能够保证应用软件正常运行。Java编程语言主要采取的是同步源语来规范数据操作流程,能够切实增强Java语言在计算机软件中应用的精确程度。正是因为Java编程语言的多线程特征,能够有效提高开发软件的质量。因此,作为计算机软件编程人员必须不断增强自身的综合素质,这样才能够更好地在编程Java语言的过程中发挥作用[3]。Java编程语言主要就是将多线程机制作为重要的依据条件,并逐步采取了差异较大的方法,坚持将理论内容与实际经验进行整合,切实保证Java语言的安全性和动态性,有效避免将较多的资金应用到多次的检修软件编制程序中,从而有效降低计算机软件开发的成本。
2计算机软件Java编程技术的应用
2.1Java编程技术在移动设备的应用
通过对Java编程语言的优势特征进行分析之后发现,Java编程语言所涉及的范围较广,所以在将多种技术融入移动和无线设备中的时候,能够更好地完善Java编程技术。这样通过在移动和无线设备应用中建立起良好的技术壁垒,真正达到优化设备水平的目的。
2.2Java编程技术在信息化系统中的应用
传统的行业领域在现代信息化技术快速发展的背景下获得了较大的发展机遇,让传统行业呈现出信息化的发展态势。Java编程语言通过立足于信息化技术的基础上深入分析系统的价值,充分认识到Java编程语言的重要性,再合理地将Java编程技术逐步融入服务器和计算机软件开发中[4-17]。通常在信息化系统中应用Java编程语言,对减少开发成本,切实增加传统企业的经济收益具有重要的意义。
2.3Java编程技术在网络教学系统中的应用
在现代教育水平快速发展的背景下,需积极进行教学形式革新。网络教学凭借着突破时间和空间限制的特点,让网络教学形式受到了人们的认可。通过将Java编程语言合理的应用到网络教学系统中,让Java编程技术的作用更好的凸显出来,这样能够为学生提供丰富的学习资源,有效拓展现代化教学途径,最大限度提升网络教学的水平。
2.4协助互联网规划图像和图形
JAVA编程语言在利用计算机软件规划图像和图形时发挥着重要的辅助性作用,是保证互联网与计算机各种动图和视频能够保存下来的重要因素。JAVA编程语言在规划动态画面方面具有突出的优势作用,能够有效巩固计算机软件开发的关键性作用。通过从这个角度进行思考,如果在计算机软件开发中无法灵活采用Java语言,则会导致使用者始终接收到零散的图片,甚至无法将软件的作用更好的凸显出来。只有全面认识到Java编程语言应用的重要性,再将Java应用到计算机软件的开发过程中,以此保证计算机软件能够正常运行。
2.5实现交互操作
计算机软件开发通过合理采用Java编程语言,让系统真正达到交互操作的目标。通过在计算机软件开发中利用Java编程语言的针对性、不定向性和选择性、定向性互换的作用,以互换的形式来整合各种信息资源,充分凸显出计算机软件的可操作性。同时,通过采取这种教学方式,能够保证计算机软件达到规定的标准,更好的辅助计算机软件进行交互操作,为广大计算机使用者和软件使用者提供便利性的条件,最大限度提升JAVA编程语言在计算机软件编程中的应用实效性。
3结语
1.1程序语言主要是英语,不容易理解
几乎所以的计算机语言都是英语,大部分英语单词不是常用的词语,造成学生在学习计算机程序的过程中,必须先查字典翻译程序中的词语,才能理解程序中命令和语句的意思。有的就是查找字典了,也翻译不准词语的意思,因为大部分计算机语言中的词语意思是专业英语,只在计算机中代表特定的意思,而在其他语境中却代表另外的意思。
1.2计算机程序语法和结构严格,不容易掌握
计算机语法和结构比较严格,所有的变量必须先声明,语句结构有严格的顺序和组成部分,缺少任何一个标点就可能会造成错误或者程序执行不了。所以学生要记住大量的语法结构和特殊符号,要不然根本理解不了程序,更不可能写出程序。
1.3计算机程序逻辑性强,程序不容易设计
在编程过程中,往往为了解决一个问题要运用很多语句和命令来解决问题。但计算机语言是逻辑性很强的语言,在程设计的过程中学生往往不知如何下手,不知道用什么方法来解决问题。就算知道用什么方法解决问题,但在解决问题的过程中,往往缺少相关命令或者考虑不够全,造成程序编写错误,或者根本到不到预期效果。
2易语言的特点和易语言用于编程教学的优势
2.1易语言的特点
易语言是主要以汉语作为命令和程序代码一种计算机编程语言。由于易语言是全中文支持模式,编程者无需很高的英语水平,就可以学习和掌握易语言。易语言跟其他大部分开发语言一样,它拥有专门的、可视化的、集成化的开发环境,用户可以利用它进行程序编写、界面设计、编译调试等一体化的操作。汉语命令和代码的快速录入与识别是易语言的最大特点,同时易语言的语法结构按照汉语的语义特点进行设计,特别是程序定义模块采用便于理解的表格形式,用户无须记住程序的定义方式和使用格式,直接填表即可。利用易语言编程,告别了其他编程语言繁琐的定义和严格的格式,不用在意变量的使用范围,符合学生的思维方式和特点,使学生更容易明白算法和语句结构,更深层次理解编程的本质。另外易语言提供的参数提示和引导技术,不用用户记住命令和语法,只需要按照中文的意思输入拼音即可获得命令提示和参数引导。对于初学者来说,易语言的学习就是打开编程之门的钥匙,对学习其他编程语言也是有极大帮助的。
2.2易语言用于计算机编程教学的优势
2.2.1易语言有利于提高学生学习编程的兴趣
目前高校的计算机编程课一般都是国外的开发的语言,学生不仅对语句与命令难以理解,而且要记住大量的语法与结构。许多学生看编程的书籍像是看天书一样,大部分学生一提起编程课就感觉是乏味和无趣,对其失去了兴趣。因此计算机编程课变成了大学中最无聊的课。易语言是以中文为基础的开发语言,语句和命令按照我们的表达方式来命名,同时,语法结构也按照我们的思维习惯和表达方式来设计,符合我们心理特点。另外它也是可视化的、集成化的编程语言,利于学生理解与操作。所以能提高学生的兴趣,使计算机编程的学习变的比较容易。
2.2.2有利于学生培养编程思维意识
程序编写的本质就是运用逻辑思维解决问题,要学好编程课程其关键点在于培养学生的逻辑思维意识,提高学生的计算思维意识,使得学生养成一种编程思维和思想。易语言是窗体设计和代码编写相结合来实现程序编写的,支持可视化的操作,窗体和组件的属性都是中文形式。包括支持库、程序、编辑菜单栏都是中文语句。用户可以直接用中文输入命令和语句,也可以按照命令函数提示格式输入语句。它独有的帮助功能能够提示代码流程,可以方便用户理解程序所表达的意思。对没有接触编程语言的学生来说,可以快速上手,并可以在很短的时间内开发出小游戏和软件。
2.2.3易语言有利于减轻教师的授课压力
计算机编程不仅对学生来说是枯燥和乏味的,对教师授课来说也是有压力的。教师在讲课的过程中,往往需要反复讲解才能让学生了解特有的名词和语句,但由于学生没有计算机编程思维,又没有非常切合生活的实例,所以学生还是一知半解。其结果是教师费了很大的力,学生还没有学好。讲授计算机编程课的教师有很大的压力,因为不能用常用的语言来解释特定的命令和结构,同时在课堂上又要给学生讲解英文单词。大部分的程序都是英文,就算有时候讲解完也不能让学生完全明白其中意思,因为单词的意思往往也不能说明它在程序中的特殊意义。易语言的简单易学,可以让学生对程序的执行流程、语句结构等有一定的认识,教师也不用再翻译英文单词,降低了教师讲课压力。
3易语言应用于大学计算机编程课程的改革内容
3.1课程设计的改革
3.1.1采用灵活多样的课程设计形式
作为必修课程开展教学,针对广大非计算机专业学生,作为计算机基础课程中的必修课进行开设,由于非专业学生对计算机语言的应用能力不用太强。开设易语言课程,让其对计算机编程课有一个大概的了解和认识,培养一种计算机编程的意识。作为计算计算选修课开设,由于易语言在现实应用中还不很不广泛,大部分软件开发都还是应用的是常用的编程语言。针对计算机专业课的学生,需要利用编程语言来设计软件并在以后的工作中,利用语言来开发程序,易语言只能作为一个了解的语言,而不能利用易语言来实际操作和编程,所以可以作为选修课程来学习。也可以作为第二课堂来学习,在课余时间教师可以利用第二课堂,对易语言有兴趣和喜欢编程的学生进行讲解。有些学生喜欢编写小游戏或小软件,喜欢钻研计算机编程问题,可以开阔学生的视野,让他们学习易语言,并开发相关的软件和系统,提高学生的学习兴趣。
3.1.2分层次、分学科教学
由于易语言简单易学,可以在学生中开展分层次、分学科的方法进行教学。由于学生计算机水平的参差不齐,如果让有些计算机水平比较好的学生学习易语言,可能有些简单。易语言应用于实践的范围还不广泛,当前开发软件的主流还是国外的编程语言。所以对这些同学而言,学习易语言就可能浪费了时间。可以预先对学生的计算机水平进行测试,然后分层次教学。另外要分学科教学,针对学生学科的不同,来确定是否开始易语言和其他语言,让课程充分符合学生的水平,提高教学的效果和课程开设的科学性。
3.2授课方式的改革
3.2.1以易语言为先其他语言为后的教学方式
易语言中文可视化的环境和编写程序的特点,可以将其作为编程课程的第一门课,让学生对计算机编程语言中的程序集、子程序、变量、模块和定义有一个初步的了解和认识,让学生明白计算机编程语言的特点和本质;理解计算机编程中循环和判断的运行规律;掌握软件开发和系统搭建的基本原理。只有这样才能对计算机编程有了初步的了解,提高学生的学习兴趣,才能为学习其他编程语言打下基础。要以易语言为先,其他语言为后的教学方式改革计算机编程教学。
3.2.2开展自学与提问相结合的教学方式
计算机课程是一门理论与实践紧密结合的课程,特别是计算机编程课。学生对于那些难懂的术语和命令往往一筹莫展,也容易忘记。另外,只讲解理论学生从直观上很难理解,最终结果只会让学生对计算机课程失去兴趣,因此要理论与实践相结合。易语言的特点和优点,让学生自己很容易上手,易语言课程的讲授可以直接在机房中开展,可以开展自学与提问相结合的方式进行教学,教师再针对重点部分进行讲解。
4结语
中专学校适应科学技术发展的需要,在计算机教学中使学生获得更多的计算机基础知识,为学习其它计算机技术打下知识和技能墓础是十分必要的。但是,对于非计算机专业如何利用有限的课时数,在学习计算机基础知识内容上,使学生掌握一定的计算机技术在所学专业上的应用能力,并通过专业课的讲授过程中紧密结合得以提商,为将来工作上成为计算机应用方面的人才莫定坚实的基础,这是计算机课与专业课在教学中值得探讨的问题。 我认为,在教学中计算机课与专业课在教学内容上互相渗透互为补充,既能达到上述目的,又可提高教学质t。 在计算机课程的讲授过程中渗透专业课的内容,其做法是在讲授每一条语句的编程举例时,要尽可能地引人所教专业课有关课程中的实际问题进行编程所讲解。在单元课程结束后进行综合编程练习时,更多注愈选取有关专业课中较复杂的实际问题编程序讲解,这样做不仅能达到例举所学专业问题编程讲解的目的,而且又把计算机应用知识和技能引人所学专业,从而培养学生在专业上应用计算机的基本知识和技能的能力。 以我们给农艺专业上课为例,在教学中随着教学内容的由浅人深,由简到繁地引人了《田间实验分析与生物统计》课程中一些问题,进行编程训练与讲解,收到了很好的效果,使学生不仅很好地掌握了计算机课本身要求掌握的内容,而且学会了应用计算机进行田间试验结果分析与统计的墓本方法。同时由于同学们尝到了在专业应用计算机的甜头,更激发了学习计算机的浓厚兴趣,在计算机课结束以后的专业课教学中,每当遇到适合用计算机编程序解决问题时,就积极思考主动编写程序,利用课余时间上机调试,解决了一些课堂上和专业上的实际问题,这意味着虽然计算机课程结束了,但教学效果在延续,同时随着计算机知识来解决问题越来越普通,越来越向纵深发展,这样使学生对所学专业课也产生非常浓厚的兴趣,并有一种契而不舍的探索精神,达到了专业课与计算机课相互渗透的效果。 在计算机课程中渗透专业课的内容,在一定程度上对专业课的教学效果还起到了复习、巩固、提高和补充的作用。 完成上述做法,达到上述效果满要具备以下条件: 第一,要求任计算机课的教师应掌握所教专业的知识,否则就无法联系专业进行讲授。 第二,计算机课所用的普通教材要有较大篇幅的增删,增加关于专业问题的编程实例,最好对不同专业应编写不同的补充教材。 第三,计算机实验室要在业余时间向学生开放。 在计算机课程结束后的各门专业课教学中,有许多适合编程序求解的问题,单凭学生的兴趣利用业余时间编写程序是远远不够的。如果各专业课教师在讲授各门专业课的过程中将编程内容适当渗透到教学内容之中,对学生在专业上应用计算机知识在专业上的应用技能远远超过计算机本身所达到的水准,这是对计算机课的教学效果的再补充,使学生毕业后在短时间内就能解决一些生产中的实际问题,成为行业上的计算机应用人才山同样,完成上述做法,达到上述效果,首先要对专业课教师进行计算机应用技术培训,使其掌握计算机技术和计算机在专业上的应用知识和技能,否则在专业课中渗透编写程序内容是办不到的。 总之,计算机课与专业课教学内容相互诊透,无论对计算机课还是对专业裸教学都起到了相互促进的作用,尤其对提高学生计算机应用技术水平是大有益处的。
关键词:并行计算;教学方法;探讨
一课程设计原则和目标
(一)设计原则
《并行计算》课程的学习内容主要包括:并行算法设计、并行计算机体系结构和并行编程三部分[1]。该课程面向的学员大部分为船舶与海洋工程专业,具有明显的跨学科的特点,课程教学的最终目的是培养学生用并行计算的思想解决相关领域内具体应用问题的并行求解的能力,因此,课程应在围绕基本理论开展的同时,针对学生的具体情况,结合船舶与海洋工程专业各领域对并行计算应用的具体需求开展设计,避免出现重理论、轻实践的情况。
(二)设计目标
根据《并行计算》课程的特点和授课对象的特点,课程设计目标如下: (1)在教学内容上,讲授必要的计算机结构、编程的基础知识,弥补非计算机专业学生计算机基础知识的不足;(2)为了达到与各专业实际应用相结合的目的,根据不同专业应用背景设置具体的实做内容;同时,课程进行中引导不同专业学生之间对各自的并行计算问题进行交流与总结,达到相互学习,共同进步的目的。
二教学内容设计
根据课程的总体规划,《并行计算》课程的教学内容分为讲授和实做两部分,讲授部分主要包括:基本知识点、并行算法设计和实现、典型应用问题并行算法设计等内容的讲授,实做部分主要包括:熟悉并行计算机和编程环境,典型数值计算方法并行算法实现,专业应用问题并行算法设计与实现及讨论。
(一)讲授
(1)基础知识点
《并行计算》课程基础知识点的讲授主要包括五部分内容,一是普及非计算机专业学生关于并行计算系统的基本知识,二是以MPI为例讲授消息传递并行编程的基本思想和方法,三是讲解并行程序的性能评价和优化方法[3],四是以OpenMP为例讲授共享存储并行编程的基础知识,五是讲授MPI+OpenMP混合编程的方法和实现。1)并行计算概述。首先,从对并行计算应用需求谈起,介绍并行计算的应用方向和领域;接着,给出并行计算的概念,包括:并行计算的定义、高性能计算机TOP排名、并行计算分类等;然后,介绍国内外并行计算发展历史,结合并行计算机的发展历程讲授向量机、共享存储多处理机计算机、分布式共享存储并行计算机、大规模并行计算机、集群等概念;最后,结合本单位在并行计算研究和应用中取得的成果,讲授并行计算在实际中的具体应用。2)并行计算机体系结构与编程模型。结合具体的超级计算机示例,首先介绍并行计算机的体系结构相关的知识点;再讲授进程与线程这两个核心概念和编程环境;最后介绍并行编程模型和并行程序设计的基本思想。3)MPI消息传递并行编程。讲授内容主要包括:基础概念、基础编程、高级编程三部分。其中基础概念包括:MPI发展历史、MPI实现种类、MPI程序的一般结构、MPI程序的编译与运行、MPI数据类型以及6个最基本的MPI调用等内容;基本编程主要结合一些容易理解和实现应用问题的并行实现,介绍编写基本MPI程序的相关知识点,具体包括MPI程序设计的基本模式、通信域、消息、点对点通信等相关概念;高级编程主要结合实际案例介绍编写高效MPI程序的相关知识点,以ð值数值并行求解为例,分别使用点对点、聚合通信对其进行实现,分析比较不同实现方法的优缺点和使用范围。4)并行程序性能评价和优化方法。讲授内容主要包括基本概念、并行程序性能评价方法、并行程序性能优化方法等内容。其中,基本概念主要包括:并行程序执行时间、加速比、效率等内容;性能评价方法,主要讲述:加速比、数值效率、并行效率的概念;性能优化,分别讲述串行程序性能优化、并行程序性能优化的常用方法。5)OpenMP共享存储并行编程。讲授内容主要包括:基础概念、OpenMP指导语句、数据环境控制三部分。其中,基础概念包括:OpenMP发展历史、OpenMP指导语句、OpenMP存储模型等内容;OpenMP指导语句部分包括:parallel结构、工作共享结构、Tasking子句、结构嵌套规则等内容;数据环境控制包括:变量共享和私有、并行域边界数据处理、数据环境控制等内容。6)MPI+OpenMP混合并行编程。教书内容主要包括:MPI+OpenMP混合编程模式的结构、MPI+OpenMP混合编程模式的实现和性能评价三部分。
(2)并行算法的设计与实现
本部分内容,主要讲授如何运用MPI并行编程环境完成数值积分、矩阵相乘、线性方程组求解、FFT等典型的数值求解问题的并行算法设计、实现和程序性能的优化[4,5],同时,以ð的数值求解为例讲授MPI+OpenMP混合并行编程模式的设计实现及性能分析。重点培养学生运用并行计算的手段解决实际应用问题的能力。1)数值积分并行求解。以梯形积分公式(ð的数值求解)为例,分别讲述如何采用简单区域分解、主从模式数值积分并行算法设计和实现,并对两种方法的优缺点和并行程序的执行效率进行分析比较。2)矩阵相乘并行求解。主要讲授如何采用行行、行列、列行、列列四种划分方法实现矩阵相乘的并行算法的设计和实现,并结合并行算法对以上四种划分方法的计算量和通信量进行比较分析。3)线性方程组并行求解。主要讲述LU分解、三对角方程组求解得并行算法的设计和实现。4)FFT求解的并行实现。主要讲述一维、二维FFT算法的并行算法设计和实现,及其在多项式相乘、循环矩阵方程组求解中的应用。5)MPI+OpenMP混合并行编程。主要讲述如何在SMP集群上,采用MPI+OpenMP二级混合并行编程方法实现ð的数值并行求解,并结合测试结果,比较MPI、OpenMP、MPI+OpenMP三种并行模式的优缺点和使用范围。
(二)实做与讨论
实做与环节采用“基础十领域”的方式,与讲述部分穿插进行,实验既包含典型的MPI案例编程实现,又包括面向各专业自身领域的并行应用开发。在基础实验环节,由每个学生独立完成,学生结合教师对MPI、OpenMP编程知识点的讲授,以ð值并行求解、矩阵相乘、线性方程组并行求解等典型应用计算问题作为研究对象,采用不同的并行算法和通信方式,反复练习和比较分析,强化学生对MPI、OpenMP及混合编程并行编程基础知识的理解。在领域并行应用开发实验环节,实做部分主要为选择2-3个专业领域中常用问题,采用学生做、学生讲方式的方式进行,带领学生一起完成应用问题的并行求解,锻炼学生应用前面所学的并行算法设计、编程等基础知识解决学术研究和专业领域内具体问题的并行处理的能力。
(三)考核方式
《并行计算》课程的考核可以采用笔试+实做的考核方式,以考核学生对《并行计算》课程基本知识点的掌握情况和应用并行计算解决实际问题的能力,实现对学生并行计算理解与应用能力的综合评价。
三总结
随着并行计算机的普及和应用需求的增长,对并行计算基础知识的教学提出了新的要求。本文针对并行计算课程,结合作者在教学过程中的经验和思考,就如何在非计算机专业的学生中开展课程的教与学进行了探讨。
参考文献
[1]张林波,迟学斌,莫则尧,等.并行计算导论[M].北京:清华大学出版社,2006.
[2]徐新海,唐玉华,林宇斐.跨专业并行计算基础课程教学设计[J].计算机教育,2014,(23):106-109.
[3]MichaelJ.Quinn著,陈文光,武永卫等译.MPI与OpenMP并行程序设计[M].北京:清华大学出版社,2004.
[4]陈国良,等.并行算法实践[M].北京:高等教育出版社,2004.
关键词:初中计算机;教学;计算思维
“计算思维是一种运用计算机科学基本概念解决问题、设计系统和理解人类行为方式,涵盖计算机科学领域广度的一系列思维工具。”这种理论的提出成为众多学者的研究热点,现阶段很多国家已经完善了计算机和计算思维的融合。所以在初中计算机教学中培养计算思维是可行的,其对学生整体能力的提升是巨大的。
一、调研基本学情,结合计算机特点强化学生思维培养
中国的学情正由传统的刻板教学模式逐步向新时代新形式的现代教学模式前进,原本的教师讲、学生听的模式在逐步被更新取代。取而代之的是让学生成为课程课堂的中心,教师引导他们的思维模式,进而自主地得到教学成果。目前素质教育的推进存在地区性的不平衡,所以教师在利用计算机教学培养学生计算思维需要结合实际情况,根据自身的情况去设计学生思维的培养计划。小学阶段课程目标还处于引导学生学习,知识内容浅,那是因为小学生思维处于发展中,还不是很完善。而对于初中阶段的学生,他们即将思维完备,能接受较为复杂的逻辑思维,动手能力、创新意识都很强,正是开始计算思维培养的最佳时期。因此,教师要结合初中各年级学生思维的特点,合理地进行思维培养。比如七年级的学生虽然还不能接受编程这种较为复杂的内容,但是一些简单命令的运用已经很成熟,教师可以设计Scratch图形化编程,以命令积木拼搭的模式来对学生进行计算思维的培养。学生学会了拖拽指令的这种积木拼搭模式,可以自主的创作出故事、动画、游戏、音乐,进而实现学习发展。
二、展示教学案例,引导学生计算思维形成
现阶段计算机教学中思维的培养很是成熟,有很多经典案例可以找到,教师可以在教学课堂上展现不同类型的案例帮助学生去了解计算机课程,从而建立计算思维。教师可以在课堂上展示一个动画小程序,比如《飘落起舞的雪花》,在观看之后先让学生构思大致的要怎么样完成这个项目。一般情况下分这样几个步骤:第一步,组织学生分析雪花是怎么形成的?要怎么实现它飘落的效果?构思书写语句尝试实现。第二步,在完成一个雪花条件下,用复制的模式复制出多个雪花,再通过数轴的减少移动,来形成雪花飘落的动态效果,在其中增加旋转角度,让成果更加生动、自然。第三步,分析完操作步骤和要添加的注意事项,学生可以尝试自己编程,将之前的示范步骤,独立地去完成。第四步,教师检查学生所做出的教学成果,并对教学成果进行评价,鼓励引导学生开发改进方案,让学生在改进中,进一步熟悉整个编程的计算思维。在独立完成和调试程序过程中,学生完全依靠自己独立的计算思维。在整个编程的完成过程中,学生需要经历纠错、调试、改进等多个步骤。在这个复杂的过程中,学生形成了独立思考的计算思维,自主的动脑去解决遇见的困难。每个学生都是经过“分析—设计—编程—测试—调试”等一系列的步骤独立地完成自己的作品。计算机编程是非常严密的逻辑思维,在这个过程中出现一点的错误也会对最后的成果有较大的影响,对学生的整体能力和意志力有很大的锻炼。同时教师要鼓励学生自主地略微改变程序,可以把雪花变花瓣,也可以根据自己的喜好改变颜色,或者飘落速度。
三、分析、归纳、总结,与学生探讨计算思维成果
计算机的应用非常广泛,所以很多案例都可以引发学生兴趣,让学生去亲身操作和实践。在课堂上教师要放开手,鼓励学生多思、多练、自主探究获得新知识,每一次的尝试、每一次的思考都是对学生计算思维的提升。在课堂中老师要及时帮助学生查缺补漏,帮助其分析原因,总结经验。如果学生能够提出自己的想法和程序算法,按照自己的程序算法编程设计,那学生的计算思维达到了良好的效果,在以后的编程中必定水到渠成。在教学中教师一定要注意学生的情绪情感变化,如果观察学生的课堂积极性不高,或者编程步骤非常不顺利,应及时给与引导和帮助,必要时可以在进行知识的复讲。实现课堂活灵活现的教学攻略。计算机课堂与其他科目的课程其实差别很大,计算机课堂教师更应该进入到学生之中,把课程交给学生,培养学生自主学习、自主解决问题能力。这种课堂观念区别于传统的观念,是时代的产物,但是他是符合新课标的,教师要做的是教会学生,而不是简单的让学生进行仿照和克隆。学生能够自主的创设出程序,才是计算思维的培养成功,教师为了达到这一目的,教师转变成课程的引导者、小结者,教师并不是教学的主角,要帮助学生成为教学的主角,这样才能够强化对学生的计算思维培养,促进学生更为长远的发展。计算思维的培养是极为重要的,不仅用于计算机教学中,在高精尖的技术中对计算思维的要求也都非常高。但是在计算机运行程序中,计算思维应用最为广泛,所以在初中计算机课程中发展学生计算思维的训练是非常关键的。在课程中,学生丰富了计算机知识,养成了独立思维,并可以自觉地创新,对学生的整体提升都很大。计算思维还可以培养学生举一反三地能力,教师只需要调整教学策略、逐步引导学生、发现规律、总结规律,引导学生养成独立探究地思维模式,完成综合素质教育,就能够实现学生综合能力的提高。
参考文献:
[1]朱云溪.计算机教学中学生计算思维的培养策略研究[J]电脑知识与技术,2016,12(01):185-186+188
[2]任友群,隋丰蔚,李峰.数字土著何以可能:也谈计算思维进入中小学信息技术教育的必要性和可能性[J]中国电化教育,2016,(1):2-7
关键词:人工智能教育;计算思维;算法编程;最大效益
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