学校首页  教务选课  本站首页  计算中心简介  部门工作  对外交流  C语言学习  大学计算机  PAT考试  咨询与投诉 
 首页 > 大学计算机 > 计算思维 > 正文 更多计算思维
狭义计算思维随想

2012年08月31日16:03  来源:计算中心  访问量:14150

  1 什么是计算思维
  计算思维的本质是人的一种思维,它的核心并非寻找什么技巧和公式,而是人类思维的一种模拟,将理论上有穷的(无穷的在实施结果上也是有穷的)N步计算但实践上又因人工计算量太大、计算时间过长而无法有意义实现(算出来时失去了意义,例如天气预报、导弹预警)的东西利用计算机特别快的、流程化的、自动化的特别加以实现。

  计算思维虽然是人类思维,但在利用计算机的生产实践活动中,又创造了许多适合计算机解决问题的方法,我们学习计算机思维的目的,就是要了解计算机是如何并且可以解决哪类问题,最终能充分利用。

  需要计算机处理的现实生活中有形的东西(典型如声音、视频、曲线等)都得先变为数字,计算思维就是通过计算(逻辑判断也是一种计算)来解决问题,但并非研究数学问题——在数学领域,计算思维的工作不是研究数学公式本身,而是利用自己快的特点去按数学公式进行相应的计算;尽管数学公式的突破能成倍节省计算时间,但这不是计算思维要考虑的内容,例如在求最大公约数的算法中,贪心穷举法是最简单、最易理解的办法,辗转相除法是最快的算法,但计算思维(编程者)的工作只是去利用辗转相除的公式来解决问题,并不需要了解、记忆、证明该公式本身。因此,总结、创造、提炼、证明公式是数学思维,利用公式在计算机上计算结果则是计算思维。

  2 计算思维与编程
  计算思维的具体表现之一就是编程,编程解决问题的规律是:

  (1)理解问题,搞清手工解决该问题的详细过程和步骤、理解问题和业务——这不是计算思维的主体,但在考虑人工解决问题时,应适当考虑计算思维的特点、尤其是计算快、适合于做N步重复工作、从而将问题简化而不是去寻找什么特别的规律与公式——应将问题处理简化,只要在理论上按该处理方法一步一步做下去、持之以恒就一定有结果,尽管该处理方法在实践上将导致大量的、无法有意义的实现,但记住这正是计算思维的优势、计算机可以有意义地、低成本的实现。

  同时,由于人脑具有一目十行、并行、发散、联想思维的特点,往往会干扰对问题的分析,即很多时候稍稍一看、不假思索就能得到结果,想不清楚、表达不清楚结果是怎么一步一步来的,在这个时候,若能把问题的规模搞大一点,让人无法一下子得到结果,从而促进思考应用什么科学的方法、步骤才能得出结果

  对于未知的或稍复杂的问题与业务,这一步往往是难点。若在手工处理时相应的问题就无法解决,相应的业务工作在理论上(不用考虑时间)就不会做,则很显然无法用计算机解决。但结果却表现为不会编程。

  (2)计算思维,可简称为计算机化或程序化思维,即总结分析手工处理过程的规律和特点,利用计算机的优势和计算思维已有的方法与策略(需要创新的时候很少),将人工处理过程转换成计算机可以处理的过程。这一步是计算思维的主体和关键,实现了人脑传统思维向计算思维的转变——其实计算思维也是人脑的一种思维,只不过其是非传统、最近几十年才出现的,学习计算思维的目的,就是要逐步熟悉、理解和掌握计算思维,让计算思维成为人脑思维的一个正常部分,从而能更快地、更好地使用计算机解决问题。

  实现这一过程通常不会很难,但不同水平的人在实现方法和策略上会有差异,从而影响实现的效率及安全、可靠性。这一步的工作主要是设计算法,通常体现为画流程图、用伪代码写算法,但基本与具体的语言无关。

  (3)编码,即使用具体的语言实现。这一步应不难,主要涉及相关语言的语法及语义表达。不同水平的人的编码质量肯定有差异,但对计算效率的影响并不关键,稍加训练并严格执行编码规范,即可写出较高质量的代码。编码工作是软件工程分工中较低层次的环节,其地位相当于从事体力劳动的“蓝领”,职高毕业生即可胜任。

  编码不是计算思维,仅仅是计算思维结果的一种体现。

  3 学习计算思维的目的
  学习计算思维并非是要编程序和培养从事编码工作的程序员,不管是IT人士还是管理人员,知道计算机能干什么、适合于干什么、大概怎么干,解决问题有何特点与优势,是自觉、充分利用计算机的基础。同时,人类在使用计算机解决问题过程中总结、创造的计算思维中的许多方法和策略,例如并行、递归、协同、排序、二分、索引、数据库、模块化、自顶向下逐步求精、N-电梯算法、最高响应比优先、反馈排队法等,也可反过来进一步在非计算思维领域发挥作用(利用计算机科学的方法和手段,用计算思维去解决其它领域的问题,已取得了并且必将继续取得巨大的成就)。再如,系统学习过排序、索引算法并能灵活应用的人在对较多的货物进行排序、检索时,应比未学习过计算思维的人在排序和检索的效率上有明显优势。

  4 计算思维、编程能力与程序设计语言间的关系
  在传统的程序设计语言教学特别是考试中,编程是计算思维的载体和表现形式,编程能力包含了多种思维能力:理解问题、计算思维和编码,许多学生考试成绩很不理想。事实上,其中有一部分学生并非不会“编程”,而是倒在了对问题的分析理解上——不可否认,这是工作能力中一个非常重要甚至十分关键的能力,但这种能力应该在哪里培养、是否需要在“C语言”等语言课程中训练(训练效果又如何、能起到什么效果)、是否要在编程能力的考试中加以体现(是否代表“C语言”等语言未学好),涉及相关语言课程的培养目标和定位,需要慎重思考!

  在程序设计中,由于不少人将理解问题、计算思维和编码混到了一起,没有独立的理解问题、计算思维步骤,因此当程序设计未学好时,往往会将其归结为什么语言难学、语法太复杂等等原因,其实不然。这类问题的典型表现是:写了一段程序,设计者自己都搞不清楚其作用是什么、到底要实现什么目标、解决什么问题,因此其结果不对是必然的、自然的。

  5 从哪些方面学习、了解和理解计算机是如何思维的
  计算机有什么特点和优势?快、自动化、逻辑判断、过目不忘。
  计算机的智能特别是下国际象棋、中国象棋能赢人类的原理和基础是什么?
  计算机的工作原理:存储程序并按指令顺序执行→存储程序、顺序(选择和循环也是一种顺序)执行→需要安排业务的处理顺序流程、计算机忠实执行人的指令且顺序执行。
  计算机最本质、核心的工作是:一直在执行指令。
  了解,现实生活中的事物是如何进入计算机的?曲线、声音、开关操作、离散化再数字化,再如何从计算机进入现实生活的?
  计算机思维中的三种基本工作模式:顺序、选择、循环。
  计算机如何模拟人的重复工作?
  并行工作、协同工作原理,二分法,数据库,分层模块化,自顶向下、逐步求精。

  在初学算法(计算思维)的工作中,有很大一部分是领会、学会如何使用循环来模拟人们的重复计算工作,首先得搞清、整理手工的重复工作是怎么进行的,然后才是如何使用计算机的循环来模拟:重复次数控制、重复工作的归纳与表示。


 前一条:无
 后一条:让计算思维成为常识:怎么像计算机科学家一样思维 (2012-08-31)
