APP下载

基于计算思维和CDIO模式的数据库原理与应用课程教学

2016-01-27马竹根

计算机时代 2016年1期
关键词:数据库原理计算思维教学方法

马竹根

摘 要: 探讨了数据库原理与应用课程教学中培养学生计算思维的问题,分析了数据库原理与应用课程中所体现的计算思维。在课程教学过程中,将计算思维培养渗透到教学内容中,通过使用CDIO工程教学方法进行课程实践教学,强化对学生的计算思维能力的培养。

关键词: 计算思维; CDIO; 数据库原理; 教学方法

中图分类号:G642 文献标志码:A 文章编号:1006-8228(2016)01-91-03

Teaching of database principle and application course based on

CDIO and computational thinking

Ma Zhugen

(School of computer science and engineering, Huaihua University, Huaihua, Hunan 418008, China)

Abstract: Cultivation of computational thinking ability in teaching of database principle and application course is discussed; the computational thinking embodied in the course is analyzed in this paper. In the process of teaching, the training of computational thinking is seeped into the teaching content, and the cultivation of student's computational thinking ability is strengthened by using the CDIO engineering teaching method.

Key words: computational thinking; CDIO; database principle; teaching method

0 引言

在计算机科学中,数据库技术是十分重要且发展迅速的一个分支,在应用上遍及各个行业。“数据库原理与应用”课程的重要性也日益显现,课程要求学生掌握数据库的基本原理和数据库应用系统的设计、开发与维护。计算思维是学生应该具备的一种核心能力,作为控制、管理、认知活动的基础,能够帮助学生提高在各个学科领域解决问题的能力[1]。陈国良院士指出:“在大学中,计算思维不仅能振兴大学计算教育,而且会令科学与工程领域创造出革命性的研究成果”[2]。计算思维是培养学生创新能力的一个重要方面,有助于正确理解计算和计算机。在数据库原理与应用课程教学中引入计算思维的理念,探索培养计算思维能力的教学模式,对提高教学质量,培养出时代发展所需要的创新性人才具有重要的意义。

1 计算思维与CDIO工程教育模式

计算思维的概念是美国卡内基·梅隆大学计算机系主任周以真教授于2006年首次提出的,计算思维定义为:运用计算机科学的基础概念进行问题求解、系统设计和人类行为理解等广泛涵盖计算机科学的一系列思维活动,其本质是抽象和自动化;如同所有人都具备“读、写、算”能力一样,计算思维也是所有人都必须具备的一种思维能力[3]。周以真教授指出,计算思维的核心概念可用外延的形式给出,如约简、嵌入、转化、仿真、递归、并行、抽象、分解、建模、预防、保护、恢复、冗余、容错、纠错、启发式推理、规划、学习、调度等[4]。

为了在数据库教学中融入计算思维教学,我们主要从课堂教学和实践教学两个方面探讨。在教学过程中,贯穿抽象和自动化的思想,从计算思维层面对课程内容中蕴含的计算思维方法进行分析和梳理,根据讲授的具体知识点适时引入计算思维中的抽象、自动化、分解、规约、冗余、约简、关注点分离、折中、嵌入、 转化、 保护、容错、纠错和恢复等基本概念和思维方法,引导学生领会计算思维的方法。计算思维是以设计和构造为特征,因此在实践环节中,应结合CDIO工程教学方法,即构思(Conceive)、设计(Design)、实现(Implement)和运行(Operate)[5],让学生开发一个小型的数据库应用系统。实践环节中,学生通过独立或者小组协作的方式运用计算思维的系列方法解决实际问题,从中探索解决问题的方法,发现问题的本质,提高其独立思考问题和解决问题的能力,最终培养学生的计算思维能力和创新思维能力。

2 课堂教学中引入计算思维

“数据库原理与应用”是一门讨论如何设计和构造数据库系统的课程,课程教学内容主要包括关系数据库、SQL基础、数据库的安全性和完整性、关系数据理论、数据库编程、数据库设计、数据库恢复技术和并发控制等[6],其中很多知识点都蕴含计算思维方法。课堂教学中要将有关计算思维的思维特征和方法分解到一个个具体的知识点中,在教学中表述出各知识点对应的计算思维核心概念,让学生在学习知识的同时,逐步理解和掌握计算思维,通过渗透和强化这些核心概念,让学生将这些核心概念内化成自己的知识。下面主要从抽象、自动化、递归、分解、规约、冗余、约简、关注点分离、折中、预防、保护、容错、纠错和恢复等方面分析数据库原理课程中蕴含的计算思维。

