结构化

来源 :中小学信息技术教育 | 被引量 : 0次 | 上传用户:piaoye2008
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  计算机学科里的结构化是通过界定、提炼、约简和形式化,从混沌的信息中抽取核心内容,将复杂、模糊的劣构问题,转化成简单、清晰的良构问题,并以适当的计算结构来表述问题解决中各要素之间的逻辑关系,最终达到计算模型的自动化实现。结构化方法源于结构化程序设计语言,但又超越了算法,它提供的不仅是一项具体的学科知识、学科方法,更是一种问题解决的全新思维方式。计算思维下的结构化,体现了计算机算法形式的本质特征,它贯穿于问题解决的全过程,包括数据的结构化、分析的结构化、设计的结构化和编码的结构化。本文结合实践从计算机解决问题的四个方面阐述结构化的实施。
  从劣构到良构,实现数据的结构化
  数据是构成数字世界的基石,是计算机处理的对象。算法选择的重要依据是数据结构。构造数据使之结构化是问題解决的开始,也是计算机自动化的起点。
  1.数据抽象使之结构化,让计算机信息可识别
  计算机能进行数值、逻辑和字符等数据的运算,所以对客观事物和问题的描述只有抽象为数据才能计算。如一所学校的师生信息管理系统,师生的信息将被映射成一个个数据,在计算机世界里被结构成符号化、能识别、能计算的数据。客观世界中的对象是综合的,并赋予了诸多属性,我们筛选出其中若干条关键性、有价值、能量化的要素,这个过程称之为结构化,其他无足轻重的信息将在结构化的过程中自动被忽略。数据是客观事物的符号表示,数据的编码过程也是信息的结构化、数字化过程,也只有抽象并赋予信息价值后的数才能称为数据。
  2.数据清洗使之结构化,让计算机工作更高效
  大型问题的决策和计算机解决依赖于数据仓库,库内的海量数据是面向某一主题的数据集合,但这些数据源自多人、多渠道、多工具的原始采集,其中不乏不规范的、无关的、不完整的、错误的、重复的数据,这不适宜被计算机直接拿来使用。我们可根据问题求解的需要提取数据,并按一定规则把这些“脏数据”洗掉,数据清洗的任务就是过滤无效数据,使进库的数据都符合一定标准和基本规格,便于计算机后续的数据建构和操作。
  【案例1】第6届全国高中信息技术优质课评比中,广东彭丽欧老师在《数据选房:腾冲市房源数据的分析和可视化表达》一课中创设了“父亲的换房之路”虚拟情境,用大数据技术为换房提供决策参考。在数据采集环节,师生用网络爬虫设定了决策规则,循环抓取网上参数与字段,形成了最初的2591条原始数据仓库,然后老师用Python程序对库存内空值、异常值、重复值等进行了数据清洗,预处理后形成了二次数据集1997条记录。结构化后的数据库方便计算机更有效率地进行信息检索与整理。
  3.数据整理使之结构化,让计算机处理更清晰
  抽象后的数据可直接被计算机调用,但它仅仅是分离的元素、数据的孤岛。数据与数据只有经历整理形成一定意义关联和逻辑连接,经此结构化后的数据才能真正发挥其价值。
  “数据结构 算法=程序”。好程序,不但需要高效率的算法,更依赖于结构化的数据材料,一定程度上数据结构影响着算法选择。数据结构是计算世界特有的数据存储形式,其模型也极其丰富,有表达点状关系的集合,表达线性关系的数组、栈、队列、链式,有表达层次关系或分支关系的树形、图(网)状等,这些结构化后的数据,便于计算机的自动化处理。数据整理的价值在于实现数据形式的结构化,使呈现更清晰;数据逻辑的结构化,使关系更有条理。在数据关系中行列式结构——表格,依然是最易理解、最有效率的数据存储方式,也最宜用二维数组实现,从二维表里我们很容易挖掘出数据元素之间的关联、数据发展的趋势和背后隐藏的信息。
  从模糊到清晰,实现分析的结构化
  分解是问题分析的基本方法。不管在什么领域,当人们面对一个大型项目或复杂问题需要求解时,都应优先考虑怎样对问题进行合理分解。问题求解时计算机采用惯用思维方式是按照树形结构自顶向下、逐步求精的方法,层层分解,去除非核心问题,剪枝冗余分杈,列出需要解决的最主要的子问题,如此类推及至每个子问题都控制在人们容易理解和处理的范围内,最后通过逐一解决每个子问题来解决初始的问题(图1)。
  逐步求精的结构分解法,源自技术领域的经验。将问题的分析与分解,细化至每个明确可控、可操作、可处理的步骤,这是计算机自动化实现的可计算原则。这种思想不仅适用于技术领域,也适用于人类生活。在人的思维习惯里,大脑总是通过已有经验和模式识别来存储新信息、认知新问题。结构化分解是分析问题最有效的方法,按功能进行结构分解,把一个复杂问题拆解成若干个更简单、更可执行、更为熟悉的小步骤微算法,毕竟解决一个复杂度较小的问题所需的工作量相比一个复杂度较大的问题总是要少得多,也容易得多。结构化的分解分析,可帮助我们快速寻找到解决问题的焦点、难点、关键点、着力点。长期进行结构化的分解训练,恰似庖丁解牛,可帮助我们养成聚焦问题核心的能力。
  【案例2】第6届全国高中信息技术优质课评比中,江苏金婧老师在教学完成“快速制作大量邀请函”的项目时,通过分析先把这项大工程解构成三个子问题。问题一:邀请函模板如何制作?问题二:人员信息表如何建立?问题三:信息表中的姓名如何依次并入邀请函模板中?经过师生讨论,大家发现前两个问题的解决只需原有的Word、Excel技术经验便可达成,问题三跨域的合并才是工程解决的钥匙所在,也是课时的技术难点。随后师生共同探究新技术,再细化问题三,梳理出信息“合并”的算法:(1)选择“收信人”数据库;(2)在邀请函指定位置“插入合并域”项目;(3)“邮件合并”实现姓名、邀请函的合并输出。本课时解决问题中就采用了结构化的分解方法,将复杂问题层层解构,最终直抵问题的关键。
  从解构到重构,实现设计的结构化
  模块化设计是将一个大程序按照功能结构划分为若干小程序模块,每个模块承担完成一个确定的功能,我们在这些功能模块之间建立必要的联系,然后通过模块的互动协作完成整体系统功能。好的模块图不仅能勾勒出算法的大致结构,更能反映出主要模块之间的逻辑关系。模块化设计从问题的宏观总目标开始,抽象底层的微观细节,专心构造高层的结构,使设计者能高屋建瓴把握主题,避免一开始便陷入繁复的细节中。   整个模块化设计包含解构与重构两个过程。解构是从系统到模块的分割。根据模块化思维,系统设计时可将整个工程分解成几个模块,每组只负责其中一个模块。我们需要保持每个模块的独立性,一个理想的模块应当只做单一任务,只赋予单一功能。重构是从模块到系统的集成。采用搭积木的方法把完成的若干独立功能模块进行重组,组合过程遵循系统论原则,重点进行模块之间的整体关联、接口耦合。模块化不意味着无限分解,随着模块数量的增长,模块之间耦合的复杂度和设计所需的工作量也会随之增加。解构和重构是模块化设计中的两个串行进程。
  模块化设计与结构化分解都是我们用计算机视野看问题的一种方式,但两者分的程度不同。在任务树里,分解会细分到叶,而模块只需分割到结点。分解适用于问题分析阶段,思维方向是从顶向下;模块化适用于问题解决阶段,其思考方向既有纵向,也有横向的功能模块联系。
  从自然到规范,实现编码的结构化
  一个问题求解算法的逐步求精,就是对用自然语言等描述的算法逐步细致化、精确化和形式化的过程,算法的描述经历了从非形式的自然语言到形式化程序语言的发展,编码形式也实现了从非结构化到结构化的历程。随着计算机计算能力的增强,现在衡量程序质量的标准,已从过去的效率第一转为清晰第一。构造以自动化为目标的结构化,体现了计算机形式的最本质特征。
  从自然语言的算法描述到结构化的代码实现,背后支撑的是两种不同语言系统,而两种语言之间缺乏通道,学生还存在着经验断裂带。高中算法课上教师往往采取直接代码复制的方法来实施讲解,回避了结构化、形式化过程中理解与编码难点,这种简化方式对算法习惯的形成和计算思维的培育是非常不利的。打通口头描述和代码實现之间的最后一公里,可采用“三步走”方式来推进。
  第一步,自然语言的算法描述。算法的形成会经历一个从模糊到清晰的渐变过程,“说”可以加速这个进程。算法教学要重视“自然说”的过程,让学生将解决问题的方法通过人们日常使用的语言进行表述,只有让学生亲身经历过自述、讨论、互述等环节,并能通过数学语言、口头语言等自然语言对解题步骤进行详尽描述,头脑中的算法框架已经形成并逐步完善、清晰、具体化时,那么编码也就水到渠成了。
  第二步,结构化的语言描述。用自然语言描述算法通俗易懂。但自然语言的歧义性、冗长、非结构化等特征在一定程度上阻碍了计算思维的准确表达。我们倡导算法的结构化描述,虽仍以自然语言为语言载体,但它以结构性词汇作为算法描述和逻辑转化的关联词(先……后……、如果……就……、重复执行……),并把问题的解决步骤化归在顺序、选择和循环三种基本结构框架内。
  自然语言的结构化描述能清晰地反映算法的基本结构,又不与某种特定的编程语言发生联系,它不拘束于苛刻的语法规则,易于编写与理解,利于构造与转换。结构化描述可以帮助孩子在正式编码之前准确表达程序的逻辑,经自然语言结构化描述的算法也比较容易转化为任何一种高级语言程序。
  【案例3】浙摄版小学六年级“Scratch创编游戏”
   师:刚才玩了走迷宫游戏,没有限制的游戏是无趣的,为了让游戏更具挑战性,我们可以给机器猫添加哪些游戏的规则呢?
  生1:走进草地便返回至起点;生2:遇见滑梯便快速滑到终点;生3:走到沼泽地,原地停留3秒钟,并发出“喵”的一声。
  情境分析与游戏创新设计,学生用自然语言来描述抽象出来的规则。
  师:返回原点的情况一定会发生吗?可用什么关联句式来表述呢?(“如果……就……”)生:(机器猫)如果走进草坪,就会返回起点。
  师:机器猫怎样自动识别是否走进草坪?又怎么才能听话乖乖地返回起点?生:走进草坪,可以看是否碰到绿色的区域。
  师:(提示)机器猫具备自动侦测的功能,它能对碰到的颜色、角色进行(Y/N)判断。生:返回原点就是移动至最初起点。
  师:请用学科特有的表达格式再来描述一下?(提示)原点坐标:(-200,150)。生:如果侦测到了绿色,(机器猫)就移动至(-200,150)位置。
  用“如果……就……”关联句式对游戏规则进行算法改造和描述,以实现结构化;教师通过增设的结构化描述环节,搭建了从自然语言到程序语言之间的算法桥梁,如果算法描述的结构化顺利完成,则程序脚本的实现也水到渠成。
  第三步,程序代码的结构化实现。所谓编码的结构化就是算法最终的代码必须遵循计算机语言规范,严格用顺序、选择和循环三种基本程序结构的组合构建结构化的算法。结构化的编码有利于代码实现、代码维护,有利于程序阅读、程序监测。也只有被结构化了的编码,才能被计算机有效地模式识别,被计算机高效地执行,并最终实现自动化。
  不仅是程序算法,我们的教案设计也可以尝试着使用顺序、分支、循环三种结构组合的流程图方式来描述解决问题的关键步骤。
  
  结构化方法的本质就是逻辑。它将零散的思维、知识、信息、数据等,用一种特定的逻辑框架实现聚合。它让繁复的问题简约化,并获得一种分析的方法、量化的工具。结构化方法使我们透过现象看本质,长期进行结构化思维训练,可以提高我们系统分析问题、高效解决问题以及统筹规划工作的能力,它使我们的思维及表达更加缜密、有条理。结构化作为计算思维、工程思维、系统思维的一种方法,体现在问题解决的全过程,其价值也不局限于计算机科学,运用其思想可以指导我们更高效地实现系统设计和理解人类行为。
  参考文献
  王荣良. 中小学计算思维教育实践[M]. 上海:上海科技教育出版社,2019.
  冯超,白珍,李欣. 结构化方法在信息技术教学中的应用实践[J]. 中小学信息技术教育,2019(9).
