大学程序设计课程中的计算思维培养_第1页
大学程序设计课程中的计算思维培养_第2页
大学程序设计课程中的计算思维培养_第3页
大学程序设计课程中的计算思维培养_第4页
大学程序设计课程中的计算思维培养_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、大学程序设计课程中的计算思维培养 摘要:介绍了计算思维提出的背景及国内外的开展现状,针对传统大学程序设计课程的教学问题,将计算思维引入课程。对改革的主要内容、实施步骤及案例设计进行阐述,提出的改革思路可给其他高校大学程序设计课程的教学改革提供参考。 关键词:计算思维;大学程序设计课程;非计算机专业 作者简介:张莉1976-,女,江苏宜兴人,南京大学计算机科学与技术系大学计算机根底教学部,讲师;金莹1978-,女,回族,江苏南京人,南京大学计算机科学与技术系大学计算机根底教学部,副教授。江苏 南京 210093 中图分类号:G642.0 文献标识码:A 文章编号:1007-0079202116-

2、0094-02 2021年7月16日,“第一届计算思维与大学计算机课程教学改革研讨会在西安交通大学召开,中国科学院陈国良院士和多名计算机教学名师、专家以及近三百名在国内高校承当计算机课程教学的教师参加了此次研讨会,大会探讨了如何在大学计算机课程中引入计算思维,如何建立计算思维教学体系以及如何让学生养成用计算思维方式来思考和解决专业问题等内容。 一、计算思维产生的背景及现状 2006年3月,美国卡内基梅隆大学的华裔女科学家周以真Jeannette M. Wing教授在美国计算机权威期刊?Communications of ACM?撰文提出计算思维Computational Thinking1的概

3、念和详细定义。周以真教授指出计算思维是运用计算机科学的根底概念进行问题求解、系统设计和理解人类的行为,它是涵盖了计算机科学之广泛性的一系列思维活动。 计算思维是随着近十年来美国对计算科学重要性的认识逐渐提高而提出的。近些年来,美国大学计算机根底教育出现了学生对计算机根底课程兴趣逐渐下降,如中途放弃课程或通过抄袭及作弊来完成课程的教育危机。2005年6月,美国总统信息技术咨询委员会Presidents Information Technology Advisory Committee,PITAC给美国总统提交了报告?计算科学:确保美国竞争力?Computational Science:Ensur

4、ing Americas Competitiveness,2报告中陈述21世纪科学上最重要的以及经济上最有前途的前沿研究都有可能通过熟练掌握先进的计算技术和运用计算科学得到解决,计算本身也是一门学科,它可以促进其他学科的开展。计算思维一经提出,美国的教育专家们看到了解决这两者矛盾的希望。2021年周以真教授再次在刊物上发表文章阐述计算思维的根本思想,而近年来美国各大高校都在修订其本科生计算机科学课程的方案,美国麻省理工大学、3斯坦福大学4和卡内基梅隆大学5等著名高校纷纷设置了面向全校的计算思维的通识课程。除美国外欧洲也开始重视计算思维的培养,2021年8月,英国皇家协会也发布了以计算思维为出发

5、点的为期18个月的“学校计算教学方法工程。 中科院自动化所的王飞跃教授率先把计算思维引入国内,王飞跃教授撰文?计算思维与计算文化?,6他希望能借“计算思维的东风将中国传统世故人情的“算计文化反正成现代科学理性的“计算文化,以提高民族的整体素质。2021年10月中国科学技术大学的陈国良院士在“第六届大学计算机课程报告论坛上建议将计算思维引入大学计算机根底教学后,计算思维得到了国内众多计算机根底教育者和研究者更广泛的重视。中国科学院计算技术研究所李国杰院士、7清华大学软件学院孙家广院士8和中国科学院计算技术研究所徐志伟总工9等多位专家在这方面进行了有效的探索。 二、计算思维与大学程序设计课程 1.