2.1 抽象和自动化

计算思维的本质是抽象和自动化[7]。建立关系数据模型是一个抽象的过程,而将关系模式实现为基本表并运用SQL语言实现数据查询、修改、删除和数据完整性控制的过程就是一个自动化的过程,因此在数据库设计过程中贯穿了计算思维。另外,数据库管理系统提供的一些管理工具,如表设计器、视图设计器等,使得用户不用编写复杂的程序语句就能创建表和视图,也体现了计算思维中自动化的思想。

数据库系统开发过程分为需求分析、概念结构设计、逻辑结构设计、物理结构设计、实现、运行与维护等几个阶段,不同阶段包含了不同层次的抽象。需求分析阶段收集用户的需求信息,用数据流图和数据字典描述用户需求,就是对现实世界的抽象。概念模型设计阶段,在需求分析的基础上对数据进行“分类”、“聚集”和“概括”等抽象处理,用实体联系图描述概念模型。逻辑设计阶段,用关系模式表示实体,用关系模型表示数据库的数据模型。实现阶段,在定义表时,表中字段数据类型是对实际数据的抽象,字段的有效规则是对现实世界数据约束的抽象。

在教学过程中不仅要讲述数据库设计相关知识,还要引导学生领悟计算思维中抽象的思想和方法,体会抽象的方法在数据库设计过程中的作用。

2.2 分解、递归、规约、冗余和约简

在设计数据库时,将整个设计任务按步骤分为:分析、设计、实施和维护等几个不同阶段,每个阶段完成相关任务,将复杂的设计任务分解成容易实现的子任务,这就是计算思维中“分解”思想的应用。关系规范化理论中通过分解关系模式由低级范式向高级范式进行转换,也体现了计算思维中“分解”的思想。当一个复杂问题的每一个局部与全局高度相似时,就容易设计出递归算法,从而实现求解方法的自动化,这是计算思维中的“递归”逻辑。例如关系数据理论中把一个关系模式分解为BC范式集合的问题就是一个递归问题。

数据库系统开发的过程中需求分析有两种策略:自上而下和自下而上的方法。其中,自上而下的方法从整体出发,先定义全局结构,然后逐步细化。由于系统是由相互联系的部分组成的,可根据用户需求,采用“抽象”、“分解”、“规约”和“冗余”等思维方法对其进行构造。自下而上的方法,先定义各局部结构,然后将它们集成起来,得到全局的概念结构,采用的是“聚类”、“约简”、“冗余”等思维方法。

2.3 关注点分离和折中

数据库管理系统中三级模式和二级映像保证数据的逻辑独立性和物理独立性,使得应用程序与数据相互独立,体现了计算思维“关注点分离”的思想。

设计关系模型时,考虑数据的存储和访问效率,为避免因访问多个表而使效率降低,允许表中部分数据冗余,体现了一种折中的思想。对数据表创建索引,有助于快速查找和排序记录,但是过多的索引又会降低速度,而且创建索引会占用一定的物理存储空间。因此,创建索引时就需要权衡时间效率和存储空间占用问题,这就体现了计算思维中的“折中”思想。

2.4 预防、保护、容错、纠错和恢复

在数据库系统中,数据库管理系统提供了良好的安全措施、备份和恢复技术。数据库管理系统能够对事务、系统故障和介质故障进行恢复。通过身份认证和授权保护数据不被非法使用;提供实体完整性、参照完整性和用户自定义完整性三类完整性约束来保证数据的完整性和一致性,在用户更新、删除和添加数据时,防止不合法的数据进入数据库。

通过这些知识点的教学,结合一些日常生活中的实例,引导学生认识这些计算思维方法的重要性,在掌握数据库知识的同时,掌握基本的计算思维方法,能够自觉地运用计算思维方法解决实际问题。

3 实践教学中引入CDIO工程教育方法

