导航菜单

面向大学计算机基础的计算思维案例设计

徐东风,陈孟娴,杜治国,肖磊

(华南农业大学 信息学院,广东 广州 510642)

摘要:以如何将计算思维理念与大学计算机基础课程相结合为切入点,根据课程内容总结出一系列蕴含在各教学知识点中的计算思维案例,这些案例通俗易懂且具有针对性,贯穿于整个教学过程中,提出将计算思维理念与课程内容有机结合的新思路。

教育期刊网 http://www.jyqkw.com
关键词 :计算思维;案例设计;大学计算机基础

基金项目:华南农业大学教育教学与改革项目(JG14011);广东省高等教育教学改革项目(GDJG20142092);中华农业科教基金会项目(NKJ201202013)。

第一作者简介:徐东风,男,副教授,研究方向为计算机基础教学与实验教学管理,xdf123@scau.edu.cn。

0 引言

计算思维是运用计算机科学的基础概念进行问题求解、系统设计以及人类行为理解等涵盖计算机科学之广度的一系列思维活动。计算思维强调抽象和构造、可解,强调用自动方式逐步求解。简单讲,计算思维就是计算机解题的思维方式,这是现代计算思维的内涵[1]。大学计算机基础课程教学以培养大学生综合素质和创新能力、培养复合型创新人才为目标[2]。随着计算机应用的普及,大学计算机基础课程应该定位在培养学生计算机文化素养、应用计算机和计算思维解决实际问题的基本能力上。

计算机科学不只是将软、硬件等人造物呈现在我们的生活中,更重要的是强调计算的概念,它被人们用来求解问题、管理日常生活以及与他人进行交流和互动。计算思维在大学生的知识体系结构中非常重要,计算思维训练不仅能使学生理解计算机的实现机制和约束,还有助于学生进行科技发明和技术创新,更重要的是使学生学会通过自己的思维对海量信息进行深层次的加工处理,对于学生自己想要的新信息,让学生学会将在数据处理中所体现的计算思维能力灵活应用到实践中。

1 教学中引入计算思维

计算思维的理念对于刚刚跨入大学校园的大一学生来说比较抽象,如何将它以一种恰当的方式传授给学生,是基于计算思维的大学计算机基础课程改革成败的关键。建立计算思维在课程中的表达体系,将其映射和融入到课程知识点和技能点结构体系中,是将计算思维的理念、方法落在实处的有效途径[3]。

大学计算机基础课程的很多内容都为计算思维提供了很好的诠释和生动的案例,教师可采用案例教学方法将计算思维引入大学计算机基础课程教学中,用简单的案例讲授复杂、高深的原理;在案例设计时遵从通俗易懂的原则,使案例更贴近生活[4-5]。

2 计算思维的案例设计

在选择和组织基于计算思维的案例时,教师应从简明原则出发,以便学生能够理解比较抽象的计算思维基本理论和方法。针对大学计算机基础课程,按知识大类设计的计算思维案例如下。

2.1 计算机信息基础

案例1:现实世界可以表示为0 和1→用0 和1 可进行逻辑与算术运算→0 和1 可以用电子技术实现→用二极管、三极管等实现基本门电路→组合逻辑电路实现→芯片(复杂组合逻辑电路)。具体来说,0 和1 的思维蕴含着信息表示,数值信息和非数值信息均可用0和1表示,均能够符号化、数字化和被计算,即任何信息都能以0和1表示,也就能够被计算、用计算机实现处理。

案例2:当数据被储存在硬盘或传送到网络时,它们一般不会发生改变,但有时一些故障也会导致数据值突然改变,如电子干扰,而利用类似奇偶校验的方法(例如,西文AsciI码为7位编码,占1个字节,空出来的最高位通常为0,在需要传输数据时可以用作奇偶校验的校验位),可以保护计算机中几乎所有的数据,避免干扰。事实上,硬盘、光盘、闪存、网络下载、电子邮件和网页都在数据中添加了校验码,一旦系统中个别比特发生错误,计算机就会自动恢复原始数据,这充分体现了计算机是按照预防、保护及通过冗余、容错、纠错的方式,在发生最坏情况时进行系统恢复的一种思维方法。

案例3:对中国汉字的信息处理是一种典型的计算思维应用,蕴含了构造原理。汉字是象形文字,字数繁多,字形复杂,汉字的信息处理与西方字母数字类信息处理有很大差异。要让计算机表示并处理汉字就要对汉字进行编码,即确定每个汉字与一组通用代码集合的对应关系,这样在输入设备通过输入法接收汉字信息后,即按对应关系将其转换为可由一般计算机处理的通用字符代码,然后再对这些代码信息的组合进行处理,如信息的存储、传输和交换等;处理后的代码组合可通过汉字输出设备,按照同样的对应关系转换为汉字字形库的相应字形,直观地显示或打印出来。

