计算思维与大学计算机基础

时间:2022-09-23 04:19:57

计算思维与大学计算机基础

摘 要:计算机基础教学是培养大学生综合素质和创新能力不可或缺的重要环节。本文分析了当前计算机基础教学的新形势以及计算思维的重要性,重点讨论计算思维的培养和“大学计算机基础”课程相结合,提出了以培养学生计算思维能力为核心的“大学计算机基础”课程模型。

关键词:计算思维;大学计算机基础;课程模型

计算机基础教学是培养大学生综合素质和创新能力不可或缺的重要环节。在新形势下,计算机基础教学的内涵在快速提升和不断丰富,进一步推进计算机基础教学改革、适应计算机科学技术发展的新趋势,是国家创新战略对计算机教学提出的重大要求。九校联盟(C9)计算机基础课程研讨会上达成共识:要旗帜鲜明地把“计算思维能力的培养”作为计算机基础教学的核心任务[1]。

一、计算思维、计算透镜、计算社会科学

2006年3月,美国卡内基?梅隆大学计算机科学系主任周以真(Jeannette M. Wing)教授提出了“计算思维”(Computational Thinking)[2,3],认为:计算思维是运用计算机科学的基础概念进行问题求解、系统设计以及人类行为理解的思维活动。 她在2010年给出了计算思维的正式定义[4]:计算思维是与形式化问题及其解决方案相关的一个思维过程,其解决问题的表示形式应该能有效地被信息处理执行。

李廉教授指出:计算思维是人类科学思维固有的组成部分,以可行和构造为特征。计算思维表达构造和操作,因为对于人的集体行为,需要一个群体的共同理解,因此要具有以下的特征,有限性(可表述性)、确定性(无歧义性)、机械性(不因人而异)[5]。

Richard M. Karp教授提出的“计算透镜”(Computational Lens)理念也提出要将计算作为一种通用的思维方式[6],通过这种广义的计算(涉及信息处理、执行算法、关注复杂度)来描述各类自然过程和社会过程,从而解决各个学科的问题。这一理念试图将计算机科学由最初的数值计算工具、仿真与可视化技术以及后来基于网络、面向多学科的e-Science平台,变成普遍适用于自然和社会领域的通用思维模式。计算科学是一门正在兴起的综合性学科,它依赖于先进的计算机及计算技术对理论科学、大型实验、观测数据、应用科学、国防以及社会科学进行模型化、模拟与仿真、计算等。特别是对极复杂系统进行模型与程序化,然后利用计算机给出严格理论及实验无法达到的过程数据或者直接模拟出整个复杂过程的演变或者预测过程的发展趋势。对基础科学、应用科学、国防科学、社会科学以及工程技术等的发展有着不可估量的科学作用与经济效益。Karp的计算透镜是对计算机科学及计算思维的重要拓展。

目前人们普遍地以各种不同形式和方式生活在各种网络中。人们频繁地收发电子邮件和使用搜索引擎,随时随地拨打移动电话和发送短信,每天刷卡乘坐交通工具,经常使用信用卡购物,写博客,发微博,通过SNS来维护人际关系……以上的种种事情都留下了人们的数字印记。海量的数字印记汇聚起来就成为一幅复杂的个人和集体的行为图景,这些都是对现实社会的人及组织行为的映射,网络数据可用来分析个人和群体的行为模式,从而深化人们对生活、组织和社会的理解。随着信息化和网络化的不断普及与深入,社会动态变化的速度和规模已经提高到一个前所未有的水平,也迫切地希望利用海量数字印记掌握社会变化。从这个角度出发,将计算科学应用于社会科学便自然而然提出了计算社会科学,其主要特点是让社会科学的研究走向基于数据驱动和定量分析的道路。2009年Lazer等在Science杂志上提出了计算社会科学概念[7],指出计算社会科学的研究涉及如下三个相互关联的问题:人们的交互方式、社会群体网络的形态及其演化规律。这三个问题的研究可以帮助人们解答很多社会问题。计算社会科学是计算思维在推动其他学科发展的典型示范。

计算思维、计算透镜、计算社会科学等概念的提出对计算机教学工作提出了挑战,并指明了方向:一方面要从计算思维、计算透镜、计算社会科学获取新颖和丰富的教学内容,另一方面要从计算机学科的本质和区别于其他学科的学科特点出发组织教学。理解好计算思维,围绕计算思维改进计算机基础教学,是解决上述两方面的根本。笔者认为可以将计算思维从算法思维角度简化成“合理抽象、高效算法”,从工程思维角度简化为“合理建模、高效实施”。通过这样的简化可加深对计算思维的理解,增强在学习及教学过程中的可操作性。

二、国外大学计算机基础教学与计算思维

国外著名高校已经对计算思维的培养有了充分的认识和行动。斯坦福大学在“下个十年计算机课程开设情况”方案中提出了新的核心课程体系,包括计算机数学基础、计算机科学中的概率论、数据结构和算法的理论核心课程,以及包括抽象思维和编程方法、计算机系统与组成、计算机系统和网络原理在内的系统核心课程。强调将计算理论和计算思维的培养纳入课程全过程。

卡耐基?梅隆大学的计算机科学学院也正在计划对其入门课程系列进行大的修订[8],这不仅会影响计算机专业学生,也会影响到全校范围内选修计算机科学相关课程其他学生。修订包括:为计算机专业和非计算机专业开设的入门课程要推广计算思维的原理;针对软件的高可靠性加强高可信软件开发及方法的学习;考虑到未来程序主要利用并行计算实现高性能,着力培养学生这方面的能力。

在卡耐基?梅隆大学的计算机课程体系中,其入门课程共有3门,分别是15-110、15-122、15-150,如下图所示。这3门课程要围绕着计算思维进行调整。15-110 计算机科学原理作为大学第一门计算机课程,是其他计算机相关课程的基础。计算机科学原理以培养计算思维为主,不要求过多的计算机专业背景或是编程经验,计算机和非计算机专业的学生都可以选修。15-110已于2011年秋季开出。

卡耐基?梅隆大学计算机课程体系图

三、计算机教学应当培养学生的三种能力

1.计算机使用能力(Computer Literacy)。即基本的使用计算机和应用程序的能力,例如使用word编辑器,读写文件以及使用浏览器等。现在高中阶段计算机基础教学普及率逐渐提高,这类教学内容大多数学生在高中阶段早已经十分熟悉,如果在大学阶段再安排这类课程的重复教学,既浪费宝贵的教学资源又影响学生的学习兴趣。对于之前没有接受过计算机教育的大学新生,完全可以利用学校的教学资源自学相关操作。故笔者认为,计算机使用能力的培养应该从大学计算机教学体系中压缩甚至移除。

上一篇:初中语文阅读教学“五点切入法”实践探析 下一篇:合作学习,让语文课堂走向高效