计算思维是以设计和构造为特征,在实践教学环节中,结合CDIO工程方法,以计算思维为核心,以项目为主线组织实践教学,引导学生学习运用“计算机系统的思维方法”设计和构造一个数据库应用系统,运用计算思维方法独立或协作的分析问题和解决问题,发现问题的本质,促使学生深刻理解计算思维的基本方法,达到巩固知识和内化知识的目的。

在实验教学过程中将数据库项目的构思、设计、实施和运用贯穿于实践教学,让学生从解决问题出发,培养和训练计算思维,掌握解决问题的途径。实验教学以开发一个数据库应用系统为目标,以数据库项目分析→设计数据库→建立数据库→管理数据库→项目编程为主线,将一个完整的系统开发任务分解成几个前后衔接的实验任务,这本身也是计算思维“分解”思想的应用。按照CDIO模式将数据库实验分为七个实验,将这七个实验融合在一个具体的项目中,按照时间的先后顺序实施。实验项目设计如图1所示。

基于项目的构思、设计、实施与操作的各个阶段实施内容如下。

⑴ 构思阶段。在构思阶段教师引导学生在分配的项目中发现问题、解决问题,提供相似的数据库应用系统教学案例帮助学生建立分析问题的思路,并且培养学生的团队合作及沟通能力。

⑵ 设计阶段。基于项目的构思结果,进行数据库系统的概念模型设计,利用数据库建模工具完成E-R模型和数据库逻辑设计,引入规范化理论去除不良函数依赖,同时进行数据库完整性设计及物理设计。

⑶ 实施阶段。基于项目的设计结果,将数据库物理设计的成果转换成SQL数据定义语言,如创建表、视图、索引等对象。在基表上运行插入、删除、更改等SQL命令,并进行各种查询功能测试。此外,对需要统计或复杂计算的数据处理,设计存储过程和函数;采用触发器维护自定义规则、完整性控制等功能;掌握权限、角色、用户管理以及数据库备份与恢复的技术。

⑷ 操作阶段。基于前六次实验的成果,结合程序设计语言(java、C#),设计数据库应用界面,编写相应的程序项目进行验证与测试,记录下出现问题并分析原因,进行小组讨论、改进、反馈和交流。

在基于CDIO的实践环节中,学生在设计和构造系统的过程中了解计算机能做什么,不能做什么,学会选取合适的模型反映求解的问题,掌握如何将一个复杂的问题分解成简单问题的思维方法,并从中体会到计算思维的功用。

4 结束语

本文探讨了将计算思维与CDIO工程教育模式相结合,在课堂教学中引入计算思维,实践教学中采用CDIO工程教育模式,训练和培养学生的计算思维能力,提高学生分析问题、解决问题的能力和创新能力。实践教学表明,在数据库课程中引入计算思维和工程教育模式,教学效果明显提高。从所培养的毕业生来看,计算机专业的毕业生受到用人单位好评, 普遍反映学生基础扎实、能力强、专业素质高,社会对我们培养的毕业生非常认可。随着计算思维和工程教育模式的深入研究,以此为改革方向的数据库原理课程教学,将在培养计算机专业创新人才进程中取得更大的成效。

参考文献(References):

[1] Wing J M. Computational thinking[J]. Communications of

the ACM,2006.49(3):33-35

[2] 陈国良,董荣胜.计算思维与大学计算机基础教育[J].中国大

学教学,2011.1:7-11,32

[3] 周炜.计算思维与“数据库原理及应用”课程[J].计算机工程

与科学,2014.36(A1):110-113

[4] 周以真.计算思维[J].中国计算机学会通讯,2007.3(11):

83-85

[5] 顾佩华,沈民奋,陆小华.重新认识工程教育:国际CDIO培养

模式与方法[M].高等教育出版社,2010.

[6] 王珊,萨师煊.数据库系统概论[M].高等教育出版社,2006.

[7] 董荣胜.计算思维与计算机导论[J].计算机科学,2009.36(4):

50-52

猜你喜欢

数据库原理计算思维教学方法
初中英语写作教学方法初探
教学方法与知识类型的适宜
《数据库原理》课程研究性教学改革探索
程序设计课程中计算思维和应用能力培养问题研究
算法的案例教学探析
浅谈艺术专业学生计算思维能力的培养
基于多维立体化模式的数据库原理教学改革与实践
基于海洋特色的数据库原理案例教学设计与实践
边疆多民族地区数据库原理课程的立体化教学研究
我的教学方法