在亲历计算机解决问题的全过程中发展计算思维.docx

在亲历计算机解决问题的全过程中发展计算思维.docx

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

??

?

??

在亲历计算机解决问题的全过程中发展计算思维

?

??

?

?

?

?

?

?

?

???

?

?

?

?

?

程建娜

在数字时代,数据既是信息的载体,也是计算机加工的对象。信息技术的发展,在某种意义上就是构造、存储、计算相应数据的能力的发展。从应用角度看,信息技术已然成为人们日常生活、学习和工作中不可或缺的工具,我们习惯利用计算机来解决各式各样的问题,可以说,“程序驱动”的数字化工具不仅改变了我们的生活与学习方式,而且改变着我们的认知结构与思维品质。因而,在“算法与程序实现”模块内容的教学中,教师要引领学生在学习处理数字化环境下复杂性问题的过程中,深层次理解这些技术工具,知道它们的工作方法和应用流程,明白其中的数据是如何进行“计算”的,并能用计算机编程方式进行问题求解,从中发展计算思维。在学习中,既要强调对算法这一关键学科知识的学习,也要注重形成运用计算思维解决问题的关键能力的培养。实际上,无论算法的学习还是计算思维的培养,都不是孤立存在的,也不能单独教学习得,它们渗透在计算机解决问题的过程中。我们要有意识地帮助学生亲历计算机解决问题的全过程,从分析问题、设计算法并编程实现的过程中,逐步培养计算思维。

理解用计算机解决问题的全过程,把握算法与程序的关系

用计算机解决问题需要借助编程的方式实现,但这并不等同于简单的程序设计的教学,不是纯粹的代码编程。在教学中,教师要首先帮助学生理解用计算机解决问题的一般过程与方法,明晰这种问题解决方式的特点和优势,从中把握算法、程序和计算思维之间的关系,以便在后续的学习中迁移应用。

例如,教师可以通过常见问题解决的两种方式对比,如比较“路口交通指挥问题”中交警用手势指挥交通和用“程序控制”的信号灯指挥交通的异同,帮助学生理解解决问题的方式并不唯一。使用人工方式进行问题处理时,人们主要是借助解决同类问题的经验寻找求解方法,带有较强的尝试、试探的意图,一种方法行不通,就换一种方法。而用计算机解决问题时,则需要在问题分析的基础上,具体规划求解方案并设计出具体的算法步骤,然后根据制订的这些步骤编写程序,最终实现问题的自动化求解。在对比分析中,教师要引导学生归纳出其中问题解决的共性过程,即需要先对问题进行分析,随后隐性或显性地设计出解决方案,然后再进行问题解决,并且在此过程中还要根据解决的结果随时修正过程。同时教师要让学生在对比中对用计算机解决问题的过程有更深入的理解,计算机解决问题并不神秘,其中最为核心的关键环节是算法的设计,计算机需要按照制订好的算法步骤执行相应的指令,而编写程序实际上就是实现算法的过程。

通过这样的分析,学生很容易区分“算法”和“程序”,理解二者间的关系,进而能透过生活中技术应用的“现象”认识其“本质”。同时,理解了用计算机解决问题的过程,学生也就不会再过于纠结程序设计语言的选用,不会畏难于某些代码的编写。实际上,算法与程序的学习,并不是要求学生系统地掌握程序设计专业知识,更不是要把他们培养成编程专家,而是希望学生在体验计算机解决问题的过程中,能真切认识到从“工业社会思考与解决问题方式”到“信息社会思考与解决问题方式”变革的内在原因,理解当今数字化世界的运转方式,能有意识且负责任地使用信息化工具,掌握信息化社会中解决问题的一般方法。

亲历用计算机解决问题的全过程,关注问题分析与算法设计

在以往的编程解决问题的教学中,经常会出现这样的状况:学生对问题还没有理解清楚,还没思考出具体的问题解决步骤,就急于编写程序代码。对他们而言,写出代码就等于解决了问题,但实际上这种学习的结果是学生一直在盲目地修改代码,而问题却最终也无法得到很好地解决,能力也没得到发展,甚至产生学习挫败感。因此,在教学中教师一定要引导学生关注对问题的分析和设计算法的过程,所谓“谋定而后动”,只有明确要做什么和确定好如何做,后面的编程实现才能“水到渠成”。

1.分析问题,关注问题的可计算处理

在解决问题前,教师要帮助学生弄清楚需要计算机解决什么问题,即“做什么”的问题,并确定解决问题的相关因素,如已知信息、求解目标和条件关系等。问题分析的过程可以采用抽象的方法提取问题关键细节,并转化成可计算的问题。此时,不同的问题对应的抽象模型可能不同。例如,分析红灯变绿灯问题,可以从问题解决过程入手,确定出初始状态、中间状态和终止状态;而分析画50个同心圆问题,可以从已知条件(同心圆的个数和相邻同心圆的半径差)出发,明确与求解目标之间的隐含关系(同心圆的圆心相同)。

2.分解问题,着眼于问题解决的全过程

当要解决的问题比较复杂时,需要引导学生先将问题按照求解过程分解为若干个相对独立的功能,然后再对各个特定功能分别进行算法设计(描述出详细的操作步骤)。在分解问题时可以采用“分而治之”的方法,按照問题求解过程或者系

文档评论(0)

177****5771 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档