6、大学程序设计课程教学目标 大学程序设计课程是许多高校理工科包括局部文科专业的必修公共根底课程之一,?中国高等院校计算机根底教育课程体系2021?10对“程序设计根底课程提出的培养目标主要有两个:学习问题求解的思路和方法,理解在计算机上是如何具体实现算法的,这也就意味着大学程序设计课程学习的重点不仅仅是编写程序,而更重要的是学习算法思想与问题求解方法。但是大学程序设计课程传统的教学方法存在诸多的问题。 2.大学程序设计课程存在的问题 1教师在课程讲授过程中容易陷入语法和句法的细枝末节中而无视根本问题求解方法的讲解。 2上课时常常是教师先讲解学生后上机实验,学生属于被动学习,整个学习过程中其参与度

7、不高,听课后学生通常按照教师的想法按部就班完成实验。这种教学策略只能提高学生上机实验能力,而学生思维能力的养成没有得到专门的训练。 3传统的计算机程序设计课程还存在与专业背景结合不紧密的情况,在教学过程中通常不考虑学生的专业背景,学生在学完课程后常常会感到迷茫,不知道如何用程序设计方法解决自己的专业问题。 3.将计算思维融入课程教学 要想改变目前这种传统教学模式,消除其弊端,需要对程序设计课程的教学内容、教学方法和手段进行改革,融入计算思维培养的教学方法,让学生理解计算环境、问题求解过程中各类构造能力,如对象构造、过程构造和验证构造等,以及通过计算能解决什么问题和使用计算来解决问题的过程、方法

8、和步骤,让学生学会如何通过约简、嵌入、转化和仿真等方法得出能求解一个困难问题的方法,学会利用启发式推理来寻求解答,即在不确定情况下进行规划、学习和调度,同时培养学生以计算思维的方式来分析、理解和解决本专业领域问题。 三、以计算思维为目标的大学程序设计课程培养方法 南京大学以下简称“我校计算机科学与技术系大学计算机根底教学部在2021年教学改革中,对于程序设计课程提出了层次化教改方案,并通过课程设计等方式提高学生解决问题的能力,同时也进行了将专业知识与程序设计课程相结合的尝试性工作,获得了院系和学生的好评,但是在整个过程中尚欠缺对于计算思维能力的显式培养,学生对问题求解的抽象能力、抽象表示、抽象

9、思维以及形式化证明等能力缺乏,由此需要对现有的教学模式和教学评价体系等做相应修改,将计算思维切实融入到程序设计课程中,教会学生如何学习问题求解的思路和方法,并让学生在经由计算思维培养后能更好地解决专业问题。以下分别从改革的主要内容、实施步骤和具体案例来进行说明。 1.主要内容 以计算思维为目标的大学课程设计课程培养方法的主要内容有: 1调研我校各专业对于程序设计课程的一般要求和专业要求,探索如何设计以计算思维为主线的教学方法体系。 2调研国内外其他高校程序设计课程中计算思维培养的教学情况,学习借鉴成功的经验和方法。 3在我校和国内外调研的根底上建立以计算思维为主线的教学方法体系,修订和建设相关

10、的课程资料、案例和实践工程,通过这些有针对性的训练让学生掌握通过计算思维来解决一些实际问题的能力。 4建立培养学生以计算思维的思想去理解、抽象本专业领域问题的能力的教学方法,使得学生能够拥有以计算的眼光看待问题的素养,从而能够分析、抽象、分解、解决自己研究领域问题,并具有足够的自学能力去获得完成以上各阶段任务所需的知识和技能。 2.实施步骤 根据主要内容制定了如下的实施步骤: 1通过搜集和阅读国内外计算机程序设计课程教学资料和计算思维相关论文、开会研讨和个人总结等方式,对现有程序设计课程教学方法进行改良,围绕计算的本质和让学生以计算的方式思考为中心,完成修改现有课程教材、改良课程教学方案等任务

11、。通过这一阶段的根底工作,能够让教师深刻理解计算思维的本质,建立以计算思维的培养为核心的教学理念,更好地指导程序设计课程的教学。 2改良和设计以计算思维方式分析和解决各专业共同面对的研究问题的教学方法。设计教学案例,能够让学生理解从计算思维出发思考,以计算的方式表达、分析和解决问题的整个过程;设计实验工程,让学生尝试使用计算思维来表达和解决一些典型但足够简单的问题,从而加深对计算本质的理解并掌握足够的根底技能。这一阶段教学方法的应用,应使得学生能够掌握实践计算思维的根本技能,并能够让学生在这个计算背景知识的根底上,实现解决问题的各个步骤,而最重要的是,在这个过程中,让学生理解独立于具体实践技术

