原书前言
本书是一本关于计算机科学教学的书,但在实践方面,还有很多内容未能在本书中呈现。本书能激发教师的好奇心、解决教学问题以及测试其适合作为学习者还是教育者。同样,对于学生而言,这也是一本关于创造、梦想、创新和让人受到鼓舞的书。
本书适用于那些在计算机科学方面几乎没有经验的K-12 教育工作者、家长和学生。我们的目标是帮助你了解什么是计算(Computing),它为什么重要,以及如何使计算融入你的课程和学习。你将有很多机会亲自实践,了解到计算活动不仅教授计算机科学,而且更普遍地支持批判性思维。
虽然本书没有为每个年级提供完整的计算机科学课程,但提供了各种各样的练习题和教案,其目的在于揭示关键概念,激发你和学生的灵感。从本书中选取些练习题并试验了几堂课之后,如果你开始打算将计算结合到你教授的课程中,请不要惊讶。当你想要查阅更多的资料时,请访问链接resources.corwin.com/ComputationalThinking,那里有更丰富的内容。
直到现在,在K-12教育中,计算机科学仍在很大程度上不为人所知。接下来,我们鼓励你将计算机科学视为“探究”和“艺术”。编程行业中有很多富有创意、善于讲功能故事的人。事实上,我们的开发过程与电影制作过程非常相似,从故事板到制作,我们将向你展示计算机科学如何像片场(Movie set)一样,在那里所有学生都能成为明星!
为什么写本书?为什么现在写?
大约90%的美国父母认为,开设计算机科学课程将能充分利用学校资源;超过65%的人认为应要求学校开设计算机科学。教师、校长和管理者越来越认识到计算机科学是一门有用的学科,但从表面上看,迈出开设计算机科学课程的第一步似乎令人生畏。作为教育工作者,我们可以想象教授其他科学、技术、工程和数学(STEM)课程需要什么; 作为学习者,我们都有个人经验,有些人还是教师,而且我们都是科学新闻的消费者。因为我们不太熟悉计算机科学,所以可能觉得它不太通俗易懂,确实从表面上看,它似乎全是代码,看起来很复杂。
我们写本书是为了改变计算机科学(Computer Science,CS)的声誉以及人们对它的认识。教授和学习计算机科学不一定是令人生畏或乏味的。这是一个不断变化的行业,鼓励学生思考、分析问题,并定期尝试新的方法。作为一名教育工作者,你无须成为教授计算机科学的专家。我们建议教师与学生一起学习,并为其提供本书,以鼓励其坚定地走下去。
在我们出版本书时,美国只有四分之一的高中在教授计算机科学,低年级的比例更低。在2016年年初,美国只有32 个州将计算机科学课程作为毕业要求的内容,而且通常包含在科学或数学的学分内(Code.org,2016)。其他提供计算机科学课程的州,则将其作为选修课,这意味着许多学生太过忙碌时并不会选修它。由于上述情况,富裕的家庭才会为子女寻求课外学习机会,学习与新兴就业市场相关的、重要的计算机科学技能,而其余的所有人都在不具备计算机科学技能的情况下毕业。
幸运的是,变革正在进行。2016年1月,白宫宣布了“计算机科学全民计划”(Computer Science for All),它旨在“为新一代美国学生提供他们在数字经济中茁壮成长所需的计算机科学技能”(Smith,2016)。这种雄心勃勃的行动宣言将计算机科学定位为基本素养,是学生成为未来创造者的必备技能,因此,在K-12学校中开展计算机科学教育刻不容缓。父母准备好了,学生准备好了,通过“计算机科学全民计划”,美国国家教育部门和学区也做好准备了。
许多非营利组织、社区团体、政府机构、大学和私营公司共同推动而形成了计算机科学发展的大好势头。全世界有超过1亿名儿童通过Code.org 的“编码1小时”尝试学习计算,并预计将会有更多的人参与。
创客空间和CoderDojos(面向年轻人的、开放的、志愿者领导的编程俱乐部)正从美国各地的社区中涌现出来。美国国家科学基金会(The National Science Foundation)和其他组织正在资助教师的专业发展,预计在未来5年内为计算机科学教学培养至少35000名教育工作者。谷歌公司的CS4HS和微软公司的TEALS项目正在提升美国的计算机科学教学水平。美国国家女性与信息技术中心(The National Center for Women &Information Technology)与所有这些团体进行协商,在帮助女孩和妇女学习计算机科学的具体实践方面,提出了很多宝贵建议。
美国一些大的学区将计算机科学视为“新常态”。洛杉矶联合校区(Los Angeles Unified)、迈阿密戴德学区(Miami-Dade)、芝加哥学区和纽约学区正在开发新的计算机科学课程,后面的三个区计划让每个孩子每年都来学习计算机科学。在州一级,阿肯色州最近通过了第一个真正全面的法律,承诺所有公立和特许学校都将教授计算机科学。
学生比以往有更多的教育选择,如Code.org、CodeHS和可汗学院(Khan Academy)都提供了免费课程。麻省理工学院(MIT)、哈佛大学和斯坦福大学甚至将它们的计算机科学入门课程打包成在线课程,免费提供给年龄较大的学生……甚至包括你!
你能学到什么?
在前几章中,我们将向你介绍计算机科学和计算思维的概念。通过快速了解分解、模式匹配、抽象和算法,你将看到计算机科学的核心元素如何体现在我们的日常活动中。你还将体会到,计算思维作为一种解决问题的方法,在我们生活的许多方面都很有用。
在深入了解编程的基础知识之前,我们借助第1章来纠正人们对计算机科学是什么和不是什么的一些误解,以消除困惑,知道学习使用计算机和学习计算机科学之间的差异,树立了对计算的正确认识。
在第2章中,你将了解为什么计算是所有学生需要拥有的基本素养。因为计算机科学是现代创新和商业的基础,所以那些具备计算技能的人可以追求广泛的兴趣并享受有丰厚回报的职业生涯。而且,这套核心技能可应用于任何类型的探究或调查中,所有学生都会受益,无论他们长大后从事什么样的职业。学习计算机科学,除了对个人有影响之外,我们还考虑了为什么世界需要更多的、各种各样的人,为计算机科学领域的研究、产品和服务做出贡献。
接下来,我们将邀请你加入计算机科学教育的挑战。通过强调结对编程(一种通过合作获得更好代码的方法),第3章将引导你直接进入计算领域。当你与朋友或同事进行“有声思考”时,你将体会到解决难题的满足感。
课堂上的压力和问题对我们很有意义。在第4章,我们解决了有关屏幕使用时间、技术获取、课表爆满、数字权利和项目成本等问题。
第5章是行为准则的总结,对计算机科学课程的教学入门很有用。第6章将回到计算思维进行更深入的探讨,第7~10章讨论了计算思维的核心要素,并提供了发展计算思维的学习活动。
空间推理是以计算为中心认知的另一个方面,在第11章中,我们仔细分析了空间技能如何帮助我们从具体到抽象,然后在对计算机编程时,再从抽象回到具体。第11章最后描述了“空间化”教学的技巧。接下来是第12章,深入阐述了风靡学校的、空间化的、动手又动脑的创客运动。
在第13~17章中,我们提出了一条计算机科学进入K-12教育的完整路径,包括校内开展计算机科学的建议以及相应的资源、课程,并给出课后非正式学习的建议。第18章重点介绍如何为学生创建和改编课程。最后,在第19章我们进行了总结,刊载了来自本领域的一些最新动态以及来自优秀教师的感言。
你可以随时随地访问本书配套的网站,以丰富你的阅读体验。在这里,你能找到本书中所有给定链接的学习活动,还有与我们所讨论主题相关的扩展内容,以及与你的学校没有太大差别的有用资源和故事。
准备工作
我们建议你在阅读时随身携带笔记本计算机或平板计算机。除了使用它来记录你的问题或做笔记之外,你还需要随时浏览数字内容。通过本书,你能找到可参考学习的互联网资源和要尝试的编程案例。
还有一点需要注意:在整本书中,从第2章开始,你将看到星号(*),它与值得你学习的资源相关联。所有资源都包含在配套网站上,并附有简短的描述和网站链接,可以为你提供更多信息。
灯光,摄像,开拍!
计算机科学即将登上大银幕,我们希望你在首映中!招募一两个朋友,一起从第1章开始学习。不要忘记记录你的问题和评论,这样你就可以与其他读者分享或在社交媒体上分享了。
原书序
亲爱的读者:
不要做我所做过的事(或大多数教师做过的事)。
在教师们还在使用透明塑料胶片式高射投影仪的时候,我从教授科学转向了教授计算机科学。当时没有如何教授计算机科学的书籍,更不用说计算思维了,所以我阅读了为专业软件工程师写的书,并以“计算机科学课程”为关键词进行了网络搜索,从而找到了大学教授的幻灯片链接。我拼凑了所有我能找到的东西,最后花了几个小时创建了自己的活动和课程计划。你可能正在教多个科目;你可能没有计算机科学的背景;也许你为人父母,孩子的学校没有开设计算机科学课程,而你却想为你的孩子提供一个学习计算机科学的机会。因此,除非你喜欢无谓地重复并且有大量的时间,否则不要再做我做过的事情了。
请读这本书吧!
在计算机科学教育中,我认为简·克劳斯(Jane Krauss)和奇奇·普罗特斯曼(Kiki Prottsman)正是写这一本书的合适人选。这两位专家一直处于计算机科学教育普及的前沿,了解该领域面临的问题,如公平性和多样性。在这本书中,他们将多年的研究成果和实践经验进行凝练,并以通俗易懂的语言描述了计算机科学是什么,它为什么重要,以及如何将它教授给不同类型的学习者。作者们的思想不仅是好的,而且是基于实际研究情况的,并且已经有数千次教学实践。我是怎么知道的呢?作为一名教师,我借助美国国家女性与信息技术中心的资源来了解妇女和少数群体在计算机科学方面所面临的问题,倡导更大的多样性以及寻求提供更多计算机科学学习的机会。在Code.org,我推荐了简·克劳斯的“盒子中的程序”(Programsin-a-Box),并将她的计算机辅导员计划纳入我们所服务的地区,以促进管理人员和辅导员的专业发展。奇奇,她是我们计算机科学基础项目产品外观和具体内容的推动者,其课程已经惠及了全球数百万孩子,在相应的教师专业发展方面,通过遍布全美国的200 多个服务商组成的网络,培训了数万名教师。奇奇认为计算机科学很有趣,她将这种观念融入本书的每一章。她精心制作了教程,设计了自己的编程杂志,而且她还有酷酷的紫色的头发—你还想知道什么?
虽然这不是你想知道的完整列表,但通过本书,你能找到:
● 目前已经审查过的资源—可打印的和在线的。
● 真正的教学思想。不需要花费太长时间阅读,也不需要使用你没有的设备,只要45分钟,但也可能需要90分钟,但这些都是容易教,并会让孩子们投入和兴奋的内容。
● 用真实世界的例子解释复杂的计算机科学思想,并与其他学科建立联系。
● 适合于每一个人的内容,即对正式和非正式的教育者、校内人士和校外人士、小学生、初中生和高中生都适合的内容。
因此,对于正在打算、已经学习或正积极开展计算机科学教学的数十万名教师来说,这本书非常值得花时间阅读。
请读这本书。
感谢你为支持计算机科学教育所做的工作!
帕特·扬巴蒂(Pat Yongpradit)
Code.org首席学术官