其他文献
1、电子文件归档时的质量要求是什么?  答:电子文件归档的质量要求总体上讲就是三点,即:保证电子文件的真实性、完整性和有效性。所以,各单位在归档电子文件时应采取有效措施,满足这三点要求。  真实性方面的具体要求有五点:(1)可靠地保证电子文件从最终形成直到归档以及日后的保管和利用过程中,其内容、结构、元数据和背景信息都能保持完整,而且未被更改;(2)电子文件的归档格式与其生成、发送或者接收的格式不
开场白:本刊第3期评论员文章“决战之年务求全胜”讲得好,我们只有“进一步增强责任感、使命感和紧迫感,以最好的精神状态、最高的工作标准”,才能“打好奥运之年的攻坚战,确保奥运档案工作的全胜。”  吉文善:谈到档案与奥运的关系,《北京档案》今年的版面安排最说明问题:一是从首期起设立了“奥运专版”,二是从第3期起“每期一辩”推出了“档案与奥运”的新辩题,三是从4月1日起开展了“我与奥运”的有奖征文活动。
档案数字化前期工作——鉴选    《档案学通讯》2007年第1期王健的文章,针对盲目数字化的误区,提出应重视数字化过程中不可忽略的前期基础性工作——鉴选。所谓鉴选,可以说是鉴定、鉴别、优选的“合成词”。其中“鉴定”旨在确定档案是否依然具有保存价值;“鉴别”旨在判定是否有必要予以数字化,“优选”旨在确定是否列入优先数字化的范畴。  作者认为,数字化对象的鉴选工作应遵从三个基本原则:需求牵引原则(以利
在北京市档案馆建馆50周年之际,北京市档案局(馆)以新老同志座谈会、征文演讲比赛、馆史展览、庆祝联欢会等形式开展的“忆传统、迎奥运、建和谐、促发展”主题教育活动内容丰富、异彩纷呈。    庆祝联欢会隆重召开      4月28日下午,北京市档案局(馆)隆重召开了纪念建馆50周年会议,市委常委、市委秘书长李士祥和国家档案局局长、中央档案馆馆长杨冬权出席会议并致辞。北京市档案局(馆)党组书记、局(馆)
2007年第4期《档案管理》苏君华的文章,分析了当代公共档案馆社会理想面临的现实困境。1、社会认同存在巨大反差。对公共档案馆社会理想的颂扬和赞誉大都来自档案馆界本身,而社会对档案馆事业的认同与档案馆界对自己的职业认同存在着巨大反差。。更令人尴尬的是,在档案馆界内部对档案馆社会理想的认同也存在较大的分歧,主要是档案馆学理论界与决策层之间的分歧。理论学家提出的理想虽然合理,但在决策层看来却不切合实际,
创意生活 所谓‘创意生活’,实际是一种新型产业的划分,将其作为整个文化产业中的一类产业,也是台湾当局所独有的做法,首见于《2003台湾文化创意产业发展年报》,其中就有创意生活产业,对其界定为:‘凡从事符合下列定义之行业均属之:①源自创意或文化积累,以创新的经营方式提供食、衣、住、行、育、乐各领域有用的商品或服务。②运用复合式经营,具有创意再生能力,并提供学习体验活动。’之后,台湾当局在《文化创意产
一、学好文件,领会实质。提高认识    党的十七大闭幕后,房山区档案局馆组织了学习原文、专题讨论、撰写心得等一系列活动,帮助干部了解精神、把握重点。为把学习贯彻十七大精神活动抓实做细,局馆成立了以党组书记张志元为组长、各科室中层干部为成员的学习十七大精神领导小组,结合局馆实际,制定下发了《关于学习十七大精神有关事项的通知》,确定了胡锦涛同志在十七大上的报告、新修改的《中国共产党党章》、中共中央关于
30年前,以党的十一届三中全会召开为标志,我国进入了改革开放的新时期。北京市西城区档案馆成立于1980年3月,与同一时间重建的西城区档案科为一套机构,两块牌子。1985年12月,成立西城区档案局,撤销区档案科。区档案馆作为区委、区政府直属事业机构,归区档案局管理。1995年6月,经北京市机构改革领导小组和北京市机构编制委员会批准,区档案局作为行政机构,列入政府序列。又经区委、区政府决定,区档案局与
计算思维已发展成为当下教育界的一个热点,并越来越受到众多专家和学者的关注。在当前初中编程教学中,相当数量的教师往往是先通过范例模仿让学生掌握技术操作,在此基础上再要求学生利用所学技术解决实际问题,显然,这样的教学模式会把大量的精力聚集在代码语法的编写和修改上,不利于学生计算思维的培养。因此,以初中信息可视化积木块编程工具Scratch编程教学为例,探索基于计算思维培养的编程教学策略建构的教学实践具
“十一五”期间,为了能够提出思路清晰、目标明确、方案可行的具有前瞻性、导向性、适用性的北京市档案信息化建设规划草案,本课题组采取实地考察与问卷调查相结合的方法,在整理2003至2006年历次调查情况的基础上,对北京市档案信息化建设的现状做出如下概要总结与分析。    一、北京市档案信息化建设的现状    (一)档案信息化的组织与规划  市档案局已成为市信息化工作领导小组成员,并于2004年出台了《