大学程序设计课程中的计算思维培养

来源 :中国电力教育 | 被引量 : 0次 | 上传用户:cythcle
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:介绍了计算思维提出的背景及国内外的发展现状,针对传统大学程序设计课程的教学问题,将计算思维引入课程。对改革的主要内容、实施步骤及案例设计进行阐述,提出的改革思路可给其他高校大学程序设计课程的教学改革提供参考。
  关键词:计算思维;大学程序设计课程;非计算机专业
  作者简介:张莉(1976-),女,江苏宜兴人,南京大学计算机科学与技术系大学计算机基础教学部,讲师;金莹(1978-),女,回族,江苏南京人,南京大学计算机科学与技术系大学计算机基础教学部,副教授。(江苏 南京 210093)
  中图分类号:G642.0 文献标识码:A 文章编号:1007-0079(2013)16-0094-02
  2012年7月16日,“第一届计算思维与大学计算机课程教学改革研讨会”在西安交通大学召开,中国科学院陈国良院士和多名计算机教学名师、专家以及近三百名在国内高校承担计算机课程教学的教师参加了此次研讨会,大会探讨了如何在大学计算机课程中引入计算思维,如何建立计算思维教学体系以及如何让学生养成用计算思维方式来思考和解决专业问题等内容。
  一、计算思维产生的背景及现状
  2006年3月,美国卡内基·梅隆大学的华裔女科学家周以真(Jeannette M. Wing)教授在美国计算机权威期刊《Communications of ACM》撰文提出计算思维(Computational Thinking)[1]的概念和详细定义。周以真教授指出计算思维是运用计算机科学的基础概念进行问题求解、系统设计和理解人类的行为,它是涵盖了计算机科学之广泛性的一系列思维活动。
  计算思维是随着近十年来美国对计算科学重要性的认识逐渐提高而提出的。近些年来,美国大学计算机基础教育出现了学生对计算机基础课程兴趣逐渐下降,如中途放弃课程或通过抄袭及作弊来完成课程的教育危机。2005年6月,美国总统信息技术咨询委员会(President’s Information Technology Advisory Committee,PITAC)给美国总统提交了报告《计算科学:确保美国竞争力》(Computational Science:Ensuring America’s Competitiveness),[2]报告中陈述21世纪科学上最重要的以及经济上最有前途的前沿研究都有可能通过熟练掌握先进的计算技术和运用计算科学得到解决,计算本身也是一门学科,它可以促进其他学科的发展。计算思维一经提出,美国的教育专家们看到了解决这两者矛盾的希望。2010年周以真教授再次在刊物上发表文章阐述计算思维的基本思想,而近年来美国各大高校都在修订其本科生计算机科学课程的计划,美国麻省理工大学、[3]斯坦福大学[4]和卡内基·梅隆大学[5]等著名高校纷纷设置了面向全校的计算思维的通识课程。除美国外欧洲也开始重视计算思维的培养,2010年8月,英国皇家协会也发布了以计算思维为出发点的为期18个月的“学校计算教学方法”项目。
  中科院自动化所的王飞跃教授率先把计算思维引入国内,王飞跃教授撰文《计算思维与计算文化》,[6]他希望能借“计算思维”的东风将中国传统世故人情的“算计文化”反正成现代科学理性的“计算文化”,以提高民族的整体素质。2010年10月中国科学技术大学的陈国良院士在“第六届大学计算机课程报告论坛”上倡议将计算思维引入大学计算机基础教学后,计算思维得到了国内众多计算机基础教育者和研究者更广泛的重视。中国科学院计算技术研究所李国杰院士、[7]清华大学软件学院孙家广院士[8]和中国科学院计算技术研究所徐志伟总工[9]等多位专家在这方面进行了有效的探索。
  二、计算思维与大学程序设计课程
  1.大学程序设计课程教学目标
  大学程序设计课程是许多高校理工科(包括部分文科)专业的必修公共基础课程之一,《中国高等院校计算机基础教育课程体系(2008)》[10]对“程序设计基础”课程提出的培养目标主要有两个:学习问题求解的思路和方法,理解在计算机上是如何具体实现算法的,这也就意味着大学程序设计课程学习的重点不仅仅是编写程序,而更重要的是学习算法思想与问题求解方法。但是大学程序设计课程传统的教学方法存在诸多的问题。
  2.大学程序设计课程存在的问题
  (1)教师在课程讲授过程中容易陷入语法和句法的细枝末节中而忽视基本问题求解方法的讲解。
  (2)上课时常常是教师先讲解学生后上机实验,学生属于被动学习,整个学习过程中其参与度不高,听课后学生通常按照教师的想法按部就班完成实验。这种教学策略只能提高学生上机实验能力,而学生思维能力的养成没有得到专门的训练。
  (3)传统的计算机程序设计课程还存在与专业背景结合不紧密的情况,在教学过程中通常不考虑学生的专业背景,学生在学完课程后常常会感到迷茫,不知道如何用程序设计方法解决自己的专业问题。
  3.将计算思维融入课程教学
  要想改变目前这种传统教学模式,消除其弊端,需要对程序设计课程的教学内容、教学方法和手段进行改革,融入计算思维培养的教学方法,让学生理解计算环境、问题求解过程中各类构造能力,如对象构造、过程构造和验证构造等,以及通过计算能解决什么问题和使用计算来解决问题的过程、方法和步骤,让学生学会如何通过约简、嵌入、转化和仿真等方法得出能求解一个困难问题的方法,学会利用启发式推理来寻求解答,即在不确定情况下进行规划、学习和调度,同时培养学生以计算思维的方式来分析、理解和解决本专业领域问题。
  三、以计算思维为目标的大学程序设计课程培养方法
  南京大学(以下简称“我校”)计算机科学与技术系大学计算机基础教学部在2008年教学改革中,对于程序设计课程提出了层次化教改方案,并通过课程设计等方式提高学生解决问题的能力,同时也进行了将专业知识与程序设计课程相结合的尝试性工作,获得了院系和学生的好评,但是在整个过程中尚欠缺对于计算思维能力的显式培养,学生对问题求解的抽象能力、抽象表示、抽象思维以及形式化证明等能力缺乏,由此需要对现有的教学模式和教学评价体系等做相应修改,将计算思维切实融入到程序设计课程中,教会学生如何学习问题求解的思路和方法,并让学生在经由计算思维培养后能更好地解決专业问题。以下分别从改革的主要内容、实施步骤和具体案例来进行说明。   1.主要内容
  以计算思维为目标的大学课程设计课程培养方法的主要内容有:
  (1)调研我校各专业对于程序设计课程的一般要求和专业要求,探索如何设计以计算思维为主线的教学方法体系。
  (2)调研国内外其他高校程序设计课程中计算思维培养的教学情况,学习借鉴成功的经验和方法。
  (3)在我校和国内外调研的基础上建立以计算思维为主线的教学方法体系,修订和建设相关的课程资料、案例和实践项目,通过这些有针对性的训练让学生掌握通过计算思维来解决一些实际问题的能力。
  (4)建立培养学生以计算思维的思想去理解、抽象本专业领域问题的能力的教学方法,使得学生能够拥有以计算的眼光看待问题的素养,从而能够分析、抽象、分解、解决自己研究领域问题,并具有足够的自学能力去获得完成以上各阶段任务所需的知识和技能。
  2.实施步骤
  根据主要内容制定了如下的实施步骤:
  (1)通过搜集和阅读国内外计算机程序设计课程教学资料和计算思维相关论文、开会研讨和个人总结等方式,对现有程序设计课程教学方法进行改进,围绕计算的本质和让学生以计算的方式思考为中心,完成修改现有课程教材、改进课程教学计划等任务。通过这一阶段的基础工作,能够让教师深刻理解计算思维的本质,建立以计算思维的培养为核心的教学理念,更好地指导程序设计课程的教学。
  (2)改进和设计以计算思维方式分析和解决各专业共同面对的研究问题的教学方法。设计教学案例,能够让学生理解从计算思维出发思考,以计算的方式表达、分析和解决问题的整个过程;设计实验项目,让学生尝试使用计算思维来表达和解决一些典型但足够简单的问题,从而加深对计算本质的理解并掌握足够的基础技能。这一阶段教学方法的应用,应使得学生能够掌握实践计算思维的基本技能,并能够让学生在这个计算背景知识的基础上,实现解决问题的各个步骤,而最重要的是,在这个过程中,让学生理解独立于具体实践技术之外的计算思维本质,从而使得学生在转换到另一个具体实践技术背景下时,也能知道应用计算思维解决问题的各个阶段应该做什么,需要获取欠缺的哪些知识,从被动学习变为主动学习。
  (3)在针对所教院系应届和往届学生及院系教学相关人员通过调查问卷和座谈等形式收集专业典型案例的基础上,建设利用计算思维解决学生所在专业领域问题的教学方法。通过紧密结合学生的专业背景,提炼此专业的一些典型并能体现计算解决方法优势的问题,使用少部分问题作为计算思维应用的杀手级应用,让学生理解计算思维如何应用到本专业研究中。使用大部分典型问题设计若干实践项目,以指定实践技术手段和不限定实践技术手段并用的形式,通过学生独立完成、小组完成、分组讨论以及完成项目论文等方式,培养学生在本专业领域应用计算思维所需的一系列能力。
  3.案例设计
  在改进和设计以计算思维方式分析和解决各专业共同面对的或不同专业各自面对的研究问题的教学方法时,设计了许多教学案例、实验作业和课程设计项目,总体来说是以问题驱动的方法先将问题提出,然后再由学生分析和思考如何设计和解决问题并提出不同的方案,再对各种方案进行分析比较后选择优势最明显的一种作为最终的方案。
  以讲授高级语言翻译环境为例。以往的教学主要是灌输式的,将流行的翻译环境进行综合介绍:教师首先介绍每个编译器/解释器的菜单项的功能、操作方式和独有的特征等;学生按照教师的介绍选择某一种编译器/解释器进行操作并熟练掌握。
  但这种教学方式导致学生对编译器/解释器的理解只流于表面,并没有真正理解编译器/解释器这种计算环境的本质特征,学生换一种编译器/解释器或者遇到特殊问题时就没法很好地利用现成的计算环境。
  为此,需要改变学生理解高级语言翻译环境的教学方式。而我们在设计新的教学案例时着重对于学生“思想”和“方法”的培养,让学生深刻理解问题的本质。新的教学方式从高级语言和机器语言的关系入手,具体步骤为:
  (1)用一个简单的实现介绍高级语言和机器语言的特征和关系,让学生理解高级语言翻译这种计算环境的必要性和重要性。
  (2)引导学生思考如何将高级语言翻译为机器语言,理解解释和编译这两种翻译方式的特征。
  (3)接着探索一个高级语言翻译环境需要的功能模块有哪些,让学生分组讨论并设计出基本的功能模块,教师根据学生设计的功能模块进行点评,探讨哪些是合理的功能模块和没有必要的功能模块。
  (4)在功能模块基本确定的基础上教师选择至少两种高级语言翻译环境供学生进行观摩评价,让学生学习成熟的翻译环境是如何设计的,并了解翻译环境的高级功能。
  (5)在对翻译环境有了本质的理解后学习可自行操作编译器/解释器,并且对于不同的翻译环境也能很快理解并运用。
  从教学、实验和课程设计等多个环节中引入计算思维方式培养的案例实施结果来看,利用这种改进的问题构造、问题表示和问题解决的引导性、交互性教学方式,能有效地提高学生的计算思维能力。
  计算思维的培养不是一蹴而就的,还需要更多的努力,但是应该看到计算思维是一种可以面向所有人,在任何地方都可以培养的一种思维活动,作为高校教师,应该也可以通过自身对于计算思维认识的提高而激发学生能够在抽象的多个层次上进行主动积极的思维。
  参考文献:
  [1]Jeannette M.Wing.Computational Thinking[J].Communications of the ACM,2006,49(3):33-35.
  [2]President’s Information Technology Advisory Committee. Computational Science:Ensuing America’s Competitiveness[EB/OL].http://www.nitrd.gov/pitac/reports/20050609_computational/computational.pdf.June 2005.
  [3]MIT.Introduction to Computer Science and Programming[EB/OL].http://ocw.mit.edu/courses/ electrical-engineering-and-computer-science/6-00-introduction-to-computer-science-and-programming-fall-2008.
  [4]Stanford.Introduction to Computer Science | Programming Methodology[EB/OL].http://see. stanford.edu/see/courseinfo.aspx?coll=824a47e1-135f-4508-a5aa-866adcae1111.
  [5]CMU.Principles of Computation[EB/OL].http://www.cs.cmu.edu/~tcortina/15-105sp09.
  [6]王飛跃.计算思维与计算文化[N].科学时报,2007-10-12.
  [7]中国科学院信息领域战略研究组.中国至2050年信息科技发展路线图[M].北京:科学出版社,2009.
  [8]孙家广.计算机科学的变革[J].中国计算机学会通讯,2009,5(2).
  [9]徐志伟.21世纪计算机科学的研究热点[J].中国计算机学会通讯,2009,5(2).
  [10]中国高等院校计算机基础教育改革课题研究组.中国高等院校计算机基础教育课程体系(2008)[M].北京:清华大学出版社,2008.
  (责任编辑:刘辉)