12、之外的计算思维本质,从而使得学生在转换到另一个具体实践技术背景下时,也能知道应用计算思维解决问题的各个阶段应该做什么,需要获取欠缺的哪些知识,从被动学习变为主动学习。 3在针对所教院系应届和往届学生及院系教学相关人员通过调查问卷和座谈等形式收集专业典型案例的根底上,建设利用计算思维解决学生所在专业领域问题的教学方法。通过紧密结合学生的专业背景,提炼此专业的一些典型并能表达计算解决方法优势的问题,使用少局部问题作为计算思维应用的杀手级应用,让学生理解计算思维如何应用到本专业研究中。使用大局部典型问题设计假设干实践工程,以指定实践技术手段和不限定实践技术手段并用的形式,通过学生独立完成、小组完成、

13、分组讨论以及完成工程论文等方式,培养学生在本专业领域应用计算思维所需的一系列能力。 3.案例设计 在改良和设计以计算思维方式分析和解决各专业共同面对的或不同专业各自面对的研究问题的教学方法时,设计了许多教学案例、实验作业和课程设计工程,总体来说是以问题驱动的方法先将问题提出,然后再由学生分析和思考如何设计和解决问题并提出不同的方案,再对各种方案进行分析比拟后选择优势最明显的一种作为最终的方案。 以讲授高级语言翻译环境为例。以往的教学主要是灌输式的,将流行的翻译环境进行综合介绍:教师首先介绍每个编译器/解释器的菜单项的功能、操作方式和独有的特征等;学生按照教师的介绍选择某一种编译器/解释器进行操

14、作并熟练掌握。 但这种教学方式导致学生对编译器/解释器的理解只流于外表,并没有真正理解编译器/解释器这种计算环境的本质特征,学生换一种编译器/解释器或者遇到特殊问题时就没法很好地利用现成的计算环境。 为此,需要改变学生理解高级语言翻译环境的教学方式。而我们在设计新的教学案例时着重对于学生“思想和“方法的培养,让学生深刻理解问题的本质。新的教学方式从高级语言和机器语言的关系入手,具体步骤为: 1用一个简单的实现介绍高级语言和机器语言的特征和关系,让学生理解高级语言翻译这种计算环境的必要性和重要性。 2引导学生思考如何将高级语言翻译为机器语言,理解解释和编译这两种翻译方式的特征。 3接着探索一个高

15、级语言翻译环境需要的功能模块有哪些,让学生分组讨论并设计出根本的功能模块,教师根据学生设计的功能模块进行点评,探讨哪些是合理的功能模块和没有必要的功能模块。 4在功能模块根本确定的根底上教师选择至少两种高级语言翻译环境供学生进行观摩评价,让学生学习成熟的翻译环境是如何设计的,并了解翻译环境的高级功能。 5在对翻译环境有了本质的理解后学习可自行操作编译器/解释器,并且对于不同的翻译环境也能很快理解并运用。 从教学、实验和课程设计等多个环节中引入计算思维方式培养的案例实施结果来看,利用这种改良的问题构造、问题表示和问题解决的引导性、交互性教学方式,能有效地提高学生的计算思维能力。 计算思维的培养不

16、是一蹴而就的,还需要更多的努力,但是应该看到计算思维是一种可以面向所有人,在任何地方都可以培养的一种思维活动,作为高校教师,应该也可以通过自身对于计算思维认识的提高而激发学生能够在抽象的多个层次上进行主动积极的思维。 参考文献: 1Jeannette M.Wing.Computational ThinkingJ.Communications of the ACM,2006,493:33-35. 2Presidents Information Technology Advisory Committee. Computational Science:Ensuing Americatational/computational.pdf.June 2005. 4Stanford.Introduction to Computer Science | Programming MethodologyEB/OL. :/see. /see/courseinfo.aspx?coll=824a47e1-135f-4508-a5aa-866adcae1111. 5CMU.Principles of ComputationEB/

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论