`
liuxinyu95
  • 浏览: 31048 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

一堂有趣的计算机课

阅读更多
昨天讨论了一些Computing at school的内容。受到Richard Bird在
Pearls of functional algorithm design一书中Saddleback search一章的启示,我这里抛砖引玉,给出一个我心目中的中学计算机课的例子。

教师:
同学们,早上好。想必你们都吃过了营养丰富的早餐。现在该补充一些维生素了。
同学们每人都会得到一串葡萄和几个盘子。今天我们要考虑一个有趣的问题:

    如何吃到最大的10粒葡萄。

明明:老师,我想出了一个办法。

教师:说说看

明明:
我先找出最大的一粒葡萄,然后吃到肚子里。然后,我在剩下的葡萄中找到最大的,吃掉。
重复这个过程。当我吃到第10粒葡萄时就可以了。

教师:
很好,但是有一个问题,明明同学需要向其他小朋友详细解释一下。你如何才能找到
最大的那粒葡萄来吃掉?

明明:...

小美:老师,我想到了如何找到最大葡萄的办法了。

教师:说说看

小美:
我先随便找两粒葡萄,比较它们的大小,然后把小的那粒放到盘子里。把较大的那粒拿在手里。然后,我继续从葡萄串上摘一粒葡萄,和手里的那粒比较。如果新的这粒大,我就把原来手里的那粒葡萄放到盘子里,否则,就把新的这粒放到盘子里。重复这个步骤,最后我手里剩下的就是最大的葡萄,把它吃掉就可以了。

教师:非常好!明明,小美,你们两个可以把自己的那串葡萄吃掉了。
同学们,你们还有别的办法能吃到最大的10粒葡萄么?

强强:老师,我想到了一个办法

教师:说说看

强强:
老师,我们上体育课的时候,不是从矮到高站成一列么?所以我觉得,如果我把葡萄也从小到大排成一列。然后把最后面的10粒葡萄吃掉就可以了。

教师:
这个办法是可行的,可是如何让葡萄像小朋友们一样,从小到大排成一列呢?这个问题很有趣,我们可以单独在其他课程里仔细学习这个问题。这个问题名叫“排序”,是计算机科学中非常重要,非常基本的一个问题。今天我们暂时先不讨论他。强强小朋友,你可以把自己的葡萄吃掉了。
不过请你按照自己想的方法试试看。

同学们,你们谁还能想到别的方法?

小朋友:...

教师:我给大家说一个方法。我们可以随便在这串葡萄中选择一个,把所有比这粒小的葡萄放到红色盘子里,把所有比这个葡萄大,连同这粒葡萄的放到蓝色盘子里。然后我们数数蓝色盘子中葡萄的个数,如果超过10个,我们只需要吃掉蓝色盘子中最大的10粒葡萄就可以了。否则,我们要吃掉所有蓝色盘子里的葡萄,比如x粒,然后再吃掉红色盘子中的最大的10-x粒葡萄就可以了。

小朋友:... 我们不大明白

教师:
同学们,我刚才讲的方法,使用了计算机科学中非常重要的递归思想。的确有些难。不过我们来亲自做个实验吧。乐乐,你来按照我说的方法给大家表演一下。

乐乐:嗯,我首先找到一粒葡萄,放在手里,然后我把剩下的每粒葡萄和这粒比较。小的放到红色盘子里,大的放到蓝色。好了,现在有14粒葡萄在蓝色盘子里。我怎么吃掉其中最大的10粒呢?

乐乐:
老师,我明白了。现在这个蓝色的盘子,就好比刚才那串大葡萄,所以我只要重复刚才的步骤。
我从蓝色盘子里选一个,把比它小的放到黄色盘子里。比它大的放到绿色盘子里。现在绿色盘子里只有6粒,我把它们全部吃掉。

乐乐:
现在我要吃掉黄色盘子里最大的4粒葡萄就可以了。老师,我完全明白了。

老师:
很好,小朋友们,你们现在已经学习了,计算机科学中的k选择问题。现在请大家像乐乐小朋友一样,按照这个步骤吃掉最大的10粒葡萄。

小朋友:...啊呜,啊呜吃葡萄....

老师:
小朋友们,现在作为练习,请大家吃掉剩下葡萄中最小的12粒葡萄。

小朋友:...啊呜,啊呜....

老师:小朋友们,你们吃到了可口的葡萄,也学习了计算机科学中的一道有趣的题目。
计算机科学,就是研究如何制定规则,和设计操作,从而解决问题的科学。
今天的课就到这里。同学们,下课。
分享到:
评论

相关推荐

    如何上好每一堂计算机课.pdf

    如何上好每一堂计算机课.pdf

    大学计算机基础课程第一堂课的教学目的.doc

    因此,大学计算机基础课程的第一堂课便承担了纠正这些错误认识、树立正确计算机观念的重要责任。 计算机最初的诞生是为了执行特定的军事计算任务,但随着时间的推移,它的功能和应用已经远远超出了早期的预期。如今...

    第一次计算机课的感悟-计算机课心得体会的.pdf

    在学习的征程上,我有幸参加了人生中的第一堂计算机课,这不仅是我探索数字世界的开始,更是一次全新的认知觉醒。这门课程不仅向我展示了如何操作计算机,更重要的是,它教会了我如何通过计算机技术提高我的学习效率...

    第一课走进计算机教案.pdf

    【第一课:走进计算机】 本课程旨在引领学生深入...总结来说,"第一课走进计算机"是一堂生动有趣的课程,旨在启蒙学生的计算机科学知识,培养他们的思维能力和团队合作精神,为他们在未来的技术世界中打下坚实的基础。

    数据结构课程第一堂课设计.pdf

    如何讲好数据结构课程的第一堂课尤为重要,因为它可以激发学生对课程的兴趣,调动学生的学习积极性,培养学生的创新思维和自主探究能力。第一堂课应该包括教师自我介绍、课程内容介绍和学习方法指导。教师自我介绍时...

    初一信息技术第一节课

    初一信息技术第一节课是学生初次接触信息技术这门学科的重要开端,旨在帮助学生建立对信息的基本认识,激发他们对信息技术的兴趣,并了解自身的信息技术水平。在这一节课中,教师首先解释了为何将课程命名为“信息...

    如何上好一堂-python-编程课-.docx

    本文将深入探讨如何上好一堂Python编程课,包括教学的动机、学生兴趣的培养、实践与思考的重要性、团队合作的应用以及教学平台的选择。 首先,开设Python编程课程不仅是因为国家的政策导向,更重要的是Python语言...

    计算机公开课教案.doc

    《计算机公开课教案.doc》详细规划了一堂关于二进制与十进制转换的课程,旨在帮助学生深入理解计算机运算的数制原理,并掌握两种进制之间的转换方法。 课程开始时,教师首先介绍进制的概念。进制是数学中用来记录...

    广东版网络技术应用第一课认识计算机网络教案.doc

    ### 广东版网络技术应用第一课认识计算机网络教案 #### 教学目标 - **了解**:计算机网络的功能、分类。 - **掌握**:计算机网络的定义、组成。 #### 重点 - 计算机网络的功能、组成、定义。 #### 难点 - 计算机...

    2021年计算机应用基础练习题库与答案.pdf

    - 按电子器件划分:从第一代计算机到当代计算机,经历了多个阶段,每个阶段的划分标志是电子器件的更新换代。 - 第一代计算机:使用电子管作为基本逻辑元器件。 - 第二代计算机:开始使用晶体管。 - 第三代...

    软件工程课件:第8章 面向对象方法学引论(第一堂课).ppt

    软件工程课件:面向对象方法学引论(第一堂课) 软件工程是一门学科,旨在研究如何使用系统化、规范化、量化的方法来开发和维护软件系统。在软件工程中,面向对象方法学是其中的一种重要方法学,它强调使用对象、类...

    本课目标与安排(计算机学科导论)

    《本课目标与安排(计算机学科导论)》是一份详尽的教学计划,旨在为初次接触计算机学科的学生提供全面的入门指南。这份课程材料由主讲教师贺利坚精心准备,覆盖了计算机科学的核心概念、专业技能的学习路径,以及...

    学通C语言的24堂课pdf

    "学通C语言的24堂课"很可能是一本系统的教程,通过24个章节深入浅出地讲解C语言的核心概念和技术。 在学习C语言的过程中,首先会接触到基础语法,包括变量、数据类型(如int、float、char等)、运算符(算术、比较...

    新课程标准下如何上好现代技术的一堂课.pptx

    2. **明确教学目标**:一堂成功的课始于清晰的教学目标。教师应设定涵盖认知、能力和情感的三维目标,使学生知道他们将在课程中学习什么,以及如何应用所学。 3. **教师的角色**:教师不仅是知识的传递者,更是课堂...

    “Oracle数据库技术”第一堂课教学探索与实践.pdf

    在教学过程中,尤其在第一堂课,教师的角色至关重要,因为这直接影响到学生对课程的兴趣和投入。 **第一堂课的教学策略** 1. **市场需求导向:**在讲解为何学习Oracle数据库技术时,教师应强调Oracle数据库在全球...

    第2课《未来的计算机》.doc

    在《未来的计算机》这堂课中,学生不仅能够追溯计算机的历史发展脉络,还能够前瞻到未来计算机技术可能带来的变革。 课程伊始,教师将引领学生回到计算机发展的起点——第一台电子计算机"ENIAC"。这台于1946年诞生...

    《C语言程序设计》首堂教学课思考与研究.pdf

    在第一堂课上,教师应向学生介绍高校计算机等级考试制度,并鼓励学生参加这些考试。此外,教师还可以到职业招聘网站上找到一批最具代表性的C语言工程师岗位需求,并将其职业要求呈现给学生。这不仅让学生了解当前...

    计算机基础公开课教案.pdf

    总的来说,这堂计算机基础公开课的目标是使学生具备基础的操作系统知识,特别是Windows XP的使用技能,为后续更复杂的计算机应用和技术学习奠定坚实基础。通过实践操作和互动学习,学生不仅可以了解操作系统的基本...

    第二课《初识好朋友--计算机》教学设计.pdf

    《初识好朋友--计算机》是一堂面向初学者的IT入门课程,主要目的是让学生掌握计算机的基础知识,包括计算机的组成、开关机方法,并初步理解机房的基本要求。这堂课的教学设计紧密围绕技术主题,旨在激发学生的兴趣,...

    欧奈尔精华思想浓缩版,价值百万的二十四堂课.docx

    欧奈尔精华思想浓缩版,价值百万的二十四堂课 以下是欧奈尔精华思想浓缩版,价值百万的二十四堂课的知识点总结: 第 1 课:投资者入市须知 * 止损是股市投资的头号规则,建议在股价跌去 7% 或 8% 的时候止损。 * ...

Global site tag (gtag.js) - Google Analytics