新闻列表
咨询热线:
187 - 6397 - 2757
编程教育无疑越来越成为信息技术教学的重心,但是如何实施也有不同做法,如基于算法、语法、应用开发、计算思维等不同角度。如今,对如何落实计算思维这一学科核心素养,将成为我们教学的新责任。本期解码,让我们从两个完全不同的教学思路观察同一个教学内容,体验不同的教学过程,探讨程序教学的特点。
编制计算机程序解决问题 ——应用编程绘制函数图象
刘志韩 山东省青州第一中学
本节课是必修课程内容,通过这节课的学习主要让学生了解VB的编程运行环境,初步认识程序的作用;体验完整的编程过程,感受计算机解决问题的基本过程;通过实践探究初步培育计算思维。
本节课的主要特点是,在学习任务的设计上,具有层次递进的特点。任务一是基础任务,需要同学们完整的按照老师的演示和要求做出来,在这个基础任务的完成过程中主要是让学生体验完整的编制程序绘制函数图象的过程。任务二是在任务一的基础上以小组为单位,小组长具体分工,通过对函数表达式各个参数的修改观察函数图象的变化,任务二不仅仅印证了数学方法,也让学生体验编程解决问题的特点和算法的意义,并为接下来的任务三做铺垫。任务三是在给予一定提示的基础上发挥学生的想象力自由创作,深化对本节课知识的理解。
课前准备:有效组织才能提高效率
将学生分为4个小组,每个小组选一个小组长,课前交代好小组长本节课需要做的工作,小组成员之间具体的任务分工,小组成员的合作,以及小组长的总结发言等具体事宜,以小组作为评价单位进行评价。
情景引入:用代码与效果共同演绎程序的功能
教师通过屏幕运行程序让学生回答是哪种函数图象。然后,出示抛物线、双抛物线及多个函数的图象程序代码,指向函数表达式,进行观察。
本环节不仅直观呈现出程序解决问题的优越性,也从感官上消除了利用编程绘制函数图象的神秘感,直观感受程序的强大功能,从而激发学生的学习兴趣。
问题分析:问题解决是算法设计的根本出发点之一
教师引领学生回顾数学方法,如抛物线图象取值描点绘制图象的过程。
作为程序设计的灵魂,算法本身是一个非常抽象的概念。由学生已有的数学知识描点法绘函数图象作为切入点,更容易理解计算机编程解决问题的算法思想。为接下来的流程图分析做准备,更好的引出算法概念。
通过课堂效果反馈来看,这一环节的设计非常有必要的,学生在描点绘图中体会到计算机绘图可能采取的方法,即对认识算法概念的生成。
算法设计:在画流程图中让算法与思维紧密结合
教师活动:在体验了取值描点绘函数图象的基础上,分析并完成流程图的制作。参考图示如下。
通过以上流程图,不难深入理解到:算法就是解决问题详细的方法和步骤。算法是程序设计的灵魂,接下来的程序编制也是以算法为依据。可见,对于算法的概念“算法就是解决问题详细的方法和步骤”,学生在零基础的基础上通过具体的分析问题的过程,更容易接受算法的概念。
编制程序:动手实现是计算思维的形成过程
教师与学生一起再回到最初演示的函数图象程序观察、分析:界面的组成包括两个控件,可在运行程序后分析两个控件分别有什么样的功能。然后,体验控件的创建。
1.理解程序的界面设计是做出程序控制的外壳。
为了让学生了解VB程序可视化的特点,从整体上了解VB编程的完整过程,基于学生第一次接受VB语言的现状,通过模仿练习操作是最直接掌握操作的方式。
教师演示在窗体中添加按钮控件和图片控件:以按钮控件作为触发对象,用图形控件,显示图象的区域。教师演示完操作,学生在模仿的基础上完成相应的练习。
2.编写程序代码是进行程序设计的核心部分
为了解代码在程序中的作用,更深层的体验利用编程绘制函数图象的过程,可以让学生初次体验编辑代码。但这一部分的设计,从时间角度考虑不要求学生输入这段代码,而以从整体上理解代码含义为主。这样为接下来的任务做准备,在此基础上完成一个完整的小程序,会降低和分解任务的难度。
首先,教师可以提出设问:仅仅完成界面的设计,程序能够为我们工作吗?当然不能,它仅仅是程序的外壳,我们还没有赋予它灵魂。
然后,教师将事先准备好的代码复制粘贴到VB程序中来,每粘贴一行解释一行代码在程序中作用。
向学生讲解:双击“绘制”按钮,添加代码,以二次函数y = x2为例,进行如下程序的复制。
Private Sub Command1_Click() 程序的开始
Dim x, y As Single 定义数据类型
绘制坐标系
Picture1.Scale (-10, 25)-(10, -25) 定义坐标原点
Picture1.Line (-10, 0)-(10, 0),RGB(0, 0, 255) 定义横坐标
Picture1.Line (0, 25)-(0, -25),RGB(0, 0, 255) 定义纵坐标
复制修改该段代码
For x = -10 To 10 Step 0.0001 x的取值范围是[-10,10],步长是0.0001
y = 2*x ^ 2 函数表达式
Picture1.PSet (x, y), RGB(255, 0,0) 绘制图象
Next x
End Sub 程序结束
接下来,让学生参照教师讲解,完成任务。
任务一:复制代码,快速体验编程
本任务要求学生创建程序界面,通过复制“学生代码”,然后修改代码完成函数y=2x2+3x+4曲线的绘制,并运行程序观看效果。
任务提示: 1.只修改函数表达式,其他代码不变。2.函数表达式输入:乘号* 的输入 ,平方^的输入。
任务一的设计,要求每一名同学都要完成,最快完成任务的两名同学可以为小组加分。在学生任务完成过程中提示表达式中乘号和平方符号的输入这个易错点。
本任务的设计意图有三个方面。
第一,任务一的设计是在老师讲解了程序的每行代码的作用之后,在学生理解了程序代码含义的基础上修改函数参数,因此从技术难度上说,很容易实现操作。
第二,任务一是一个基础任务,要求让每一位同学都操作一遍,这样基础任务需要每一位同学都要求掌握,让学生完整体验编制程序绘制函数图象的过程。
第三,小组成员以最快的速度完成任务为小组加分,无形中给每一个学生一个表现的机会提高了学生学习的兴趣。
任务二:修改代码,深入探究编程核心
在任务一的基础上,通过多次修改函数y=ax2+bx+c, a、b、c参数(小组长分工,组员分别修改a、b、c的数值)绘制观察不同的多条曲线,小组讨论汇总后总结曲线的变化规律。
教师引导学生先回到上课最开始看的图象,思考如何绘制多条函数曲线。有些精美的图案是多条曲线组成的,而且数学上通过图象的对比更容易理解函数的意义。再回到代码上来看,按下面段落分段分析代码的作用绘制多条函数曲线是如何做到的呢?在分析完代码作用之后,可以让学生回答这个问题。
Private Sub Command1_Click() '程序的开始
Dim x, y As Single '定义数据类型
Picture1.Scale (-10, 25)-(10, -25) '定义坐标原点
Picture1.Line (-10, 0)-(10, 0),RGB(0, 0, 255) '定义横坐标
Picture1.Line (0, 25)-(0, -25),RGB(0, 0, 255) '定义纵坐标
For x = -10 To 10 Step 0.0001
'x的取值范围是[-10,10],步长是0.0001
y = a*x^2+b*x+c '函数表达式
Picture1.PSet (x, y), RGB(255, 0, 0) '绘制图象
Next x
End Sub '程序结束
任务提示:将画线的部分复制粘贴后再次修改函数表达式。
本环节的设计意图有四个方面。
第一,通过任务一、任务二的练习让学生更好的掌握了VB程序绘制函数图象的基本操作。
第二,任务三是在任务二的基础上继续理解代码的含义,以及对应图象的变化,更好的与数学知识相印证。
第三,小组长总结组员的观察结果进行汇总总结,在这一过程中更好的锻炼了学生的小组团结协作的能力。
第四,为接下来的拓展任务三打下基础。
任务三:自由创作,形成对编程的成就感
这是一个拓展任务,以小组为单位自选函数表达式绘制图象进行自由设计,讨论思考所选图象是如何制作的。
函数知识补充:y=a*Sin(b * x+c)+d y=a*cos(b * x+c)+d
提供给学生的参考1:完成函数 y = 20*Sin(2 * x) 图象绘制,观察图象变化,思考原因并完成相似图象的制作,如y = 30*sin(2 * x)。
提供给学生的参考1:观察下面图象变化思考原因,完成函数图象的绘制。
本环节的设计意图有四个方面。
第一,激发学生的想象力,拓展学生的思维进行自由创作,形成一定的成就感。
第二,体验程序绘制函数图象的强大功能,进行感受利用编程解决问题的优越性。
第三,任务三小组成员间合作完成,小组成员之间分工明确团结协作,培养了他们小组合作的能力。
第四,继续深化对本节课知识的理解,充分感受了函数与图象之间的关系,完成了对学生计算思维培养的目标。
速云少儿编程致力于 4 - 18 岁,山东少儿无人机编程教育机构,速云网络研发软件工程师授课少儿编程,教给孩子们不光要学习编程,还要结合编程知识给我们无人机写程序,实现我们无人机的自动启飞、人脸识别、智能跟随,包括更加高级的编程玩法,就是无人机编舞。可能家长想了!四岁孩子能学习无人机编程吗?那我们看个四岁的小同学吧,你自己看看能不能学习吧!
我们来看一看四岁小朋友的学习视频吧!
家长担心孩子们真的能听懂课程吗?在每节课即将结束的时候我们都会进行课程汇报展示,来看一下小童鞋的汇报成果吧!
这个时候家长可能说了,我们四岁的孩子,年龄辣么小,又不认字,那该如何学习呢?
其实四岁、五岁的孩子不认字怎么学习?只要孩子识别颜色就可以学习。通过颜色识别具体编程积木,比如:蓝色是运动、紫色是外观、黄色是事件等等,通过颜色识别文字,根据颜色先实现出程序做出卡通的效果,以激发孩子兴趣,使孩子产生兴趣后开始具体学习每个积木的作用,再学习积木上面的文字。如下图:
这个时候你还认为编程难吗?其实针对4岁起,就已经可以学习编程了。通过搭积木的方式让孩子学习编程。
当然,比如我们下面的无人机编程视频吧!
无人机能六架一起起飞?没错!那他又和数学有什么关系呢?
小云说啦!这是根据我们数学中的坐标轴的 x轴 y轴 初始化无人机位置,无人机与无人机之间的距离、架数的多少,全部需要通过精密的计算,否则无法编排出理想的造型。
现在作为家长的你!还在纠结无人机编程是否对孩子有帮助吗?
无人机编程能做什么?人脸识别?智能跟随?自动飞行?还有吗?
答案:有!那就是"无人机编舞"!不知道无人机如何编舞?快看下面我们速云小童鞋的无人机编舞吧!!
无人机编程都学习哪些内容呢?
让无人机与编程结合?
没错!就是要让孩子“动手”+“编程”实现无人机起飞。
重点培养孩子逻辑思维能力与动手操作能力,让孩子在编写无人机程序的时,无形的锻炼孩子的逻辑思维能力和前沿科技的运用能力,在飞行学习中,孩子们需了解飞机的机械结构,练习手眼协同能力,甚至自己组装飞行器;在编程中,无人机可以在三维空间中,用摄像头完成巡线、人脸识别等人工智能任务。
例如:人脸识别,智能跟随,红外线定稿,光流定位、无人机编舞等。
看我们小童鞋们上课视频吧
坦克编程都学习哪些内容呢?
动手组装”+“编写程序”
通过编程将抽象理论与实践操作合二为一,让孩子重新理解知识,体验人工智能,培养独立思考的习惯和动手解决问题的能力。
课程涉及机器人拼装、力学等数理知识,运用六类人工智能模块,编写专属的自动驾驶算法程序,让孩子更加深入理解人工智能技术。
例如:人脸识别、智能跟随等前沿技术。