相关报道
 
 
 
 
 
 

 

◆ MOOC+SPOC

C语言程序设计MOOC
Office高级应用MOOC
大学计算机MOOC(56学时)
大学计算机MOOC(32学时)

◆ 英语工具(*=机房开放)

离线词典:有道词典(绿色版)
离线翻译:金山快译(绿色版)
* 谷歌翻译
* 百度词典/翻译/论文写作助手
* 金山词霸/翻译/写作批改
必应词典/翻译
有道词典/翻译/简历助手

◆ 重要公告

2024 年(第17届)中国大学…
2023-2024学年第2学期《Offi…
第三届“成都信息工程大学团…
20232学期非计算机类《C语言…
第二届成都信息工程大学新生…
第十五届蓝桥杯全国软件和信…
20231学期非计算机类《C语言…
20222学期非计算机类《C语言…
2022-2023第2学期《Office高…
20221学期非计算机类《C语言…

◆ 校园热线

教学平台 数字图书 招生就业
学生事务 心灵之约 邮件服务
后勤管理
四川·成都市西南航空港经济开发区学府路一段24号  邮编:610225
学校值班电话:028-85966502     联系计算中心:电话028-85966005  电子邮件  留言
Copyright©成都信息工程大学计算中心 2008-2011  建议使用IE5.5,1024*768以上浏览