• 排序算法的体验游戏


      今天监考排座位时出现了一些混乱。

      我要求他们按顺序每列N人坐好。若学号是连续的,1到N号第1列,N+1到2N号第2列。这个好说。乱就乱在。參加考试的同学的学号不连续,中间有断号。规则说来简单。若2号、3号空缺,4号须要直接坐在1号后面。

      因为手头没有名单,这对于每位同学而言,确实困难,35号必须要看到前面紧临的31号坐定才干确定自己的位置。这是一个必须顺序完毕的任务。

    一时间,学生们陷入相互等待。在教室后面缩成一堆,谁也不动。最后,我和班干部採用了逐个叫号的方式才将坐位排定。

      坐定之后。我对同学们仅仅知道面面相觑表达了不满。解决问题,学号小的同学应该马上行动找到自己的位置,学号大的同学紧随其后。能够相互间及时交流学号信息。确定谁前谁后。在大学中的学习,除了专业知识,其它的素养也要提高。这件事情。反映出了在共同拥有需求(早坐好,就能早发卷)下。整个群体或者是对规则缺乏理解力,或者就是相互观望相互依赖性太多。运行力、领导力在这件事情上能够体现,立马主动地行动,而不是等谁挨个叫号,培养的也就是这种素养。

      我和同学们说,假设这是一场招聘会,给出一个规则,谁能够迟早掌握并及时做出行动,这个人将占得先机。假设这是在工作中的一个场景,竞争对手间谁脱颖而出,结果非常显然。

    马上行动。作为一个非常重要的习惯要自己培养,事事能够培养。

      考试開始了,同学们进入了紧张的答题。无聊的监考老师。此刻却是头脑中能够极尽自由的时候,各种胡思乱想。随便。

      我想到。刚才的事情,就是一个排序问题。

    排序,是计算机科学中的一个基本问题,不管计算机求解问题,还是日常生活中的问题,排序随处可见。这些学生这学期正学数据结构和算法。这件事,他们能够用学到的算法作指导。

      在程序设计课程中,我提倡同学们自己做点卡片写上数字,按算法流程比較、移动。体验排序算法。

    最简单的,直接用扑克牌就能够。

    匈牙利 Sapientia 大学的大学生。将 6 种排序算法编成舞蹈。非常是好玩(点击“链接”能够看到的是当中的冒泡排序舞蹈秀)。我以前和儿子一起,拍过一个扑克版的排序视频。

      传统的这些算法,都是单控制流的。程序设计、算法与数据结构课,也仅仅关注单控制流的算法。

      今天的场景。能够编排成一个体现多控制的排序游戏。再说高大上一些,归为多处理器的并行排序,或者多Agent的协调,都能够。

      游戏规则:制作 n 张卡片。印上随机的数字,随机的发给排成一行的 n 个游戏參与者,相邻的人能够互看卡片比較大小,必要时交换位置,最后按手持卡片中数字的顺序排好顺序。要做的基本操作仅仅是比較、交换位置,是多人同一时候进行的。

    在这里,每个人。就是一个处理器,就是一个Agent。

    为添加游戏的趣味性,由两组或多组人同一时候做这一件事。最快者获胜。

    要在课堂上玩,简便的奖惩手段。由赢者刮输者的鼻子。

       还能够让这些人坐在教室中的同一列座位上,坐着的人不动,前后相邻的人交换卡片。一样的道理。

      这个游戏前,不必讲并行算法的思想。能够反复几次,学生群体借此悟到有效的策略。

      除了体验排序算法,这个游戏的功能还有团队精神和合作能力的培养——每个“处理器”都须要努力,才干尽快地完毕。不论什么个人的迟疑、等待。都不利于团队终于的目标实现。不得不说,当前的大学生人人都想着自主,但凡事都等着有人统一指挥。缺少了在团队中的等量投入,自己的自主能力也得不到提高。

      这个游戏,以后能够用到课堂里,也能够用到课外团队拓展训练中。用这个游戏训练过的学生,安排座位不用这么费劲,做其它事情也会不一样。

      有闲的监考,带来了好点子。





    =================== 迂者 贺利坚 CSDN博客专栏=================
    |== IT学子成长指导专栏 专栏文章的分类文件夹(不定期更新) ==|
    |== C++ 课堂在线专栏  贺利坚课程教学链接(分课程年级) ==|
    |== 我写的书——《逆袭大学——传给IT学子的正能量》    ==|
    ===== 为IT菜鸟起飞铺跑道,和学生一起享受快乐和激情的大学 =====



  • 相关阅读:
    Ajax | Form 上传图片文件
    .NET Core 上传图片到七牛云
    限制input输入框只能输入 数字
    MySql操作命令创建学生管理系统
    大数据之kafka-05.讲聊聊Kafka的版本号
    大数据之kafka-02.搞定kafka专业术语
    消息队列的作用以及kafka和activemq的对比
    .Net Core 3.1迁移整理
    RabbitMQ的使用
    .NET Framework 项目多环境下配置文件web.config
  • 原文地址:https://www.cnblogs.com/cynchanpin/p/6713166.html
Copyright © 2020-2023  润新知