美文网首页我们受过的那些教育
新手老师,该如何快速建立编程逻辑、开启编程教学?

新手老师,该如何快速建立编程逻辑、开启编程教学?

作者: 奇码学院 | 来源:发表于2020-04-21 09:43 被阅读0次

    我们曾提到,疫情对老师的重要启示,就是要拥有一个备选的Plan B。而老师最佳的途径,就是通过持续学习,拓展其他领域。这个领域当然首选少儿编程。

    事实上,老师怎么教编程,和自己如何学编程,是两码事。快速掌握编程的核心思想与逻辑,有助于把握教学的重点,在课堂上更加高屋建瓴和游刃有余,可以将更多的精力放在核心的教学目标和教学艺术上。我们今天就来一起探讨,作为新手老师,快速搭建编程逻辑的方法。

    一、搭建编程的逻辑,到底是在搭建什么?

    就像人类语言是用于人与人的交流,而编程的诞生,其实是为了促进人与机的高效沟通,通过人机“对话“,享受智能服务的便利与好处。

    机器不同于人类,对人类的指令千依百顺。但也正因为如此,显得机械许多。所以,我们想机器替我们高效完成任务,就必须明确告诉机器怎么做,不要弯弯绕绕、故作高深。

    也就是,要在尊重人类自身思维特性的前提下,了解机器的思维与行事方式,明确告诉机器要完成的任务,包括任务指令、流程、步骤与执行条件等等。

    因此,编程首先是一门语言,按照道理,我们可能会想到用学习语言的方式去学习。但是,编程语言不是用来和人交流的,而是用于与计算机交流的。

    它背后的逻辑,就完全不同于我们平时的语言交流逻辑,上下文语境和人类智慧有时候完全不起作用。因此,作为少儿编程的老师,要真正懂编程,就要同时了解“人”与“机”两个领域的知识,同时掌握人机两套思维逻辑。

    关于“人”的知识,其实就是教育学和心理学经常探讨的关于儿童的学习成长规律,以及老师如何教好孩子;而关于“机”的知识,就是要知晓计算机科学的底层逻辑,甚至要了解一点人工智能和机器学习的原理。因此,搭建编程逻辑,就是要帮助自己轻松梳理和掌握计算机与技术相关的基础知识与原理,以及编程概念和原理之间的内在逻辑关联。

    二、新手老师,如何快速搭建编程的逻辑?

    那么,作为一名新手老师,具体该如何操作呢?

    我们在长期的编程教研和教学实践中,总结提炼了一些快速掌握编程逻辑的经验方法,希望可以帮到正在苦苦摸索当中的老师。

    1)  明确编程教学目标

    首先,我们要弄清楚少儿编程教育的核心目标。

    它并不单纯是要求孩子掌握一门编程语言,而是通过这种学习和训练来获得编程思维,促进孩子多方面的发展。编程思维是少儿编程的教学基础也是核心。

    我们也一直在强调,少儿编程教育,并非为了培养未来的程序员。而且,只有当孩子初步掌握了编程思维及触发了其他各类思维的萌芽,孩子才能真正运用这些思维,去应对编程语言中所出现的问题,用代码实现出来,思考和解决现实中的问题。

    2)  至少熟悉一门编程语言

    其次,老师至少要熟悉一门编程语言。

    如果连基本的编程都不会,那就完全谈不上掌握编程逻辑了。懂了一门基础的编程语言后,老师就可以大致了解哪些事情可以通过编程实现,哪些不可以。也就是,了解现在技术实现的边界在哪里,奠定最起码的编程学习基础。

    如何分解问题,哪些是需要依次完成各项的,哪些需要分多种情况处理,哪些只需要重复流程即可,这些是学习现代程序语言必备的结构化设计。

    还有一点就是,Scratch图形化编程语言,比Python代码编程容易得多,也更适合低龄儿童的学习。因此,老师可以从Scratch开始入手编程的学习与教学。

    3)  搭建编程逻辑知识体系

    在初步了解一门编程语言后,就要开始搭建编程逻辑的知识体系了。

    对于计算机相关的知识,我们也可以运用编程思维的基本原理进行拆分,然后再针对性地学习与补充。后面我们将推出更多文章内容,帮助新手老师快速get编程所需的知识体系,在日常学习中逐步建立编程的思维方式与逻辑。在这里,我们将这些体系划分为三方面:

    a 打牢编程基本功这一点,其实很好理解,包括熟悉编程的行业发展历程、了解Scratch/python的基础概念与操作、知道项目制作与问题解决的核心思路。掌握了这些,我们就可以快速上手编程的教学,同时也是为后续的学习奠定基础。

    b 具备计算机科学素养。包括接触一些计算机基础知识,知道技术员编程的基本原理,知道编程技术在实际生活中可以有哪些应用,简单了解一些关于编程工具平台的系统知识。这些可以帮助我们更透彻地理解在课堂上我们要教什么,干什么,又该用什么样的方式让孩子更喜欢现在的课堂氛围。

    c 拥有一定的算法和逻辑能力这一点对老师的要求较高,毕竟少儿编程要对孩子进行编程启蒙,还是会涉及到一些概念和算法知识的,需要演示常见的代码实现和问题解决思路给孩子作为示范。另外,对于孩子以后参与竞赛进行提点也是有帮助的。

    4)  常见入门学习途径推荐

    在分解了所需的知识体系后,老师就可以开始入门学习了。

    常见的编程入门途径包括:研究Scratch案例操作教程、精读编程相关的书籍、听编程相关讲座,甚至玩一玩手机编程或抽象类、数字类游戏,比如:数独。 

    显然,参与少儿编程师资技能培训,是老师最快的入门方式。因为老师在教学过程中,可以在操作界面模拟和演练案例的制作,同时与孩子沟通互动,观察孩子的学习反馈,在这个过程中突飞猛进。

    当然,这个过程只能让老师更快地入门,要掌握编程的逻辑,还是需要系统的学习。因此,下面推荐一些常见的书籍和视频:

    a 编程基本功。最好的方式是研究Scratch/Python教程或桌游类图书,在平台里演练Scratch/Python案例操作。下面这些书籍大多都可以在微信读书里找到从电子版或从网上购买。

    Scratch儿童启蒙(国外):

    【芬兰】琳达·刘易斯 《HELLORUBY儿童编程大冒险》

    【英】Rosie Dickins《Coding for Beginners Using Scratch》

    Scratch案例教程(国内)  :

    刘凤飞《Scratch真好玩:教小孩玩编程》

    谢声涛《Scratch编程从入门到精通》

    Python :

    【美】Bryson Payne《教孩子学编程(Python语言版)》

    【美】Allen B.Downey《像计算机科学家一样思考Python》 

    【美】埃里克 · 马瑟斯《Python编程:从入门到实践》

    编程思维 :  【英】吉姆 · 克里斯蒂安《写给所有人的编程思维》

    b 计算机科学素养。通过视频讲座的方式更有效,推荐国外的《计算机科学速成课》40 集视频教程,包括计算机的许多基础知识,在b站上可以搜索到资源。

    算法和逻辑能力可以进行一些日常的脑图练习,比如:在备课的时候,将课程中涉及到的流程与概念绘制成流程图/思维导图,也可以阅读一些算法和逻辑思维方面的书籍,推荐波利亚的《怎样解题》

    三、搭建编程逻辑的核心原则与注意事项

    关于搭建编程逻辑的核心原则与注意事项,我们主要提炼了两点,可供老师参考。

    原则1 : 提高编程水平,编程学得越深入,越有利于你理解编程这个学科的内核,就能够设计出更深层次的课程,实现更生动有趣的编程教学。

    要上手教好少儿编程,对新手老师的要求有多高呢?很显然,一个优秀的少儿编程老师,和一个资深多年的技术员,对编程的理解程度肯定是不一样的。

    教好编程,要求老师切换初学者的视角,站在孩子的角度,了解孩子的学习规律。而技术员更关注的是技术与人-机交流本身。所以,我们并不要求老师的编程基础达到程序员的程度。对于老师来说,最重要的评价标准就是:至少做到在设计课程和演讲课件时,编程技术不会成为上课的短板。

    原则2 : 作为新手,一次只训练一件事情效果最好,可以首先从语言入手,再来提升编程逻辑。

    自学编程比较难的原因包括两个:

    一是没有学习的氛围,无法将碎片化的时间集中起来;

    二是人类大脑不擅长同时处理语言和逻辑的学习两件事。

    因此,新手老师在刚开始学习的时候,可以先从训练语言出发。

    把编程当成语言,像学英语一样,了解常用的高频词汇;用语法把这高频的词汇串联起来,在初步掌握语言规律后,再去研究编程的逻辑规律,这样学习会更快更有成效。

    另外需要注意的是,我们最开始在学习语言时,其实不是通过看书来学会的,而是通过在恰当的环境氛围中重复接触一些概念而掌握的。因此,老师选择参与少儿编程相关师资技能培训,效果会更好。

    在合适的项目制作和编程语言环境中进行学习与教学,可以避免走许多弯路。在大概了解了Scratch/Python之后,认识到它是怎么一回事,清楚它的基础操作,熟悉机构体验课与正式课的上课备课流程,再开启编程的正式学习与进阶,在工作中继续提升!

    写在最后

    冰冻三尺,非一日之寒。参与少儿编程教师技能培训,能够帮助老师快速上手一门编程语言的教学,但是要搭建系统的编程逻辑、生动有趣地开展编程课堂、真正寓教于乐,培养孩子高效的思维方式,需要长期系统的储备与演习。路漫漫兮,上下而求索。在少儿编程这条成长进阶之路上,奇码学院将一直与你相伴!

    相关文章

      网友评论

        本文标题:新手老师,该如何快速建立编程逻辑、开启编程教学?

        本文链接:https://www.haomeiwen.com/subject/tlmyihtx.html