其他文献
摘要:为了完善本科毕业设计的监控效果,哈尔滨工程大学水声工程学院针对学生答辩时的基本理论和基本技能环节设计了答辩抽题系统。实践证明,该系统具有界面操作简单、方便实用、速度快等特点,使毕业设计答辩环节更加规范化、合理化。  关键词:毕业设计答辩;抽题系统;质量监控  作者简介:宋瑞琳(1977-),女,黑龙江哈尔滨人,哈尔滨工程大学水声工程学院,工程师。(黑龙江 哈尔滨 150001)  中图分类号
摘要:对化工仿真教学平台的硬件、软件及制度建设实践,以及平台教学运行过程做了有重点的介绍,同时对仿真模拟教学的效果进行了评价。仿真教学是对现场实习教学的重要互补,是一种突破传统教学方式的有益尝试,可激发学生的学习兴趣,并在一定程度上降低了办学成本,提高了办学效益。  关键词:仿真教学;化工;模拟  作者简介:左晓兵(1965-),男,安徽泾县人,常熟理工学院化学与材料工程学院,教授;沈磊(1982
摘要:毕业设计是本科教学中培养学生综合素质和工程实践能力的重要环节,是对学生在大学期间所学的专业知识和综合能力的一次全面检验,并且对学生个人能力的提高、正确树立对工作的态度以及提高独立处理问題的能力等方面都具有深远的影响,其质量的高低直接反映了本科教学的总体水平和办学效益。通过对毕业设计过程管理中的各个环节以及质量监控体系进行深入研究,以期达到提高毕业设计教学质量的目的。  关键词:毕业设计;过程
摘要:阐述了新形势下探索高校实验室教学模式的重要性,分析了高校实验室的现状与存在的问题,首次提出了高校虚拟实验室与开放实验室相结合的教学模式。通过搭建全开放式实验室软、硬件平台,开发虚拟实验室管理系统,建立了基于网络化的虚拟实验室和现实实验室相结合的开放实验管理系统,取得了良好的效果。  关键词:虚拟实验室;开放实验室;教学模式  作者简介:高素美(1979-),女,山东济宁人,金陵科技学院机电工
摘要:从工程实训方式、实训平台建设及使用、教学组织管理、质量保证、师资培养等方面,探讨如何对实训模式进行改革,力图为解决工程教育中面临的学生大规模工程实践问题寻找切实可行的办法和有效手段,为高校开展大规模、系统化工程训练提供了新思路和新方法。  关键词:工程教育;实训模式;工程应用型人才  作者简介:覃庆伟(1969-),男,广西藤县人,仲恺农业工程学院信息科学与技术学院,高级工程师;覃毅(197
摘要:针对新建地方性本科院校实验室管理队伍建设中存在的学历、年龄、职称等结构不合理的现状,结合高校实验室发展战略目标,在现有实验室管理队伍结构基础上,提出了优化实验室管理队伍建设的对策。对策的关键是转变观念、政策扶持、合理定岗、完善机制,切实把实验室管理队伍建设纳入高校教育教学发展的重要内容和长远规划。只有领导重视、政策到位、制度健全才能全方位打造出一支具有良好职业道德、专业基础知识扎实、技术精湛
摘要:通过详细回顾军械工程学院“计算机专业英语”建课和改革20年来的思路、方法、特点,阐述了该项教学的内容选取、结构组织、讲授方式、课堂交互等各个环节的具体实施方法,总结了对其进行完善、发展的诸多努力和相应的创新。  关键词:专业英语;英语教学;教学实践;课程改革  作者简介:原亮(1955-),男,山东青岛人,军械工程学院信息工程系,教授。(河北 石家庄 050003)  中图分类号:G642.
中国科学院研究生院正式更名为中国科学院大学标志着中国科学院同时承担着国家最高学术机构和最高学府的双重职能。从人才培养模式、师资队伍、学科建设等方面阐述了中国科学
摘要:对高校行政管理队伍的激励已经成为目前必须加以妥善解决的问题。影响行政管理队伍管理积极性的因素有理念的束缚、制度的制约和资源的约束。构建高校行政管理队伍的激励机制必须树立“以人为本”的核心理念,做好激励机制的顶层设计;围绕实施性法规制度建设,完善管理队伍专业化管理模式;整合教育资源,奠定管理队伍激励机制的前提和基础。  关键词:激励;管理者;高校;积极性  作者简介:蔡建淮(1960-),男,
摘要:针对学生学习“热工自动控制系统”课程后不能很快学以致用,实际教学与实践应用存在较大脱节的缺陷,采用CAI课件授课的方法并进行教学体系改革。CAI除了能表现传统教学无法实现的一些生动的效果外,还可以增加课容量,提高课密度。同时建立、健全热工自动控制系统实践教学体系,确保实践教学内容的先进性与实用性。  关键词:热工控制系统;计算机辅助教学;教学体系  作者简介:王文兰(1972-),女,内蒙古