2.2 计算机硬件体系结构

案例1:在计算机科学中,抽象是一种被广泛使用的计算思维方法。冯·诺依曼体系结构就是一个抽象的案例,这一体系结构屏蔽了实现上的诸多细节,明确了现代计算机由内存、处理单元、控制单元、输入设备和输出设备5部分组成及各部分之间的关系,是计算机系统的抽象模型,它为现代计算机的研制奠定基础。

案例2:以键盘输入与屏幕显示为例,即:位置→电信号→编码→存取/ASCII→解码→字形→显示,在学生理解和掌握这一思维之后,可以很容易地推广至其他语言文字的处理,这一案例蕴含着一种普适的思维——信息处理思维,即物理对象通过采集设备采集相关信息,然后按一定的编码规则使用编码器进行编码及存储,再用解码器进行解码、识别并显示。

2.3 计算机操作系统

案例1:操作系统是一个有多种功能的系统程序,可以看做一个整体模块,也可看做由若干个子模块按一定的结构方式组成的整体。操作系统的产生和使用本身就充分体现了运用计算思维抽象和分解的方法。操作系统提供的四大功能即进程管理、存储管理、文件管理、设备管理,可以对硬件五大组成部分所涉及的庞大而复杂的工作进行有效的控制和管理,操作系统架起了硬件与用户之间沟通的桥梁。

案例2:操作系统对进程的管理采用了多道程序并行处理的方式,操作系统以时间片为单位,轮流为每个终端用户服务。每个用户轮流使用一个时间片,而每个用户并不感到有别的用户存在。宏观上看是多个用户同时使用一个CPU,即并行,微观实现上则是每个用户在不同时刻轮流使用CPU,交替执行,即串行,这种时间片轮转思想就是一个古老的、最简单、最公平的思想,它大大提高了系统的资源利用率,这是将计算思维中使用并行方法解决问题的思路运用到操作系统设计的一个典型实例。

案例3:存储管理的设计所用到的预置和缓存技术也是一种重要的计算思维方法。一个很大的程序执行时被操作系统调用,其运行需要的内存数据都被存到磁盘内的虚拟内存,只有需要用到的部分才被加载到主内存内部运行,这是典型的在“小内存中求解大问题”的技术。

2.4 计算机软件技术基础

案例1:在计算机科学中,将大规模的复杂问题分解成若干个较小规模的、更简单的问题加以解决,是一种常用的计算思维方法,而结构化程序设计就是采用了计算思维中的典型方法——分解。教师可按照“分而治之”的策略,将顶层问题的求解目标逐层分解成子模块,每个模块完成一定问题的求解。整个程序由有层次的、逐级细化的多个模块组成,由此构成求解整个问题的程序。

案例2:计算思维反映的是利用计算机技术解决实际问题的思维方法,有些初学者觉得计算机神乎其神,似乎什么都能干,就想当然起来。例如,某同学刚学了几天C语言程序设计,想试试自己的能力,找一道求方程3x2+5x-15=0的根的题目,用C语言写出下述的程序段:

上机一试,才发现错误一大堆,根本不可能得到想要的解。事实上,确切地说,计算机只能“计算”,而如何计算是需要给出方法的。如果我们自己不知道求解方程的步骤,计算机就无法求解它。换句话说,要编程给出方程求解的步骤,计算机才能按照程序实现计算。只有很好地理解了这样的“计算思维”,我们才能写出下面的程序段:

通过这个例子,学生应该明白计算机永远都是在人脑的指挥下工作的[6]。

2.5 数据库技术

案例1:抽象和分解是计算思维的两个重要特征,设计数据库体现了计算思维抽象和分解的过程。建立数据库需要根据系统的需求,将客观世界的信息转化成计算机系统中的二进制信息。由于客观世界的复杂性,直接完成这种转换是非常复杂和困难的。在数据库设计中,需要将建模分成3个层次:概念模型、逻辑模型和物理模型。设计者依次在这3个层次上进行建模,分别完成一定的信息转换,最终完成客观世界信息到计算机系统中二进制信息的转换,这就是一种将复杂问题进行分解而得到答案的例子。以上抽象思维的结果需要在计算机上实现,也是将理论成果应用于技术实践的过程,充分体现了自动化这一计算思维的本质。

案例2:运用多种算法,从海量数据中挖掘或抽取出知识,在时间和空间之间、在处理能力和存储容量之间进行折中的思维方法是典型的计算思维方法。以数据挖掘在零售行业中的应用为例,零售公司跟踪客户的购买情况,发现某个客户购买了大量的真丝衬衣,这时数据挖掘系统就在此客户和真丝衬衣之间创建关系;销售部门就会看到此信息,直接将真丝衬衣的当前行情及所有相关资料发给该客户。数据挖掘系统通过一定的算法挖掘目标客户信息,可以帮助企业提升销售量。

2.6 多媒体技术

