Tag: 每个人都可以

创意简洁编码

本周,我们在有关参数和编码方面的学习非常出色,以解决本周在Apple的Learn to Code 2 Swift游乐场中的难题课程。 我很高兴教这些课程,因为我记得我在学习编码时发现参数对于编写简洁的代码有多么强大和有用。 在我们的Swift编码课程中,作为常规课程的一部分,我将为学生提供AirPlay操场,以便我们讨论该学生如何解决Swift操场难题。 之所以这样做,是因为我不断地强调,没有一个人会总是拥有所有正确的答案,或者总是拥有最好,最简洁,最具表现力的代码。 因此,我们(包括我)可以通过分析彼此编写的代码来学习一些东西。 学生展示自己的工作所使用的代码和解决问题的策略的剖析是我所拥有的一些最佳可教的时刻。 我认为“在特定位置放置”课程/操场会是一个非常棒的课程,因为它需要将多个参数传递给函数。 我是对的。 正是由于这个原因,这是一个很棒的课程/操场。 这个运动场使学生有机会创建两个功能并使用 world.place 函数传递三个参数: (expert, at Column: Int, row: Int) 这样,学生就可以通过创建一个函数来解决难题,专家可以将其前进,旋转,收集宝石等。创建这些函数后,学生可以用七行代码来解决难题。 这是遵循本课精神的一个典型的,预期的结果。 这是以下典型答案的示例: iPad的Swift Playgrounds:Brian Foutty在Vimeo上的特定位置放置。 但是,我的一位学生Elliot决定采用本课程的目标,即从字面上解决难题,并以尽可能少的代码行来解决难题。 我的许多学生为尽可能有效地解决难题而感到自豪。 Elliot将代码效率的挑战提高到了我未曾想到的水平。 他认为解决难题的最有效方法是使用新的 place 结合新方法 atColumn:和row:参数 将他的expert角色放置在第一个宝石的确切图块上,并让他的专家收集宝石。 然后,他让他的expert角色移至下一颗宝石,并为所有三颗宝石​​重复该过程。 Swift Playgrounds:来自Vimeo的Brian Foutty创意简洁的编码。 Elliot非常迅速地完成了对操场的编码,并向我展示了他的解决方案。 我说:“太棒了!”他使用可用的代码以独特,有效和出乎意料的方式解决了这个问题。 然后,我们的班级能够进行讨论,以满足特定任务的严格要求,并学习编程以解决当前问题,同时使我们的代码具有足够的通用性,以用于其他游乐场或场合。 我认为Elliot的回答不会被创建该游乐场的Apple团队预期为可能的解决方案。 但是,与青少年一起工作通常会为成年人提供一种独特的方式来研究问题以及如何解决问题。 然后,作为教育工作者的任务是确保学生理解,无论他们多么聪明,简洁和有趣,您都无法通过捷径来解决所有问题(无论是否编码)。 注意:以下是一个截屏演示视频,向您展示如何在Swift Playgrounds应用中记录屏幕。 来自Vimeo的Brian Foutty的Swift Playgrounds屏幕录制。 最初发布在iFoutty.com — Swift Teacher

iPad的Swift Playgrounds? 非常适合高中生!

成为老师最令人满意和最有意义的部分之一就是看到您的学生掌握一个概念,将其内在化,然后在他们的工作中使用或扩展该概念。 编码教学的最大部分是,我可以看到学生在编码时立即学习的结果。 本周,我们完成了“学习编码2”的“参数”部分。游乐场难题的模式并不困难,但是,正如您所期望的那样,使您的expert和/或您的character完成游乐场难题所需的代码变得越来越具有挑战性。 但是,我的一个学生贾斯汀(Justin)只是把他对“跨河”游乐场的解决方法吓了一跳。 贾斯汀的代码优雅,简单,逻辑且易于阅读(又称表现力代码)。 查看贾斯汀的代码 当学生正确使用while语句时,我会喜欢它。 正确使用说明了他们的代码正在解决问题或执行任务的成熟和更深层次的理解。 因此,学生了解他们的代码在某些情况下解决问题或执行任务的最佳方法是仅让函数执行,直到状态从true变为false或相反为止。 贾斯汀将while语句与两个逻辑“和”运算符( && )结合使用, while增加其变量的值以满足他的while循环和逻辑“和”运算符的布尔值的要求。 难以置信! 贾斯汀(Justin)告诉我,他已经在课堂上完成了操场,然后在晚上回家,又花了一个小时重构他的代码以使其变得更好。 我告诉他,他的辛勤工作和奉献精神体现在他的工作成果中:出色的代码。 Brian Foutty在Vimeo上提出了一种优雅而合乎逻辑的“跨河”解决方案。 我知道Swift Playgrounds应用程序是为中学生开发的理想选择,但它与中学生一样适合高中生。 我在俄亥俄州东北部(世界冠军克利夫兰骑士队的故乡)的职业/科技高中任教。 我的学生来我们地区学习网络和应用程序开发职业技术计划。 我与11年级的学生一起使用Swift Playgrounds应用程序和随附的材料(学习代码1和2和学习代码3)来教他们Swift语言。 我的学生通过Swift Playground应用程序在Swift中学习代码所获得的价值绝对是解决难题,因此被迫逻辑地,有目的地思考。 此外,我的学生正在学习一口有趣且具有挑战性的小巧的程序块,学习了Swift语言最重要的方面。 我认为大多数中学生都可以通过Swift Playgrounds应用获得最佳的初次编码体验。 但我也认为,我的高中生具有更出色的第一次编码经验,因为他们更成熟,更容易理解抽象概念,并且热衷于学习编码(这是职业技术教育中的教学优势)。 我的学生的心理成熟度和学习编码的动机有助于他们学习Swift语言概念并在后来的操场上推广这些概念的整体能力。 我已经看到了许多例子,例如上述的贾斯汀(Justin),我的学生学习了诸如变量之类的概念,然后以适当,新颖,有时甚至是意料之外的方式在随后的课程中正确使用它。 当我们完成“学习代码3”后,我认为我的学生将是我们的理想位置,因为我们以前在Swift Playgrounds应用程序中有最近的学习经验,因此我们将继续使用Swift(教师)(学生)应用程序开发课程来学习Swift。 。 我很高兴看到我的11年级学生将如何学习该课程,而我的12年级学生在开始使用Swift开发App开发之前没有以前的Swift Playground学习经验。 最初发布在iFoutty.com — Swift Teacher