关键词:教学方法;计算机基础;资源整合;教学反思
中图分类号:G642.0文献标志码:A文章编号:1006-8228(2013)02-40-02
Discussiononcomputerteachingmethodsinsocialsciences
QueQingxian,YuanMeixiong
(ComputerDepartment,HunanUniversityofHumanities,ScienceandTechnology,Hunan,Loudi417000,China)
Abstract:ComputercoursesarelistedinbothcurriculumsofsocialandnaturalsciencesincollegesinChina.Duetolackofmathematicsandlogicalthinking,studentsmajoredinsocialsciencesshouldbedistinguishedfromthosemajoredinnaturalsciencesandengineeringinteaching.Thecurrentsituationandexistingproblemsinteachingcomputercourseareanalyzedandsometeachingreformtoimprovethecomputerfoundationteachingqualityforsocialsciences,areproposedincludingintegrationandsharingofresources.
Keywords:teachingmethods;basiccomputercourse;integrationofresources;teachingreflection
0引言
计算机基础知识与应用能力是文科学生综合知识与能力的一个重要组成部分。为培养学生的计算机应用水平,大部分高校均设有专门负责公共计算机教学的教研室或教学部,教研室教师人数不多,但承担的教学任务重,教学方法比较单一(如文理科均采用同样的教学进度,同样的教学内容)。理科学生具有较好的数学基础,在逻辑推理,抽象思维,空间想象能力方面较文科学生具有一定的优势[1],文科学生的学习方法,更趋向于接受、理解、记忆,有时是没有理解的记忆,最终导致文理科学生在学习计算机课程时的兴趣爱好、学习态度、应用能力等方面表现出较大的差异,相同的教学策略却往往使教学效果不如人意,制约了高等学校文科学生教学质量的提高。本文根据我校实际情况,综合多年来担任文科专业学生计算机教学方面的成功经验,谈谈文科专业计算机基础教学方法。
1文科专业计算机基础教学现状及存在的问题
1.1学生基础参差不齐,教学难易把握不准
从2001年开始,全国中小学按照教育部《中小学信息技术课程指导纲要(试行)》要求开设了信息技术课程[2],教学内容包含了Windows、Office等知识,但不同学校、不同地域的学校在计算机课程的重视程度上存在差异,学生基础差参不齐,以至于担任文科专业计算机教学的教师在教学内容的难易程度选择上左右为难,重复中学学习过的内容,经常出现课堂三低(抬头率低、到课率低、响应率低)现象[3],较难的教学内容会导致学生对计算机课程产生恐惧心理。
1.2教师教学班级多,教学任务重
文科计算机课程是面向全校所有文科专业的学生,具有覆盖专业种类多,教学班级多的特点,且不同学科的学生在理解能力方面存在着一定的差异。如:中文专业学生在计算机课程的学习方法上,习惯于记忆,很少从原理上理解和分析,更不能灵活运用计算机解决实际问题,在某些计算机水平考试中,就有学生用笔加纸的方法去进行数学计算,殊不知计算机本身就是一台高速且高精度的计算器(如:计算器,Excel电子表格处理软件)。为真正有效提高公共计算机的教学质量,原则上,承担公共计算机教学的教师须根据不同专业学生的特点,采用适应于该专业特点的教学计划、教学大纲和教学方法,可是在实际教学过程中,因公共计算机课面向全校范围内所有非计算机专业学生,教学班级多,教学任务重,有些教师每周有近20个课时,且同时兼任二门以上不同专业方向的课程,故难以做到根据不同专业学生的认知水平,学习能力以及自身素质,选择适合该专业特点的教学方法来开展教学,一定程度上影响到了文科计算机课程的教学质量。
1.3课程门类少,教学周期短
计算机基础教育是一个长期的、逐步深入的教育过程,我国大部分高校文科专业的计算机课程仅开设了一年,有两门课程(大学计算机基础与程序设计语言),对今后将成为外交官、法官、公务员、教师等社会科学工作者的其他学科专业的学生而言,他们在计算机系统维护、图像加工、信息收集与整理等方面的能力,存在明显的不足。这样的课程设置违背了“信息处理是基础,信息问题解决是关键”的计算机基础教育理念;而且部分文科专业因为专业课时的需要,将公共计算机课程的课时不断压缩,但实际教学内容是随着计算机知识的不断更新而增加的,教师要想按照考试大纲要求进行讲解,就只能加快教学进度,顾不上对实践性内容进行详细讲解,结果导致学生的实践操作能力较差。在实际教学过程中,经常有学生提出,将计算机课程的课堂教学全部改到计算机实验机房中,这种想法尽管不利于学生掌握基本理论,但侧面反映出学生对实践操作类课程进行教学改革的渴望。
2文科专业计算机基础教学方面的体会和想法
2.1整合教学文档,共享教学资源
目前,几乎所有的高等院校均采用计算机加投影进行计算机课程的教学,课件使用PowerPoint制作,对教学目的、教学重点、教学难点进行阐述,而操作性强的教学内容通常采取实例演示或案例教学方法,教师在实施上述课堂教学过程中,将产生诸如:案例文档、操作步骤、流程图、实验结果、程序源代码等教学文档,如Word应用软件教学过程中,有编排前后的文档,程序设计语言课程教学过程中有算法分析、源程序代码及运行结果等。教师在完成一个基本教学单位(如2课时)后,应及时将这些教学过程中产生的资源进行整合,以日期或知识点命名,将其上传在个人主页、精品课程网站、班级群共享等网络平台,即帮助低年级学生事先预习,也有利于当前教学班级中的学生进行课后复习。对于有条件的教学单位,可以使用屏幕录像专家、ScreenRecorderGold等软件,将教学过程中的语音及视频录制下来,共享给学生,实现课堂教学过程的重现,同时也可以共享给其他担任同一门课程的教师,相互学习,共同提高教学质量。每一位担任计算机教学的教师都对自己的教学文档进行整理,并通过网络共享,不仅解决了文科类专业学生计算机课程门类少,教学周期短的缺点,而且也方便教师的教学档案整理。
2.2加强教学反思,总结教学成败
课堂教学过程是一项复杂且创造性很强的活动。在教学过程中,教师最大的体会是课前预想的教学设计与课后的教学效果存在较大差异[4],通过回忆当时的教学过程、学生的课堂反应、自己的应对方法与措施是否得当,对教师教学水平的提高将产生很大的影响。所以,教师要加强教学反思,一方面,总结教学过程中的成功方法,并将这些方法记录到备课本上,不断提高教师自身的教学水平;另一方面,从细节上减少教学上的失误点。笔者曾经在讲解C语言程序设计课程中整型数据(int)的字节占位长度时,按教材描述讲解成2字节,结果在进行代码测试时,输出结果为4字节,后经VC和TC二种编译环境的测试,查明是因为编译器版本而产生的问题,尽管这是一个偶然的教学事件,但还是让笔者深感内疚。教师需要具有课后反思的习惯,教材是否吃透、实验结果是否验证、教学方法是否符合学生的思维特点等等。
2.3利用现代教育手段,加强实验教学改革
大部分文科专业学生的动手能力较差,更擅长形象思维[5],如果教师在课堂教学过程中大量讲解应用软件类课程的操作方法与操作步骤,学生当时可能记得,但当他们回到实验室自己操作时不知从何下手,或者忘记部分操作步骤,导致实验进展不顺利。而教师单独辅导就会大大增加自己在课堂上的工作量,这样不仅影响到教师的工作热情,还影响教学效果。因此,笔者在实验课程的教学当中,经常利用网络或广播式教学(如:凌波多媒体教学系统),每一次实验课开始前半个小时,要对本次实验项目进行分析,并重点解析实验过程中的重点、难点和容易出错的地方,通过短时间的直观讲解和分析,布置好本次实验的要求,让学生对某个知识点从理论认识上升到实践应用,能够更牢固地掌握所学的理论知识,也提高了学习效率。
3结束语
对于文科专业计算机基础教学,经过近几年来的教学改革实践,学生的学习兴趣越来越高,特别是教学文档的整合及网络化共享(如:精品课程网站、教师课堂教学资源网站)为计算机基础课程教学改革提供了一个开放式学习平台,收到了较好的成效,部分对计算机课程学习兴趣高的同学,借助该平台自学了计算机的相关课程,受益面不断扩大。开展教学反思,定期检查教师教案本上的反思记录,对青年教师教学能力的培养和提高作用显著。高校计算机公共基础课程教学方法的改革需要不断探索,必须立足现实,从文理科专业学生的思维习惯、学习方式入手,把重点放在提高教学质量和教学水平上,着力提高文科专业学生的信息应用与信息处理能力,培养出适应当前经济建设和社会发展所需人才。我们公共计算机教学组今后将继续进行教学的改革与创新。
参考文献:
[1]张曼,邢继军.高校文科专业计算机基础教学中存在问题和解决方法的研究[J].计算机教育,2009.29(5):552-554
[2]汪世杰.本科文科计算机教育与中学对接的调查思考[J].教育与职业,2010.5:118-119
[3]胡钰强.高校文科计算机教学的几点思考[J].科技信息,2009.27:494
关键词:微课;非计算机专业;计算机应用基础;教学;应用
中图分类号:G434文献识别码:A文章编号:1001-828X(2016)030-000-01
一、微课的含义与特点分析
(一)微课的含义
2008年,由美国的戴维・彭罗斯[1]最初提出了“微课”(Microlecture)这个词,微课指的是依据教学实践目标,以教学视频作为教学的主要承载,将教师在教学过程中的某个知识点进行教学的过程记录下来。微课最核心的部分是教师所录制的教学视频,并且也包含与课堂内容相关的一些课件,以及教学设计、反思以及学生的反馈等,由此组成教学资源。因其含义可以看出,微课与传统教学课堂有着极大的区别,但两者又同时具备着联系,即微课是在传统课堂教学的基础上发展起来的。
(二)微课的特点
微课因其与传统课堂的区别,主要是对于传统课堂的时空局限而发展起来的,因此其具备以下几个突出的特征。
1.时间短,更便捷
首先,微课最大的特点是短小精悍,微课一般时长都在10min以内,比传统课堂的45min而言,微课无疑时间较短。较短的时间正好符合视觉停驻规律。而在短短的10min之内,微课的内容自然相对较少,集中时间对于某个知识点进行讲述,课堂主题相对于传统课堂的宽泛而显得更加紧凑有效[2]。一般情况下,微课资源容量也较小,通常控制在几十MB左右,让学生既可以在线观看教学视频,同时也能够对课堂附带的课件以及课堂反思等资源观看,而除了在线之外,还可以将课堂资源下载到手机等移动终端上,这就实现了远程教学。
2.情景化教学模式
微课教学中,情景化是其重要的特点。微课由于其时长所限,内容一般重点突出,主题明确,而在教学过程中,微课以教学视频、教学设计、教学课件、学生反馈和教学反思作为整体资源,对其进行整合而形成微教学资源环境。因此,在真实性较强的情景化教学中,学生们更容易掌握教学知识,并且在其中还能够进一步发散隐性思维能力,从而实现更高的教学效果。
二、微课在《计算机应用基础》教学中的应用
微课在当下教学中应用极为广泛,无论是高等院校或者高职院校都可以采用微课模式进行教学。而计算机应用基础作为计算机技术课程中的基础,对学生独立自主学习有着较高的要求,同时要学习计算机应用基础课程,必然离不开上机操作,因此其应用微课模式刚好是相得益彰。
(一)微课的教学模式
因上文所分析的微课本身特点而言,与传统课堂有着极大的不同,一方面教学时间有了极大的缩短,另一方面师生双方的角色也发生了一定的变化。
首先是课前阶段。在此阶段中,学生的任务主要集中于自主学习知识点相关的资料。教师则是对教学内容进行设计制作,然后录制教学视频,将素材上传到微课教学平台上,并且对教学中的任务目标以及相应问题进行提问,由学生登陆平台进行了解与学习,并且依托教学平台还能够与教师进行教学内容的交流沟通,从而更有效的开展课前预习任务。
其次,课中阶段。课中阶段最突出的特点就是师生交流互动,因在课前阶段中学生已经充分了解了课堂目标与任务,因而课中主要是进行微课教学视频的播放,并且由教师对教学重点、难点和考点进行进一步的解释与阐述。一般一次微课仅仅针对一个知识点,从而使得学生更容易理解掌握教学内容,教学效率较高。
最后是课后阶段,教学之后,最重要的便是对教学内容的巩固与提高。因此需要学生们深入理解教学知识,将其完全掌握,而在此阶段也同时需要教师对微课过程进行反思。计算机应用基础课程是以实践操作为重点的课程,若是缺少课后巩固,课堂内容很快就会被遗忘,从而导致教学效果不佳。
(二)案例分析
微课教学可以划分为课前、课中与课后三大阶段,而同时也可以划分的更加详细,以计算机应用基础中的“文档制作”为例进行阐述。
1.选题设计。在非计算机专业学生学习《计算机应用基础》课程中,时常会遇到一些难题,尤其是在应用广泛的office软件学习中,大部分非计算机专业的学生一般仅仅能够使用一些较为简单的功能,但实际上office的功能很强大,包含的知识点很多,例如高校学生毕业论文撰写中经常会涉及到页眉、页脚设置、目录生成以及页码设置等,这些知识点看上去并不难,但实际上大部分学生并不会操作。因此,在教师进行选题的时候就应该针对这些难点内容进行微课视频制作,以此帮助学生们掌握office软件。
2.教学设计。教师在教学设计的过程之中,应当转变原本的教学观念,站到教师与学生两个角度进行教学设计,即转变原本的教师在课堂中的中心位置,而是将学生设计为教学中心。教师在此过程中充当的角色是引导者和指导者,更多的是对学生创新与创造力的激发,增强学生的自主学习能力。
3.课件设置。文档的制作是计算机应用基础中最基本的操作能力,因此在微课教学中,需要教师将视频与ppt课件联系起来,对其中关键知识点进行详细解释,同时由于微课时间限制,在教学时需要快速导入课堂内容,从而让学生尽快进入学习状态。在课件最后,需要对所讲内容进行回顾总结,让学生们对于课堂内容的印象更深刻。
4.反馈与反思。微课教学后,学生与教师都可以依托微课教学平台进行课后交流反馈,教师对学生们所反馈的问题进行解答,从而进一步提高教学质量。而反思则是在教学内容完成后教师对教学过程的思考,依据实际情况对微课内容进行调整,例如选题设计与教学方式调整等,从而让之后的微课教学更加有效。
参考文献:
[1]王军.微课在中职“计算机应用基础”课程教学中的应用探讨[J].职教通讯,2014,36:57-59.
关键词:计算思维;信息技术课程;计算机
计算思维的提出
思维是人脑对于客观事物的本质及其内在联系间接的和概括的反应,是一种认识过程或心理活动。简单地说,思维是人进行思考、通过人脑的活动解决问题的能力,是人的智力在一个方面的体现。思维方式也是人类认识论研究的重要内容。
2006年3月,时任美国卡内基·梅隆大学(CMU)计算机科学系主任、现任美国基金会(MSP)计算机和信息科学与工程部(CISE)主任的周以真(JeannetteM.Wing)教授,在美国计算机权威刊物《CommunicationsoftheACM》上,首次提出了计算思维(ComputationalThinking)的概念:“计算思维是运用计算机科学的基础概念去求解问题、设计系统和理解人类的行为。它包括了涵盖计算机科学之广度的一系列思维活动。”周以真教授从思维的视角阐述计算科学,并以此来探索计算机学习的教育价值。为此,周教授撰写了针对大学所有新生的“计算思维”讲义,并以此作为“怎样像计算机科学家一样思维”课程的主要教材。
计算思维这一概念提出后,立即得到美国教育界的广泛支持,也引起了欧洲的极大关注。目前,计算思维是当前国际计算机界广为关注的一个重要概念,也是当前计算机教育需要重点研究的课题。在美国,不仅有卡内基·梅隆大学的专题讨论,也有包括美国计算机协会(ACM)、美国国家计算机科学技术教师协会(CSTA)、美国数学研究所(AIM)等组织在内的众多团体的参与;计算思维还直接促成美国国家科学基金会(NSF)重大基金资助计划CDI(Cyber-EnabledDiscoveryandInnovation)的产生,CDI计划旨在使用计算思维产生的新思想、新方法,促进美国自然科学和工程技术领域产生革命性的成果。CDI的最终研究成果将使人们的思维模式发生转变。这种以“计算思维”为核心的转变,反映在美国国家自然科学与工程,以及社会经济与技术等各个学科领域。
计算思维不仅影响着美国,也影响着英国的教育,在英国的爱丁堡大学,人们在一连串的研讨会上探索与计算思维有关的主题。每次研讨会,都有不少专家讨论计算思维对不同学科的影响。研讨会上所涉及的学科已延伸到哲学、物理、生物、医学、建筑、教育等各个不同的领域。另外,英国计算机学会(BCS,BritishComputerSociety)也组织了欧洲的专家学者对计算思维进行研讨,提出了欧洲的行动纲领。
国内有关计算思维的研究
上世纪80年代,钱学森先生在总结前人的基础之上,将思维科学作为11大科学技术门类之一,与自然科学、社会科学、数学科学、系统科学、人体科学、行为科学、军事科学、地理科学、建筑科学、文学艺术并列在一起。自从钱学森提出思维科学以来,各种学科在思维科学的指导下逐渐发展起来,计算学科也不例外。黄崇福教授可能是国内最早阐述计算思维的学者。1992年,黄崇福在其所著的《信息扩散原理与计算思维及其在地震工程中的应用》一书中给出了计算思维的定义:“计算思维就是思维过程或功能的计算模拟方法论,其研究的目的是提供适当的方法,使人们能借助现代和将来的计算机,逐步达到人工智能的较高目标。”
国内关于计算思维的研讨大部分都是在与计算机方法论一起研究的。桂林电子科技大学计算机与控制学院董荣胜教授在对计算思维和计算机方法论的研究中指出:计算思维与计算机方法论虽有各自的研究内容与特色,但它们的互补性很强,可以相互促进,计算机方法论可以对计算思维研究方面取得的成果进行再研究和吸收,最终丰富计算机方法论的内容;反之,计算思维能力的培养也可以通过计算机方法论的学习得到更大的提高。两者之间的关系与现代数学思维和数学方法论之间的关系非常相似。
2009年7月26日,中国工程院院士、中科院计算技术研究所所长李国杰在NOI2009开幕式和NOI25周年纪念会上的讲话提到:“计算思维是运用计算机科学的基础概念去求解问题、设计系统和理解人类的行为,它选择合适的方式去陈述一个问题,对一个问题的相关方面建模并用最有效的办法实现问题求解。有了计算机,我们就能用自己的智慧去解决那些计算时代之前不敢尝试的问题。”同年11月9日,在《中国信息技术已到转变发展模式关键时刻》一文中,李国杰在展望未来信息技术的发展前景时指出:“20世纪下半叶是以信息技术发明和技术创新为标志的时代,预计21世纪上半叶将兴起一场以高性能计算和仿真、网络科学、智能科学、计算思维为特征的信息科学革命,信息科学的突破可能会使21世纪下半叶出现一场新的信息技术革命。”2009年12月27日,中国计算机学会青年计算机科技论坛哈尔滨分论坛(YOCSE哈尔滨)与哈尔滨工业大学计算机科学与技术学院青年沙龙共同举办了“计算思维”专题论坛的会议。哈工大计算机学院副院长王亚东教授作了题为“计算与计算思维”的报告。报告从科学技术发展的角度出发,讲述了计算思维已经和即将对各门学科产生的影响,在计算机专业的各门课程中渗透“计算思维”的设想,并倡议学者们总结计算思维有哪些类别,以及它们和各门学科、日常生活的关系。
2010年7月19日至20日,北京大学等九所知名高校在西安交通大学举办了“C9高校联盟计算机基础课程研讨会”。教育部高等学校计算机基础课程教学指导委员会主任陈国良院士亲临大会,作了“计算思维能力培养研究”的报告。大会就增强大学生计算思维能力的培养发表了“C9高校联盟计算机基础教学发展战略联合声明”。
计算思维的关键内容
当我们必须求解一个特定的问题时,首先会问:解决这个问题有多么困难?怎样才是最佳的解决方法?当我们以计算机解决问题的视角来看待这个问题,我们需要根据计算机科学坚实的理论基础来准确地回答这些问题。同时,我们还要考虑工具的基本能力,考虑机器的指令系统、资源约束和操作环境等问题。
为了有效地求解一个问题,我们可能要进一步问:一个近似解是否就够了,是否有更简便的方法,是否允许误报和漏报?计算思维就是通过约简、嵌入、转化和仿真等方法,把一个看来困难的问题重新阐释成一个我们知道怎样解决的问题。
计算思维是一种递归思维,是一种并行处理。它可以把代码译成数据又把数据译成代码。它是由广义量纲分析进行的类型检查。例如,对于别名或赋予人与物多个名字的做法,它既知道其益处又了解其害处;对于间接寻址和程序调用的方法,它既知道其威力又了解其代价;它评价一个程序时,不仅仅根据其准确性和效率,还有美学的考量,而对于系统的设计,还考虑简洁和优雅。计算思维是一种多维分析推广的类型检查方法。
计算思维采用了抽象和分解来迎接庞杂的任务或者设计巨大复杂的系统,它是一种基于关注点分离的方法(SeparationofConcerns,简称SOC方法)。例如,它选择合适的方式去陈述一个问题,或者选择合适的方式对一个问题的相关方面建模使其易于处理;它是利用不变量简明扼要且表述性地刻画系统的行为;它是我们在不必理解每一个细节的情况下就能够安全地使用、调整和影响一个大型复杂系统的信息;它就是为预期的未来应用而进行数据的预取和缓存的设计。
计算思维是按照预防、保护及通过冗余、容错、纠错的方式,并从最坏情况进行系统恢复的一种思维。例如,对于“死锁”,计算思维就是学习探讨在同步相互会合时如何避免“竞争条件”的情形。
计算思维利用启发式的推理来寻求解答,它可以在不确定的情况下规划、学习和调度。例如,它采用各种搜索策略来解决实际问题。计算思维利用海量数据来加快计算,在时间和空间之间,在处理能力和存储容量之间进行权衡。例如,它在内存和外存的使用上进行了巧妙的设计;它在数据压缩与解压缩过程中平衡时间和空间的开销。
计算思维与生活密切相关:当你早晨上学时,把当天所需要的东西放进背包,这就是“预置和缓存”;当有人丢失自己的物品,你建议他沿着走过的路线去寻找,这就叫“回推”;在对自己租房还是买房做出决策时,这就是“在线算法”;在超市付费时,决定排哪个队,这就是“多服务器系统”的性能模型;为什么停电时你的电话还可以使用,这就是“失败无关性”和“设计冗余性”。由此可见,计算思维与人们的工作与生活密切相关,计算思维应当成为人类不可或缺的一种生存能力。
计算机科学是计算的学问,它研究什么是可计算的,怎样去计算。计算思维具有以下特性:(1)概念化,不是程序化。计算机科学不是计算机编程。像计算机科学家那样去思维意味着远不止能为计算机编程,还要求能够在抽象的多个层次上思维。(2)根本的,不是刻板的技能。根本技能是每一个人为了在现代社会中发挥职能所必须掌握的。刻板技能意味着机械的重复。具有讽刺意味的是,当计算机像人类一样思考之后,思维可就真的变成机械的了。(3)是人的,不是计算机的思维方式。计算思维是人类求解问题的一条途径,但绝非要使人类像计算机那样地思考。计算机枯燥且沉闷,人类聪颖且富有想象力,是人类赋予计算机激情。配置了计算设备,我们就能用自己的智慧去解决那些在计算时代之前不敢尝试的问题。计算机赋予人类强大的计算能力,人类应该好好地用这种力量去解决各种需要大量计算的问题。(4)数学和工程思维的互补与融合。计算机科学在本质上源自数学思维,因为像所有的科学一样,其形式化基础建筑于数学之上。计算机科学又从本质上源自工程思维,因为我们建造的是能够与实际世界互动的系统,基本计算设备的限制迫使计算机科学家必须计算性地思考,不能只是数学性地思考。构建虚拟世界的自由使我们能够设计超越物理世界的各种系统。(5)是思想,不是人造物。不只是我们生产的软件硬件等人造物将以物理形式到处呈现并时时刻刻触及我们的生活,更重要的是计算概念,这种概念被人们用于求解问题、管理日常生活、与他人交流和互动。(6)面向所有的人,所有地方。当计算思维真正融入人类活动的整体以致不再表现为一种显式之哲学的时候,它就将成为一种现实。就教学而言,计算思维作为一个问题解决的有效工具,应当在所有地方、所有学校的课堂教学中得到应用。
计算思维与计算机学科的方法论
正如本文第二部分所述,计算思维与计算机学科的方法论研究有很大的相似性,国内很多学者都在同时研究。计算思维和计算机学科方法论都是试图通过可计算性原理、形理算一体原理和机算设计原理,从思维和方法的高度来进行抽象,以寻求具有一定普适意义的学科价值。
所谓可计算性原理亦即计算的可行性原理。1936年,英国科学家图灵提出了计算思维领域的计算可行性问题:即怎样判断一类数学问题是否是机械可解的,或者说一些函数是否可计算。所谓形理算一体原理,是针对具体问题应用相关理论进行计算发现规律的原理。在计算思维领域,就是从物理图像和物理模型出发,寻找相应的数学工具与计算方法进行问题求解。所谓机算设计原理,就是利用物理器件和运行规则(算法)相结合完成某个任务的原理。在计算思维领域,最显著的成果就是电子计算机的创造(计算机的设计原理),比如,电子计算机构成就是五个外部设备(计算器、运算器、存储器、输入设备、输出设备)以及运用二进制和存储程序的概念来达到解决问题的目的。
尽管计算思维的学科体系尚未成熟,但在教学和培训中的应用和推广已逐步开展。一些从事计算机教育的学者在教学过程中推进计算思维能力的培养,标志性的事情包括2008年美国国家计算机科学技术教师协会(CSTA)在网上了得到美国微软公司支持的《计算思维:一个所有课堂问题解决的工具》(ComputationalThinking:Aproblemsolvingtoolforeveryclassroom)报告。2008年,ACM在网上公布了对CS2001(美国关于大学计算机科学的教学大纲)进行中期审查的报告(CS2001InterimReview),开始将美国卡内基·梅隆大学计算机科学系教授周以真倡导的“计算机思维”与“计算机导论”课程绑定在一起,并明确要求该课程讲授计算机思维的本质。美国计算机科学技术教师协会认为,计算思维应当是所有学校所有课堂教学都应当采用的一个工具。采用这个工具,教师自然会问以下几个问题:(1)人所固有的能力与局限性?计算机的计算能力与局限性?(2)问题到底有多复杂?即问题解决的时间复杂性、空间复杂性?(3)问题解决的判定条件是什么?(4)什么样的技术(各种建模技术)能被应用于当前的问题求解或讨论之中?(5)什么样的计算策略更有利于当前问题的解决?
计算机科学与技术方法论是认知计算学科的方法和工具,也是计算学科认知领域的理论体系。计算机科学与技术方法论也进一步推进了大学计算思维的培养。在大学计算机学科教学中,引入计算思维关注点分离的方法解决软件工程课程中的问题求解、算法设计、软件设计等设计方法以及软件开发过程、软件项目管理和软件开发方法学等诸多方面的问题,因为作为最重要的计算思维原则之一,关注点分离是计算科学和软件工程在长期实践中确立的一项方法论原则。离散数学课堂教学中可以引导学生利用计算思维去解决离散数学中的模型与数理逻辑、递归与等价关系数目的求解、模块化与群、等价关系证明等问题。
目前,尽管计算思维已在大学教学中逐步应用,但是,计算思维本身还未成为独立的学科体系,并且在教学中的应用都是少数专家学者在进行小规模探索性的实验性教学,在培养过程中没有系统性的应用计算思维的系列方法,因此效果并不明显。
计算思维对信息技术课程的影响
尽管有关计算思维的研究目前主要在高校,在国内,也仅在为数不多的高校计算机系或计算机学院开展教学实践探索。由于计算机学科和信息技术学科有着天然的紧密联系,计算思维也会对中小学信息技术课程产生影响。
1.计算思维是每个人的基本技能
计算思维是每个人的基本技能,不仅仅属于计算机科学家。我们应当使每个孩子在培养解析能力时不仅掌握阅读、写作和算术(Reading,wRiting,andaRithmetic——3R),还要学会计算思维。正如印刷出版促进了3R的普及,计算和计算机也以类似的正反馈促进了计算思维的传播。当大学计算机专业教学在尝试用计算思维开展计算机专业课程教学的时候,教授们已提出应当为大学新生开一门称为“怎么像计算机科学家一样思维”的课程,面向所有专业,而不仅仅是计算机科学专业的学生。我们应当使入大学之前的学生接触计算的方法和模型。我们应当设法激发公众对计算机领域科学探索的兴趣,传播计算机科学的快乐、崇高和力量,致力于使计算思维成为常识。从目前中小学的课程设置来看,通过信息技术课程让学生接触计算思维是最有效的途径。2000年以来,我们已经习惯于将提升学生信息素养作为信息技术课程目标,随着计算思维的引入,需要我们去探索信息素养与计算思维的关系。
2.计算思维促进信息技术学科思维的研究
目前的信息技术课程普遍存在着“只见技术不见人”和“什么实用教什么”的现象。前者反映我国课程实现中存在着过度的技术化取向问题,后者反映了功利主义的课程价值认识。其实,这两种现象所反映的本质都是相同的,即以简单技术掌握为第一要义,虽然强调了用信息技术解决实际问题,但也仅是解决如何操作软件以达到学以致用,缺乏从学生人生发展的高度看待信息技术课程所应有的价值。
笔者曾从信息技术课程中有关算法与程序设计的学习价值的角度提出算法思维是一种解决问题的过程性思维方式:算法思维就是能清楚说明问题解决的方法,能够将一个复杂的问题转化成若干子问题并将其进一步简化,以达到解决问题的目的,这也是科学和设计领域的一项重要技能;算法思维就是能清楚地理解问题解决的规则,能够认识到问题的起点、边界和限定范围,按部就班地完成任务或解决问题;算法思维就是能清楚地分析问题解决方法的优劣,能够设计与构造操作步骤更少、更经济的算法。
算法思维的提出在一定程度上解决“算法与程序设计”的学习价值不是仅对口程序员的培养,就像数学的学习不仅是培养会计一样。通过算法和程序设计的学习,学生可以体验解决问题的过程,规范的设计与工艺要求,以及人与计算机共存的思维特征。但是,算法思维是以算法为出发点,相比以计算理论出发的计算思维,有更多的局限性。因此,计算思维有利于推进信息技术课程在学科思维方面的研究,有利于学生通过信息技术课程获得终身有用的知识与能力,而不是面临过时的计算机操作步骤。
3.计算思维引发有关信息技术与计算机学科的关系思考
计算机界长期以来一直认为程序设计语言是进入计算学科领域的优秀工具,也是获得计算机重要特征的有力工具。早期中小学开展BASIC语言学习,其本意也是以认识计算机特征为目的。其存在的明显问题是缺乏学科思维,过多地关注具体语言的细节。而以应用软件为学习对象的计算机课程,虽然强调了应用,但仍然关注软件操作细节的学习,使得课程学习内容与社会上的软件培训班相差无几。随着计算机软件的丰富与普及,以及计算机操作的人性化,重视工具操作、缺乏思维和方法的计算机课程面临改革是必然的。
信息技术课程不仅在课程目标上实现了从掌握计算机知识和技能到信息素养的转变,课程形态、教学内容、教学模式、评价方式、教材等方面都有了较大的发展与改进。但是,目前的信息技术课程在处理学习内容中,“人如何处理信息”、“人如何用工具处理信息”以及“工具如何处理信息(人如何制造信息处理工具)”三者关系时把握不清,特别是对于有关计算机原理与操作的学习内容,存在既想回避又无法回避的现状,要回避是因为要避免学科教学走回原计算机课老路,但计算机作为现代信息技术的典型代表在教学中又无法回避。
信息技术和计算机都能对数据进行加工,这种加工有自动化属性。两者都反映了一个根本的问题:什么能被有效地自动进行。这也是计算思维经抽象以后反映的根本问题。计算思维将促进信息技术课程中信息技术与计算机技术的关系问题,即计算机在信息技术课程中的地位问题。
结束语
对于计算思维来讲,要成为一门学科,还有很长的路要走。目前,计算思维还不是知识形态的学科,因为其本身的概念、原理、特征、培养方法论以及创新方法论等方面的知识体系并未形成,也不是大多数学校或研究所教学内容的基本单位。这方面的学者、知识信息及学术资料所组成的实体化组织虽然正在形成,但远远未达到成熟。另外,各国的教育行政主管部门还没有完全认识到计算思维的重要性。因此,计算思维学科体系的建立任重而道远。