论文部分内容阅读
摘 要:计算思维反映了计算机学科的本质特征和核心方法。结合国家、社会对计算机科学技术学科的当前需求和发展趋势,针对电子科技大学计算机学科本科生的培养目标,按照计算思维能力的本质特征,提出并实施“设计、抽象、实现” 三位一体的计算思维能力培养模式,搭建了设计类课程融合的体系,为学生培养提供强有力的保障,也希望为工科高校计算机学科本科生培养提供有益的借鉴。
关键词:计算思维;课程体系;培养模式;设计;抽象;实现;问题求解方法
一、背景
计算机科学与技术学科已成为重要的基础学科。计算机科学与技术水平,是衡量国家科技水平和综合国力的一个重要标志。
北京工业大学蒋宗礼教授确定了计算机科学与技术学科的培养目标,建立了相应的课程体系[1],并将计算机科学与技术学科的专业能力具体分为:计算思维能力,算法设计与分析能力,程序设计与实现能力,计算机系统的认知、分析、设计和运用能力[2]。美国卡内基·梅隆大学周以真教授(Jeannette M. Wing)认为:计算思维是运用计算机科学的基础概念去求解问题、设计系统以及人类行为理解等涵盖计算机科学之广度的一系列思维活动;计算思维的本质是抽象和自动化[3]。
计算机学科研究涉及面广,共同特征是基于特定计算环境的问题求解。计算机学科(基础)理论研究实际上是基于抽象级环境的问题求解;程序设计是基于语言级的问题求解活动,系统软件设计与应用软件设计则是系统级的问题求解[4]。计算思维的本质特征是基于不同层次计算模型(环境)和约束的问题求解(不同层次计算环境的问题求解行为,反映了计算机学科的三种不同形态:科学、技术与工程。计算思维反映了计算机学科本质的特征和核心的方法[2,4]。清华大学等九校学术联盟主要从掌握抽象级的问题求解方法角度培养计算思维能力[4],同济大学等的九校卓越联盟主要从掌握语言级的问题求解技术培养计算思维能力[4-6]。
二、电子科技大学计算思维能力培养课程体系
计算思维能力具体体现为程序设计与实现能力、抽象思维和逻辑思维能力、算法设计与分析能力等。电子科技大学传统的计算思维能力培养体系中,程序设计与实现能力、抽象思维和逻辑思维能力、算法设计与分析能力的培养分开实施,只突出单方面的能力,忽略整体计算思维能力培养;相关课程的任课教师之间、任课教师与实验教师之间的沟通少,关联课程之间存在部分内容与案例的重复;实验内容单调,没有全面考虑完整的、连续的实验,没有体现能力的培养;现有课程各自为政的教学安排造成了学生只见树木不见森林,只见自己不见他人;课程之间衔接性差,先修课程专注于知识点细节,忽略对后续课程的支撑,且过分细讲知识点,容易缺乏整体观,造成学生学习量大而自主学习时间和机会比较缺乏;特别在编译原理课程理论内容的讲解中,发现学生的逻辑思维能力和算法设计与分析能力较弱,缺乏形式化分析和描述问题的思维训练;实验教学中,发现学生的程序实现能力较差,不能够编写完整的、高效的编译器。
针对这一现状,对计算机学科本科生的计算思维能力进行综合培养的探索与实践十分必要。
电子科技大学计算思维能力培养课程体系包括三个方面:程序设计类课程、形式语言与自动机、编译原理,构成两个层次(如图1所示)。
程序设计类课程(包括数据结构、算法设计与分析和程序设计课程群)体现语言级的问题求解技术,对应计算思维的过程构造和验证构造,反映了计算机学科的技术形态。
形式语言与自动机课程体现抽象级环境的问题求解方法,对应计算思维的对象构造,反映了计算机学科的科学形态。
编译原理课程体现系统级的问题求解:问题空间映射为计算机模型空间(基于抽象级环境的问题求解方法,体现计算思维的抽象本质),计算机模型空间映射为高效的程序空间(基于语言级的问题求解技术,体现计算思维的自动化本质),反映了计算机学科的系统工程形态。
三、电子科技大学计算思维能力培养指导思想和目标
计算思维能力的培养,不仅需要培养对计算环境的认识,更重要的是培养面向典型计算环境的问题求解方法。包括:了解抽象级的问题求解方法,掌握语言级的问题求解技术,掌握计算机系统级的问题求解方法和技术。
1.计算机学科本科生计算思维能力培养指导思想
针对计算机学科的高速发展和社会信息化对高层次人才的需要,计算思维能力培养需要强化计算机学科的基础理论教学,实施课程划分,充分重视实践环节。在具体实施方面,要求整体优化教学内容、把握住教学各个环节,追求学生在“分析问题能力+求解问题能力+设计复杂系统能力”方面素质的全面提高。
2.计算机学科本科生计算思维能力培养目标
(1)了解抽象级的问题求解方法:具有形式化描述和抽象思维能力,掌握逻辑思维方法。
(2)掌握语言级的问题求解技术:掌握数据的逻辑结构和存储结构,掌握基本可计算性理论、算法设计技术和复杂性分析方法,掌握程序设计的基本思想和方法。
(3)掌握计算机系统级的问题求解方法:掌握系统软件的设计与实现能力。
四、计算机学科本科生计算思维能力培养的具体措施
以计算思维能力培养为核心任务,具体措施包括:以课程为基础、知识为载体,强调课程的深度融合,建设相应的教学团队,开展研究型教学,改革实验内容,建设优秀教材,搭建竞赛平台等。
1.强调课程的深度融合,优化人才培养方案
课程融合方案的主线是:以实际应用问题为驱动,层层探寻解决方式的根源,将程序设计的相关理论与方法逐渐铺展开来。指导思想是以程序设计应用为出发点,以学生共同兴趣导向为主体,以教师擅长的教学内容为依托,以热门应用范例为切入点,以柔性的考核方式为指向的启发式教学。目标是使学生构建起完整的以计算机为工具解决实际问题的正确思路和编程方法,培养的学生具有扎实的理论基础和灵活的思考能力,扩大学生的视野。 程序设计课程融合涵盖课程有:面向结构的程序设计语言(C语言)、数据结构、算法设计与分析和面向对象程序设计语言(Java/C++/C#)。
程序设计课程融合体系结构如图2所示。
课程融合具体方案是选择和设计一些典型的应用案例。这些应用案例本身具有丰富的知识储备,每个学生都可以对案例要解决的基本问题进行划分,划分之后可以利用程序设计融合课程中基本要素各个击破,然后再回到案例本身求解。
根据课程融合体系结构,融合方案分成程序设计基础I和II以及高级程序设计3个层次。各个层次选用相同教学案例,在不同阶段的要求不一致,并逐步扩展新的功能和应用。
程序设计基础I根据项目开发流程,从设计目的、设计要求、设计思想和设计方案(概要设计/详细设计)4个部分引导学生学习项目开发流程。在项目设计过程中,分析与设计合适的数据结构与算法,同时讲解数据结构与算法的相关知识点,理解数据结构、算法与项目开发关系,形成软件开发整体观。最后采用C语言编程实现项目基本功能,并引导学生学习程序设计语言相关内容,培养自学能力与学习习惯,让学生在低年级阶段很快掌握项目开发整体观和流程,形成计算思维,具备较强的编程动手能力。
程序设计基础II采用面向对象方法设计和编程实现程序设计基础I中的项目。由于学生已经掌握算法思路与数据结构,本阶段重点在于学习面向对象编程思想并通过编程实践掌握面向对象程序设计方法,同时研究多种解决相同问题的算法及性能分析手段。
高级程序设计进行程序设计基础案例的扩展。使其应用于桌面开发、网络开发、数据库开发、网站开发、网络与安全、游戏开发。
以“扫雷”为例,程序设计基础讲解普通扫雷开发流程,高级程序设计扩展到快扫雷(比如通过后门)、不错扫(比如通过作弊)、扫雷范围(NP问题)等应用,通过逐步扩展与完善扫雷功能,引出更多课程内容知识,激发学生研究与解决问题的兴趣,还可以锻炼学生思考问题的全面性。再根据这些具体的解决要点,对应相应的解决手段,对涉及各门课程知识进行各知识点讲解;通过知识讲解,再利用程序设计语言进行编程实现。通过案例掌握各门课程知识,通过参与案例的分析、设计与编程,综合培养学生的程序设计与实现能力、计算思维能力与算法设计与分析能力。
2.搭建团队,提升师资队伍整体素质
师资队伍是保证教育质量的关键。为培养计算机学科的计算思维能力,我们建立了2支教学团队:程序设计团队和编译理论教学团队。
程序设计团队涵盖课程:C语言、C++、Java、数据结构、软件开发环境、算法设计与分析;编译理论教学团队涵盖课程:形式语言与自动机、编译原理。
教学团队由富有经验的教师作为团队的负责人和教学顾问,指导青年教师的教学。同时鼓励青年教师积极参与教材的编写,把科研成果撰写到教材中,通过编写教材,加强专业书籍写作能力,培养严谨的学风,并加深对教材的掌握和理解,提高课堂教学质量。
基于计算思维能力3个层面的区别与联系,统筹安排教学内容和实验内容,避免相关课程出现重复的内容。团队通过举行课程讨论会、师生座谈会,帮助青年教师提高授课水平;组织青年教师参加教研活动,观摩国家精品课程和本科示范性教学活动,聆听国家教学名师报告等;吸纳青年教师参加科研课题,通过科研工作了解学科前沿,通过应用实践积累教学案例,全方位提高青年教师综合素质。
鼓励团队成员参加科研团队,积极开展科学研究。教师投身科研,科研能力和专业水平得以不断提高,自身知识结构也得以不断完善更新,准确地认识自己所授课程在整个学科中的地位,把握课程内部逻辑联系,把科研中获得的新知识及科技新成就及时反映到教学中,提高教师的教学和学术水平。
3.开展研究型教学,促进计算思维能力培养
实施“知识、能力和素质三位一体”的教学思想,教学与实践紧密结合,研究并实施“以培养能力为核心, 以实践为主线,以项目为载体,用任务进行驱动”的研究型教学方法。让学生充满兴趣、带着问题学习,通过案例导入,任务驱动,引导学生由易到难、循序渐进地完成一系列“任务”。
每门课程的第一堂,向学生介绍本课程在计算思维能力培养体系中的位置和重要性,使学生了解本课程的重要性,与其他课程的关系等内容。教师力求在讲课中不断地设置问题情境,引导学生去分析问题的来源,摸索问题的多种解决方法,总结最佳的解决方案,构筑师生交流与互动的平台,使教学成为启迪学生智慧,开发学生潜能与创新能力的重要途径。授课内容除构建知识体系外,应阐述理论或技术出现的背景、基础及发展推动原因等引发学生思考,让学生学到的不仅是知识,也包括知识形成的过程,使学生不仅对该技术有清晰认识,更有助于采用理论或技术的应用创新。
将多媒体教学与传统教学有机结合,注重知识内在联系,讲解深入浅出,条理清楚,重点突出,分析问题透彻,将课程中许多难以理解的概念、原理解释得通俗易懂。通过多样化的教学方法和手段,引导学生进行自主学习和研究,发挥他们作为学习主体的能动性,培养创新能力。积极推进自主学习、专题讨论、学生小组等参与式教学方法。使学生在掌握现有知识的同时,努力去发现新知识。合理安排教学进度,精心准备,激情授课,强调交互式教学。
4.其他措施
积极引进国内外原版教材和教学内容,结合本课程涉及的最新成就,按照计算思维能力的培养要求,通过对知识和相关方法、思想的系统表述,帮助学生建立系统观。统筹考虑相关课程涉及的知识,设计众多与计算思维能力培养相关的教学案例,更新、充实原有教材的内容,推出有特色的教材,使得学生可以更好地学习相关的内容。
在实验环节中,遵循计算思维能力培养的整体规划,合理规划每门课程的验证性实验内容、设计性实验内容和综合性实验内容,统筹实验内容,提高实践能力。结合课程设计加强学生计算思维能力培养,并根据综合实验的课题情况,拓展到毕业设计、课外研究性学习、学科竞赛和科研项目,让学生体验较大型课题和实际科研项目开发的工作,提前感受企业文化与项目专业开发流程,受到学生普遍欢迎。 结合计算机专业的多门课程内容,要求学生在理解本课程基本原理的基础上,设计良好的数据结构和高效的算法,结合高级编程语言进行实验,并强调对算法进行分析。提高了学生对程序设计思想和方法、算法设计与分析、数据结构和编译理论知识的综合理解,学生也增长了学习兴趣和主动性,使得计算思维能力得到较大提高。
程序设计团队组建了电子设计竞赛培训班,编译理论教学团队组建了ACM竞赛培训班。构建了优秀学生展示计算思维能力的平台,进一步提高优秀学生的计算思维能力。
五、培养模式特点
1.提出并实施“设计、抽象、实现” 三位一体的计算思维能力培养模式
依据电子科技大学计算机学科人才培养的指导思想和目标,按照计算思维能力的全面的、本质的特征,提出并实施“设计、抽象、实现” 三位一体的计算思维能力培养模式。其中“设计”是指掌握语言级的问题求解技术;“抽象”需要学生了解抽象级的问题求解方法;“实现”需要结合抽象和设计的问题求解方法和技术,掌握计算机系统级的问题求解方法。
通过设计、抽象与实现,综合培养学生的程序设计与实现能力、抽象思维和逻辑思维能力、算法设计与分析能力。使学生掌握计算机学科本质的特征和核心的方法,符合计算机学科的科学、技术与系统工程三种不同形态的要求。
2.构建设计类课程融合的体系
课程融合不是课程知识点的串联,不是授课老师的串联,也不是(国外)课程群带来的互补,而是经过相关联课程内在关系的重新诠释从而重新组合成的一门新课。这是一门给学生以计算机专业课程全貌——从语言本身到数据存放到算法的分析、选择与设计,从理论到应用的新课,进行程序设计与实现能力和算法设计与分析能力的培养。目标是使学生构建起完整的以计算机为工具解决实际问题的正确思路和编程方法,培养的学生具有扎实的理论基础和灵活的思考能力,扩大学生的视野。
参考文献:
[1] 蒋宗礼. 以能力培养为导向 提高计算学科教育教学水平[J]. 中国大学教学,2008(8):35-37.
[2] 蒋宗礼. 计算机类专业人才专业能力构成与培养[J]. 中国大学教学,2011(10):11-14.
[3] Jeannette M. Wing. Computational Thinking and Thinking About Computing[J]. Communications of the ACM, 2006, 49(3): 33-35.
[4] 何钦铭,陆汉权,冯博琴. 计算机基础教学的核心任务是计算思维能力的培养[J]. 中国大学教学,2010(9):5-9.
[5] 陈国良,董荣胜. 计算思维与大学计算机基础教育[J]. 中国大学教学,2011(1):7-11.
[6] 龚沛曾,杨志强. 大学计算机基础教学中的计算思维培养[J]. 中国大学教学,2012(4):106-110.
[责任编辑:余大品]
关键词:计算思维;课程体系;培养模式;设计;抽象;实现;问题求解方法
一、背景
计算机科学与技术学科已成为重要的基础学科。计算机科学与技术水平,是衡量国家科技水平和综合国力的一个重要标志。
北京工业大学蒋宗礼教授确定了计算机科学与技术学科的培养目标,建立了相应的课程体系[1],并将计算机科学与技术学科的专业能力具体分为:计算思维能力,算法设计与分析能力,程序设计与实现能力,计算机系统的认知、分析、设计和运用能力[2]。美国卡内基·梅隆大学周以真教授(Jeannette M. Wing)认为:计算思维是运用计算机科学的基础概念去求解问题、设计系统以及人类行为理解等涵盖计算机科学之广度的一系列思维活动;计算思维的本质是抽象和自动化[3]。
计算机学科研究涉及面广,共同特征是基于特定计算环境的问题求解。计算机学科(基础)理论研究实际上是基于抽象级环境的问题求解;程序设计是基于语言级的问题求解活动,系统软件设计与应用软件设计则是系统级的问题求解[4]。计算思维的本质特征是基于不同层次计算模型(环境)和约束的问题求解(不同层次计算环境的问题求解行为,反映了计算机学科的三种不同形态:科学、技术与工程。计算思维反映了计算机学科本质的特征和核心的方法[2,4]。清华大学等九校学术联盟主要从掌握抽象级的问题求解方法角度培养计算思维能力[4],同济大学等的九校卓越联盟主要从掌握语言级的问题求解技术培养计算思维能力[4-6]。
二、电子科技大学计算思维能力培养课程体系
计算思维能力具体体现为程序设计与实现能力、抽象思维和逻辑思维能力、算法设计与分析能力等。电子科技大学传统的计算思维能力培养体系中,程序设计与实现能力、抽象思维和逻辑思维能力、算法设计与分析能力的培养分开实施,只突出单方面的能力,忽略整体计算思维能力培养;相关课程的任课教师之间、任课教师与实验教师之间的沟通少,关联课程之间存在部分内容与案例的重复;实验内容单调,没有全面考虑完整的、连续的实验,没有体现能力的培养;现有课程各自为政的教学安排造成了学生只见树木不见森林,只见自己不见他人;课程之间衔接性差,先修课程专注于知识点细节,忽略对后续课程的支撑,且过分细讲知识点,容易缺乏整体观,造成学生学习量大而自主学习时间和机会比较缺乏;特别在编译原理课程理论内容的讲解中,发现学生的逻辑思维能力和算法设计与分析能力较弱,缺乏形式化分析和描述问题的思维训练;实验教学中,发现学生的程序实现能力较差,不能够编写完整的、高效的编译器。
针对这一现状,对计算机学科本科生的计算思维能力进行综合培养的探索与实践十分必要。
电子科技大学计算思维能力培养课程体系包括三个方面:程序设计类课程、形式语言与自动机、编译原理,构成两个层次(如图1所示)。
程序设计类课程(包括数据结构、算法设计与分析和程序设计课程群)体现语言级的问题求解技术,对应计算思维的过程构造和验证构造,反映了计算机学科的技术形态。
形式语言与自动机课程体现抽象级环境的问题求解方法,对应计算思维的对象构造,反映了计算机学科的科学形态。
编译原理课程体现系统级的问题求解:问题空间映射为计算机模型空间(基于抽象级环境的问题求解方法,体现计算思维的抽象本质),计算机模型空间映射为高效的程序空间(基于语言级的问题求解技术,体现计算思维的自动化本质),反映了计算机学科的系统工程形态。
三、电子科技大学计算思维能力培养指导思想和目标
计算思维能力的培养,不仅需要培养对计算环境的认识,更重要的是培养面向典型计算环境的问题求解方法。包括:了解抽象级的问题求解方法,掌握语言级的问题求解技术,掌握计算机系统级的问题求解方法和技术。
1.计算机学科本科生计算思维能力培养指导思想
针对计算机学科的高速发展和社会信息化对高层次人才的需要,计算思维能力培养需要强化计算机学科的基础理论教学,实施课程划分,充分重视实践环节。在具体实施方面,要求整体优化教学内容、把握住教学各个环节,追求学生在“分析问题能力+求解问题能力+设计复杂系统能力”方面素质的全面提高。
2.计算机学科本科生计算思维能力培养目标
(1)了解抽象级的问题求解方法:具有形式化描述和抽象思维能力,掌握逻辑思维方法。
(2)掌握语言级的问题求解技术:掌握数据的逻辑结构和存储结构,掌握基本可计算性理论、算法设计技术和复杂性分析方法,掌握程序设计的基本思想和方法。
(3)掌握计算机系统级的问题求解方法:掌握系统软件的设计与实现能力。
四、计算机学科本科生计算思维能力培养的具体措施
以计算思维能力培养为核心任务,具体措施包括:以课程为基础、知识为载体,强调课程的深度融合,建设相应的教学团队,开展研究型教学,改革实验内容,建设优秀教材,搭建竞赛平台等。
1.强调课程的深度融合,优化人才培养方案
课程融合方案的主线是:以实际应用问题为驱动,层层探寻解决方式的根源,将程序设计的相关理论与方法逐渐铺展开来。指导思想是以程序设计应用为出发点,以学生共同兴趣导向为主体,以教师擅长的教学内容为依托,以热门应用范例为切入点,以柔性的考核方式为指向的启发式教学。目标是使学生构建起完整的以计算机为工具解决实际问题的正确思路和编程方法,培养的学生具有扎实的理论基础和灵活的思考能力,扩大学生的视野。 程序设计课程融合涵盖课程有:面向结构的程序设计语言(C语言)、数据结构、算法设计与分析和面向对象程序设计语言(Java/C++/C#)。
程序设计课程融合体系结构如图2所示。
课程融合具体方案是选择和设计一些典型的应用案例。这些应用案例本身具有丰富的知识储备,每个学生都可以对案例要解决的基本问题进行划分,划分之后可以利用程序设计融合课程中基本要素各个击破,然后再回到案例本身求解。
根据课程融合体系结构,融合方案分成程序设计基础I和II以及高级程序设计3个层次。各个层次选用相同教学案例,在不同阶段的要求不一致,并逐步扩展新的功能和应用。
程序设计基础I根据项目开发流程,从设计目的、设计要求、设计思想和设计方案(概要设计/详细设计)4个部分引导学生学习项目开发流程。在项目设计过程中,分析与设计合适的数据结构与算法,同时讲解数据结构与算法的相关知识点,理解数据结构、算法与项目开发关系,形成软件开发整体观。最后采用C语言编程实现项目基本功能,并引导学生学习程序设计语言相关内容,培养自学能力与学习习惯,让学生在低年级阶段很快掌握项目开发整体观和流程,形成计算思维,具备较强的编程动手能力。
程序设计基础II采用面向对象方法设计和编程实现程序设计基础I中的项目。由于学生已经掌握算法思路与数据结构,本阶段重点在于学习面向对象编程思想并通过编程实践掌握面向对象程序设计方法,同时研究多种解决相同问题的算法及性能分析手段。
高级程序设计进行程序设计基础案例的扩展。使其应用于桌面开发、网络开发、数据库开发、网站开发、网络与安全、游戏开发。
以“扫雷”为例,程序设计基础讲解普通扫雷开发流程,高级程序设计扩展到快扫雷(比如通过后门)、不错扫(比如通过作弊)、扫雷范围(NP问题)等应用,通过逐步扩展与完善扫雷功能,引出更多课程内容知识,激发学生研究与解决问题的兴趣,还可以锻炼学生思考问题的全面性。再根据这些具体的解决要点,对应相应的解决手段,对涉及各门课程知识进行各知识点讲解;通过知识讲解,再利用程序设计语言进行编程实现。通过案例掌握各门课程知识,通过参与案例的分析、设计与编程,综合培养学生的程序设计与实现能力、计算思维能力与算法设计与分析能力。
2.搭建团队,提升师资队伍整体素质
师资队伍是保证教育质量的关键。为培养计算机学科的计算思维能力,我们建立了2支教学团队:程序设计团队和编译理论教学团队。
程序设计团队涵盖课程:C语言、C++、Java、数据结构、软件开发环境、算法设计与分析;编译理论教学团队涵盖课程:形式语言与自动机、编译原理。
教学团队由富有经验的教师作为团队的负责人和教学顾问,指导青年教师的教学。同时鼓励青年教师积极参与教材的编写,把科研成果撰写到教材中,通过编写教材,加强专业书籍写作能力,培养严谨的学风,并加深对教材的掌握和理解,提高课堂教学质量。
基于计算思维能力3个层面的区别与联系,统筹安排教学内容和实验内容,避免相关课程出现重复的内容。团队通过举行课程讨论会、师生座谈会,帮助青年教师提高授课水平;组织青年教师参加教研活动,观摩国家精品课程和本科示范性教学活动,聆听国家教学名师报告等;吸纳青年教师参加科研课题,通过科研工作了解学科前沿,通过应用实践积累教学案例,全方位提高青年教师综合素质。
鼓励团队成员参加科研团队,积极开展科学研究。教师投身科研,科研能力和专业水平得以不断提高,自身知识结构也得以不断完善更新,准确地认识自己所授课程在整个学科中的地位,把握课程内部逻辑联系,把科研中获得的新知识及科技新成就及时反映到教学中,提高教师的教学和学术水平。
3.开展研究型教学,促进计算思维能力培养
实施“知识、能力和素质三位一体”的教学思想,教学与实践紧密结合,研究并实施“以培养能力为核心, 以实践为主线,以项目为载体,用任务进行驱动”的研究型教学方法。让学生充满兴趣、带着问题学习,通过案例导入,任务驱动,引导学生由易到难、循序渐进地完成一系列“任务”。
每门课程的第一堂,向学生介绍本课程在计算思维能力培养体系中的位置和重要性,使学生了解本课程的重要性,与其他课程的关系等内容。教师力求在讲课中不断地设置问题情境,引导学生去分析问题的来源,摸索问题的多种解决方法,总结最佳的解决方案,构筑师生交流与互动的平台,使教学成为启迪学生智慧,开发学生潜能与创新能力的重要途径。授课内容除构建知识体系外,应阐述理论或技术出现的背景、基础及发展推动原因等引发学生思考,让学生学到的不仅是知识,也包括知识形成的过程,使学生不仅对该技术有清晰认识,更有助于采用理论或技术的应用创新。
将多媒体教学与传统教学有机结合,注重知识内在联系,讲解深入浅出,条理清楚,重点突出,分析问题透彻,将课程中许多难以理解的概念、原理解释得通俗易懂。通过多样化的教学方法和手段,引导学生进行自主学习和研究,发挥他们作为学习主体的能动性,培养创新能力。积极推进自主学习、专题讨论、学生小组等参与式教学方法。使学生在掌握现有知识的同时,努力去发现新知识。合理安排教学进度,精心准备,激情授课,强调交互式教学。
4.其他措施
积极引进国内外原版教材和教学内容,结合本课程涉及的最新成就,按照计算思维能力的培养要求,通过对知识和相关方法、思想的系统表述,帮助学生建立系统观。统筹考虑相关课程涉及的知识,设计众多与计算思维能力培养相关的教学案例,更新、充实原有教材的内容,推出有特色的教材,使得学生可以更好地学习相关的内容。
在实验环节中,遵循计算思维能力培养的整体规划,合理规划每门课程的验证性实验内容、设计性实验内容和综合性实验内容,统筹实验内容,提高实践能力。结合课程设计加强学生计算思维能力培养,并根据综合实验的课题情况,拓展到毕业设计、课外研究性学习、学科竞赛和科研项目,让学生体验较大型课题和实际科研项目开发的工作,提前感受企业文化与项目专业开发流程,受到学生普遍欢迎。 结合计算机专业的多门课程内容,要求学生在理解本课程基本原理的基础上,设计良好的数据结构和高效的算法,结合高级编程语言进行实验,并强调对算法进行分析。提高了学生对程序设计思想和方法、算法设计与分析、数据结构和编译理论知识的综合理解,学生也增长了学习兴趣和主动性,使得计算思维能力得到较大提高。
程序设计团队组建了电子设计竞赛培训班,编译理论教学团队组建了ACM竞赛培训班。构建了优秀学生展示计算思维能力的平台,进一步提高优秀学生的计算思维能力。
五、培养模式特点
1.提出并实施“设计、抽象、实现” 三位一体的计算思维能力培养模式
依据电子科技大学计算机学科人才培养的指导思想和目标,按照计算思维能力的全面的、本质的特征,提出并实施“设计、抽象、实现” 三位一体的计算思维能力培养模式。其中“设计”是指掌握语言级的问题求解技术;“抽象”需要学生了解抽象级的问题求解方法;“实现”需要结合抽象和设计的问题求解方法和技术,掌握计算机系统级的问题求解方法。
通过设计、抽象与实现,综合培养学生的程序设计与实现能力、抽象思维和逻辑思维能力、算法设计与分析能力。使学生掌握计算机学科本质的特征和核心的方法,符合计算机学科的科学、技术与系统工程三种不同形态的要求。
2.构建设计类课程融合的体系
课程融合不是课程知识点的串联,不是授课老师的串联,也不是(国外)课程群带来的互补,而是经过相关联课程内在关系的重新诠释从而重新组合成的一门新课。这是一门给学生以计算机专业课程全貌——从语言本身到数据存放到算法的分析、选择与设计,从理论到应用的新课,进行程序设计与实现能力和算法设计与分析能力的培养。目标是使学生构建起完整的以计算机为工具解决实际问题的正确思路和编程方法,培养的学生具有扎实的理论基础和灵活的思考能力,扩大学生的视野。
参考文献:
[1] 蒋宗礼. 以能力培养为导向 提高计算学科教育教学水平[J]. 中国大学教学,2008(8):35-37.
[2] 蒋宗礼. 计算机类专业人才专业能力构成与培养[J]. 中国大学教学,2011(10):11-14.
[3] Jeannette M. Wing. Computational Thinking and Thinking About Computing[J]. Communications of the ACM, 2006, 49(3): 33-35.
[4] 何钦铭,陆汉权,冯博琴. 计算机基础教学的核心任务是计算思维能力的培养[J]. 中国大学教学,2010(9):5-9.
[5] 陈国良,董荣胜. 计算思维与大学计算机基础教育[J]. 中国大学教学,2011(1):7-11.
[6] 龚沛曾,杨志强. 大学计算机基础教学中的计算思维培养[J]. 中国大学教学,2012(4):106-110.
[责任编辑:余大品]