Skip to content

身边的算法

身边的算法

  • 算法是计算思维的核心要素之一,也是人工智能得以普遍应用的三大支柱(数据、算法和算力)之一。本模块以身边的算法为载体, 使学生了解利用算法求解简单问题的基本方式,培养学生初步运用算法思维的习惯,并通过实践形成设计与分析简单算法的能力。
  • 通过本模块的学习,学生能熟悉一些常用的算法描述风格与方式,理解算法执行的流程;能利用自然语言、流程图等方式,描述求解简单问题的算法,并对算法的正确性与执行效率进行讨论和辨析。

  • 本模块包括 “算法的描述” “算法的执行” “算法的效率” 三部分 内容。

1. 内容要求

  • (1)借助学习与生活中的实例,体验身边的算法,理解算法是通过明确的、可执行的操作步骤描述的问题求解方案,能用自然语言、 流程图等方式描述算法。

  • (2)结合生活中的实例,了解算法的顺序、分支和循环三种基本控制结构,能分析简单算法的执行过程与结果。

  • (3)通过真实案例,知道算法步骤的执行次数与问题的规模有关,观察并体验采用不同算法解决同一问题时在时间效率上的差别。

  • (4)针对简单问题,尝试设计求解算法,并通过程序进行验证。

  • (5)以信息社会日常活动中蕴含的算法为例,讨论在线生活中算法的价值与局限 (包括算法对知识产权保护的作用等),及算法对生活的指导意义。

2. 学业要求

  • 能用符号和编码表示问题求解所关心的对象,采用自然语言、流程图等方式,运用三种基本控制结构及其组合,正确进行问题求解的算法描述。基于给定的算法,能针对不同的输入数据规模,分别“数出”算法中某些步骤执行的次数。在此基础上,能进一步判断解决同一问题的不同算法在时间效率上的高低。能基于对算法的理解,设置和调整参数,观察相应程序的执行。基于对算法价值和局限性的认识,初步具有知识产权保护和应用安全意识。

3. 教学提示

  • 在本模块教学中,学生的认知发展处于从具象思维到抽象思维的过渡时期。教学实践应该把握这一阶段的特点,注重具象内容和抽象内容的关系与平衡。

  • (1)从学生的生活体验或《九章算术》等典籍中的适当问题出发,将算法学习的要点贯穿问题求解的过程,让学生在不同算法的具体讨论中养成算法思维,避免空洞地讲授抽象概念。

    • 例如,猜数字游戏、物品分类、信息加密、韩信点兵、鸡兔同笼、投票选举、莫尔斯电码的翻译等,都是学生熟悉的内容。从讨论这些问题开始引入算法,学生便会形成自然的认知关联。也可以从智能家居、智能玩具等背景中提取算法问题作为教学实例。
  • (2)本模块要求学生体验计算机程序,鼓励学生从多个方面熟悉程序,不要求每个算法问题都由学生编程实现,阅读理解、修改运行等也都是有意义的体验。可采用类似科学课程中观察实验的教学方法,这也是培养数字化学习与创新的一种实践。

    • 例如,对于“一笔面” “最短路径” “个性化推荐” 等比较复杂的算法,教师可以在和学生一起讨论算法思想的基础上,展示由教师或第三方实现的程序代码,让学生设置和调整参数、观察讨论,最后执行验证。