案例1:数据压缩技术就是用最少的编码表示信号的技术。对我们来说,总是希望计算机能更高效地表达信息。减小数据存储占用空间的方法称为压缩,数据压缩的发展是创新思维的发展。人类不断通过创新性研究总结出不同的数据压缩算法,在计算机多媒体数据压缩过程中加以应用,是运用计算机科学的基础概念进行问题求解的一个典型的计算思维活动。

案例2:在多媒体技术中,运动捕捉与三维动画设计就是一个典型的运用建模与仿真的计算思维方法。例如,采用运动捕捉技术对演员动作进行捕捉,通过相应计算将动作坐标映射到任意通过三维软件制作的卡通人物模型上,并且可以利用专门的动画工具对动作作进一步的编辑或增加各种变化,产生新的艺术效果。

2.7 计算机网络与信息安全

案例1:抽象是计算机问题求解中最基本的方法之一。在抽象过程中,人们剔除细节,只关注与理解问题和解决问题相关的概念,把注意力集中到事物的本质和核心特性上,从而发现事物本质的、重要的规律。

网络协议是计算机科学与技术中运用抽象思维解决复杂问题的典型。网络协议的ISO/OSI体系结构模型的建立将复杂的网络通信任务分解成7个层次,每个层次利用下一层的接口,完成本层的数据处理并为上一层次提供更加高层服务接口。借助7层体系结构模型,网络系统最终完成从用户信息到物理线路信息的正确、可靠的转换,实现计算机之间的通信。网络分层模型也体现了约简、分解、调度、折中等计算思维的思想。

案例2:并行是一种重要的计算思维方法。在计算机系统的设计中有很多运用并行技术提高系统效率的例子,例如,多核处理器技术就是让不同的处理器同时执行不同的任务,实现并行计算,以加快计算机处理数据的速度;在网络环境中,进—步加快运行速度的方法是让不同的计算机同时处理问题的不同部分,即将多台计算机通过网络连接在一起,形成分布式网络系统;另外还有大规模并行超级计算机(数千台计算机紧密联系在一起),可将一个大的任务划分成不同部分并分配给不同的计算机解决;分布式网络“云计算”则体现了计算思维中并行处理的特征,而“云”的概念则是计算思维高度抽象化的体现。

案例3:对于一些特殊问题,从结论往回推,倒过来思考,从求解回到已知条件,或许会使问题简单化,这样的思维方式就叫逆向思维。逆向思维也可以看做是应用计算思维求解问题的一种手段。

计算机病毒之所以能够破坏计算机系统,往往是因为利用了计算机系统设计中的漏洞。最保险的防治病毒的方法是设计没有漏洞的计算机软件系统,但是软件规模的庞大、计算机系统的复杂程度使得出现漏洞是不可避免的。在病毒防治过程中,我们可以运用逆向思维去利用病毒,从技术上借鉴病毒传播和衍生的方式不断地修补漏洞,完善计算机系统。

3 结语

在教学中引入与课程知识点相关的计算思维案例,可以让学生在学习的过程中体会计算思维,在教学活动中实现计算思维能力的逐步提高,培养学生运用计算机科学基础概念进行问题求解、系统设计的能力。将计算思维引入大学计算机基础课程的目的是让学生能够在了解计算机基本组成和一般工作原理的基础上,理解一些利用计算机解决问题的方法和思路,了解计算机求解问题的局限性,同时为学生未来的进一步学习和研究奠定计算机科学方面的基础[7]。使用案例教学作为方法和手段是进行计算思维教育的一种很好的尝试,大学计算机基础教学内容中能够诠释计算思维思想的案例很多,还需要我们不断探索与挖掘。

教育期刊网 http://www.jyqkw.com
参考文献:

[1] 陈国良, 董荣胜. 计算思维与大学计算机基础[J]. 中国大学教学, 2011(1): 7-11.

[2] 九校联盟(C9)计算机基础教学发展战略联合声明[J]. 中国大学教学, 2010(9): 4-9.

[3] 衷克定, 玛丽亚木·玉苏甫江. “大学计算机”课程的计算思维能力形态及其取向[J]. 中国大学教学, 2013(5): 43-46.

[4] 杨俊生, 张润. 基于计算思维的“C程序设计”案例设计初探[J]. 工业和信息化教育, 2013 (6): 65-69.

[5] 朱鸣华, 赵铭伟, 赵晶, 等. 计算机基础教学中计算思维能力培养的探讨[J]. 中国大学教学, 2013(3): 33-35.

[6] 唐培和, 徐奕奕, 王日凤. 计算思维导论[M]. 桂林: 广西师范大学出版社, 2012: 10.

[7] 吴宁, 崔舒宁. 以计算思维能力培养为核心的大学计算机基础课程教学内容改革研究[J]. 计算机教育, 2012(7): 107-110.

(编辑:宋文婷)

下载文本