基于计算思维能力培养的数据库课程教学研究
- 格式:doc
- 大小:41.50 KB
- 文档页数:10
计算思维能力在计算机基础教学中的培养1. 引言1.1 引言在当今信息化社会,计算机已经成为人们生活和工作中不可或缺的工具。
计算机基础教学作为培养学生计算思维能力的重要途径,其重要性不言而喻。
计算思维是指一种独特的思维方式,是在处理问题时运用计算机科学的基本概念和思维模式,通过对问题进行分析、抽象、建模和计算等活动来解决问题的能力。
计算思维在计算机基础教学中的重要性体现在许多方面。
计算思维能力可以培养学生的逻辑思维能力和解决问题的能力,帮助他们更好地理解计算机基础知识。
计算思维能力的培养可以提高学生的抽象思维能力和创新能力,帮助他们更好地应对未来的挑战。
计算思维能力的培养还可以促进学生的团队合作能力和实践能力,使他们在未来的工作中更加胜任。
计算思维能力的培养是计算机基础教学不可或缺的一部分。
只有通过有效的教学方法和实践活动,结合实际案例和项目实践,才能更好地培养学生的计算思维能力,为他们未来的发展打下坚实的基础。
【引言】部分到此结束。
2. 正文2.1 计算思维在计算机基础教学中的重要性在计算机基础教学中,计算思维的重要性不言而喻。
计算思维是一种通过计算和逻辑推理解决问题的能力,是现代社会不可或缺的重要技能之一。
在计算机基础教学中,培养学生的计算思维能力能够帮助他们更好地理解计算机相关的知识,并且更加熟练地运用这些知识解决实际问题。
计算思维能力可以帮助学生更深入地理解计算机基础知识。
通过培养学生的计算思维,他们能够更好地理解计算机的工作原理、数据结构、算法等基础知识。
这些知识是计算机科学的核心,只有深入理解了这些知识,学生才能在日后的学习和工作中游刃有余。
2.2 计算思维能力的培养方法计算思维能力的培养方法有多种途径,可以通过以下几种方法来提升学生的计算思维能力:1. 逻辑思维训练:逻辑思维是计算思维的基础,学生可以通过解决逻辑题、推理题等方式进行逻辑思维的训练。
逻辑思维训练可以培养学生的推理分析能力,提高其问题解决能力。
高中信息技术项目学习中计算思维的培养研究摘要:计算机科学是新时代各个方面发展的引擎,而计算思维是运用计算科学相关内容解决问题的思维活动,故而当前要强化该种思维培养。
计算思维是高中信息技术课程所要培养的核心素养,项目学习作为一种常用教学方法,需在全过程中做好计算思维渗透和培养。
不仅要在项目确定中考虑计算思维培养需求,还要在项目学习推进与最终验收评价中做好计算思维培养。
坚持以项目为主线,制订学习任务单,组织学生小组协作,提供项目指南,引导学生进行自测、简单计算、数据分析、反思等,在全过程中训练计算思维。
一、计算思维概述高中信息技术课程教学改革需要围绕核心素养展开,计算思维是主要构成,是提高信息技术综合能力与素养的关键,故而要明确计算思维究竟是什么,在教学中有意识和计划地进行培养。
计算思维是指在计算机科学学习和研究中分析和解决问题,以及进行相关设计和技术开发与创新,还有一些涵盖有关科学思维的活动。
一旦具备良好的计算思维,信息技术探究和创新能力会显著提升。
与其他思维相同,计算思维具有抽象的特点,但也具有自动化的特点,可将原本比较困难的问题,通过嵌入和转化,抑或是仿真和约简等方式,变为一个知道如何处理的问题。
二、项目学习主要问题(一)缺乏计算思维培养意识项目学习契合发展能力与培养学科素养的要求,在信息技术教学中应用是提升综合素养的关键。
当前高中信息技术项目学习具有认识不足、设计不够合理、在项目选择上缺乏考虑、未能融入计算思维培养问题。
计算思维是计算机科学与信息技术探索必须具备的,一旦学生缺失这种思维,将直接影响与信息技术学习相关的各个方面,导致其分析与解决问题、信息创新能力偏低,影响信息技术学习成效和信息素养发展。
部分教师在项目学习设计中融入计算思维培养,但是不具备系统性,同时由于渗透与培养方式存在问题,计算思维实际培养效果不佳。
(二)教学能力有待提升项目学习遵从学生为主体的新教育理念,实际操作中以项目为线索,学生围绕具体项目和任务搜集资料、交流与分享、探讨与合作等,最终在实践中解决问题,直接获取知识和学习经验。
基于计算思维培养的中小学编程教育校本课程开发与实践随着有关计算思维培养理论与实践的不断深入, 单纯由“信息素养”观念所主导的信息技术教育越来越不适应当前国内的中小学信息技术教育。
重视计算思维培养的发展趋势, 让学生全面理解在信息时代的生活环境, 并利用所学到的技术, 利用学科思维的方式去解决生活中碰到的实际问题。
编程教育作为学校校本课程的内容, 可以很好地补充当前中小学信息技术课程的不足, 满足不同学生的兴趣需求。
在编程的过程中, 掌握一些算法的知识, 扩大学生的视野, 增强问题解决能力, 给学生带来快乐、减轻压力, 使学生在繁重的学习中得到放松。
根据当前信息技术教育学术界主流的思想以及国内外形势的分析, 我们认为, 编程教育对学生在计算思维的培养方面有着得天独厚的优势, 有助于培养学生的问题分析能力和问题解决能力。
《上海市中小学拓展型课程指导纲要》指出, 拓展课程的科目方案的编制, 应充分考虑各年级学生的认知基础、兴趣特点等要素, 以提升学生对科目的关注程度与投入程度。
由此可见, 在中小学开发编程教育校本课程是非常有必要的。
编程教育校本课程开发的策略和方法编程教育校本课程开发, 除遵守基本的校本课程开发要素外, 也要有一定的策略和方法。
1.以项目引领, 注重问题分析、解决通过编程教育发展和培养学生的计算思维, 我们需要改变以往学习编程语言的方法。
很多计算机专业的学生都学习过计算机编程语言, 但是却不能写出一个完整的程序。
原因在于, 其学习过程中, 只是学习表达式、循环、条件判断等命令行, 最终只能学到该编程语言的语法结构, 而不能应用于现实问题的解决。
周以真指出, 计算思维培养的关键是“抽象”和“自动化”, 不孤立地教编程, 一开始就让学生把抽象和实现“自动化”的编程结合起来, 这也是我们开发校本教材的总原则。
编程只是实现问题“自动化”解决的一个部分, 学生通过了解项目中提出的问题和需要解决的问题, 一开始就把解决问题的思路与解决实际问题结合起来。
将计算思维融入程序设计课程的教学方法研究将计算思维融入程序设计课程的教学方法研究计算思维是一种以问题解决为中心的思考方式,注重分析问题,设计算法,并将算法转化为计算机程序的能力。
将计算思维融入程序设计课程的教学是培养学生编程能力和问题解决能力的重要途径。
以下是一些相关参考内容,介绍如何将计算思维融入程序设计课程的教学方法:1. 强调问题分析和解决:在程序设计课程中,学生首先需要学会将问题转化为计算机程序。
教师可以引导学生从问题的具体场景出发,明确问题的输入和输出,通过分析问题的特点和要求,设计出相应的算法和程序。
2. 教授基本算法和数据结构的概念:算法和数据结构是计算机程序设计的基础,也是培养计算思维能力的关键。
教师可以通过讲解各种常用算法和数据结构的原理和应用,让学生理解它们的特点和运行原理,并能熟练运用到实际程序设计中去。
3. 强调抽象和模块化:在程序设计过程中,抽象是一种重要的思考方式,教师可以引导学生将复杂的问题抽象为更简单的模块,并在程序设计中使用函数、类、对象等模块化的思维方式,将程序分解为更小的、独立的部分,使得整个程序更加清晰可读,易于维护和扩展。
4. 促进学生解决问题的能力:教师可以提供一些实际的问题,要求学生在课程中进行解决。
这些问题可以是从生活中的具体场景抽象而来,或是一些实际应用中的问题,让学生能够将计算思维运用到实际问题的解决中去。
5. 提供项目驱动的学习方式:引入项目驱动的学习方式可以让学生从理论学习转向实践操作,通过完成一个个项目的设计和实现,学生将得到更多的实际编程经验,并能更好地理解计算思维的应用和意义。
6. 定期进行编程实践和代码审查:为了提高学生的编程能力,教师可以安排定期的编程实践,让学生亲自动手解决问题和实现算法。
同时,教师可以对学生的代码进行审查和批评,指出其在编程思维方面的不足和改进方向。
7. 鼓励自主学习和深入研究:计算思维是一种需要不断探索和提高的能力,教师可以引导学生从课程以外的资源中寻找更多的学习材料和实践机会,鼓励他们自主学习和深入研究,提高自己的编程能力和解决问题的能力通过将计算思维融入程序设计课程的教学,可以培养学生的编程能力和问题解决能力,使他们能够更好地应对实际编程工作中遇到的各种问题,并且能够创造性地提出解决方案。
小学计算思维课题研究报告小学计算思维课题研究报告一、引言计算思维是指通过运用计算机科学的基本概念和方法,培养学生的逻辑思维能力、问题解决能力、创新思维等综合素质。
随着信息技术的飞速发展,计算思维已经成为现代社会生存和发展的重要能力之一。
为此,本课题旨在探究小学生计算思维的培养方法和效果。
二、研究方法本研究选择了一所三年级的小学作为研究对象,将计算思维培养引入到数学教学当中。
在实施过程中,采用了问卷调查、观察法和比较实验等多种研究方法,以得出准确的结论。
三、研究结果通过实施计算思维的培养课程,研究结果显示:1. 学生对计算思维课程的兴趣明显增加,学习主动性得到提高。
2. 学生的逻辑思维能力、问题解决能力、创新思维等综合素质取得了显著提高。
3. 学生对数学学科的学习积极性明显增加,成绩明显提升。
4. 学生的自学能力和团队合作能力得到了良好的锻炼和提高。
四、讨论通过对研究结果的讨论,我们认为:1. 小学阶段是培养计算思维的关键期,需要将计算思维有机地融入到教学当中。
2. 计算思维的培养应注重培养学生的问题解决能力和创新思维,而不仅仅是单纯的计算能力。
3. 学校应建立完善的计算思维培养体系,包括课程设置、教师培训和教材资源等。
五、结论该研究认为,在小学阶段引入计算思维课程对学生的发展具有重要意义。
通过培养计算思维能力,可以提高学生的综合素质和学习动力,为其未来的学习和工作奠定良好的基础。
因此,建议学校和教育部门应重视和推广计算思维的培养,为学生提供更好的教育资源和学习环境。
六、参考文献1. Bali, M., & Liu, L. (2018). Increasing computation abilities in elementary school students. Journal of Computational Thinking in Education, 1(2), 40-49.2. Wing, J. M. (2006). Computational thinking. Communicationsof the ACM, 49(3), 33-35.3. Grover, S., & Pea, R. (2013). Computational thinking in K-12:A review of the state of the field. Educational researcher, 42(1),38-43.。
59计算机教育Computer Education第 3 期2020 年 3 月 10 日基于计算思维的大学计算机基础课程改革研究与实践王梅娟,李 辉,韩敬利,郑长友,蒋园园(陆军工程大学 指挥控制工程学院,江苏 南京 210001)摘 要:针对军队院校大学计算机基础课程的实际情况,重新阐释计算思维的概念,并基于计算思维对课程大纲和教学理念进行分析,结合陆军工程大学的教学实际,从理论教学和实践教学两方面说明改革过程,为更好地培养本科各专业学员的信息素养和工程素养奠定基础。
关键词:计算思维;大学计算机基础;课程改革0 引 言现代教育对学生的培养强调“知行合一”的能力,以学生为主体的教学模式最终是思维能力的培养和实践能力的培养。
计算思维被提出后,逐渐被各学科吸收并不断深入本科生能力培养模式中。
在新的人才培养方案下,军队院校大学计算机基础课程是面向全校本科层次各专业开设的一门科学文化基础核心课程,随着社会高科技的发展和全国信息化教育的普及,课程建设经历了信息理论—技能操作—计算思维理论的不断变革,本科教育阶段加强学生计算思维能力培养的必要性和意义已经得到认可。
同时,计算机工具最终将面向学科交叉趋势,依据计算机应用能力基础,遵循学员“以计算思维方式分析解决问题能力培养”的理念,计算思维能力训练导向在新大纲中尤为凸显。
1 计算思维概述1.1 计算思维起源计算思维的概念形成很早,主要有算法思维和程序思维两大分支[1]。
最初计算机采用“计算”这一概念的时候,就出现过“计算思维”这一常用名词,同时也被称为“算法思维”,指将问题转换为从输入到输出的转换过程,此时,计算机作为工具更多应用在数值计算中。
另一角度,随着编程的普及和幼龄化,Papert 在使用LOGO 编程语言教授学生数学概念时发现,计算机编程可以影响学生的思维,于是很早将计算思维定义为“程序思维”[2],强调解决问题时像“计算机一样思考”,主张从儿童时期就应该开始接触学习编程,从而将程序思维作为思维技能的基本组成部分,之后他又进一步基于程序思维界定了计算思维[3],这一观点得到了计算机科学领域部分学者的认可。
基于计算思维意识和能力培养的大学计算机基础课程创新教学模式研究学科分类:高等教育课题类别:一般课题关键词:计算思维计算机基础教学能力培养预期研究成果:研究报告课题设计论证一、问题的提出、课题界定、国内外研究现状述评、选题意义与研究价值。
1.1一、问题的提出:《大学计算机基础》是大学本科阶段接触到的第一门通识类计算机基础课程,对于学生计算机基本概念、思维模式和应用能力的培养具有重要的作用,近年来在新形势下课程的教学理念、课程设置、教学内容组织和教学方法上面临诸多挑战。
比如在教学理念上,长期以来存在着“计算机就是一种生产工具”、“计算机就是编程”、“计算机应用能力等同于掌握计算机操作能力”等“狭隘工具论”观点,造成教师主要教学精力集中在计算机概念、应用软件的操作上,反而忽视了如何培养学生利用计算机来解决本专业问题的意识和能力。
在课程教学内容设置上存在各个专业采用统一的教学目标和内容的设置,没有将专业的需求与教学内容紧密结合起来;计算机基础课程的教学内容涉及面广,而课时又在不断地缩减,造成教学内容和学时的矛盾日益突出,学生反映内容太多无法消化,老师反映没有时间深入和串联知识。
在教学方法上由于“非计算机专业的计算机基础教学就是教会学生如何使用计算机”、“计算机专业的计算机基础教学就是教会学生如何编程”等片面思想的影响,存在着传统的“填鸭式”灌输教学,忽视培养学生实践能力、创造性和计算思维意识等问题。
因此如何有效地提升大学生信息技术的基础素质,培养利用计算科学解决专业课程中所遇到问题的能力,养成计算思维的意识,应当作为计算机基础课程教学的核心组成部分。
围绕计算思维,改革、创新大学计算机基础课程教学内容体系和方法,将学生计算思维意识和能力的培养引入到课程的教学中来。
1.2 课题界定:本课题所做的研究主要是围绕着课程教学目标、内容和方法的创新,对象是大学新生接触的第一门计算机课程——《大学计算机基础》,希望达到培养学生计算思维的意识和能力,提高学生实际动手能力和创新性的目的。
基于计算思维培养的高中信息技术教学策略随着信息技术的飞速发展,作为高中信息技术教师,我们不仅需要教授学生基本的知识和技能,更要培养他们的计算思维能力,使他们具备解决问题和创新的能力。
本文将探讨基于计算思维培养的高中信息技术教学策略。
一、计算思维的重要性计算思维是指通过抽象、分解、模式识别、算法设计和评估等方式解决问题的思维过程。
在信息技术领域,计算思维是至关重要的,它可以帮助学生理解信息技术的本质和原理,提高问题解决和创新的能力。
而且,计算思维已经被纳入到了高考的考试内容之中,证明了其重要性和必要性。
二、基于计算思维培养的高中信息技术教学策略1. 强调问题解决和创新在教学中,我们要强调问题解决和创新,而不是仅仅教授知识和技能。
可以通过案例分析、开放性问题、项目设计等方式,引导学生在实际问题中运用计算思维来解决问题,培养他们的问题解决和创新意识。
2. 注重算法设计和评估信息技术的核心是算法,因此我们要重视算法的设计和评估,通过教学让学生了解算法的概念和特点,鼓励他们设计属于自己的算法,并对其进行评估和改进。
这样可以帮助学生培养系统性思维和实践能力。
3. 引导学生掌握编程能力计算机编程是培养计算思维的有效途径,因此在高中信息技术教学中,我们要引导学生掌握至少一种编程语言,并且是基于真实项目和案例的编程实践,让学生通过编程来解决问题和实现创新。
4. 实践与理论相结合高中信息技术教学不能只停留在理论层面,而应该注重实践。
我们可以通过实验、项目、竞赛等方式,让学生将所学知识和技能应用到实际中,从而培养他们的计算思维和创新能力。
5. 培养团队协作和沟通能力计算思维的培养不能仅仅停留在个人能力上,更要培养学生的团队协作和沟通能力。
因此在教学中,我们可以设计小组项目,让学生通过合作完成任务,从而培养他们的团队协作和沟通能力。
6. 引入新的教学工具和资源随着信息技术的不断发展,我们要及时更新教学工具和资源,引入新的教学技术和应用,例如虚拟实验、在线课程、互动教学等,以帮助学生更好地理解和应用计算思维。
大学计算机基础课程教学中计算思维能力培养研究摘要:现阶段,计算机基础课程的教学课题研究热点就是计算机思维能力的培养。
本文以计算机基础教学过程中计算思维能力的培养为研究依据,然后分析和研究了怎样进行相应的计算机课程教学改革,怎样在教学的各个流程中充分运用计算思维能力,提升学生的综合素质和整体能力,进而激发学生们潜在的学习热情和能力。
关键词:计算机基础教学;计算思维;培养;能力培养中图分类号:tp3-4 文献标识码:a 文章编号:1007-9599 (2012)23-0000-02近年来,许多高校都把计算机课程列为必修的公共基础课程之一,“大学计算机基础”课程是本科生进入大学后必须且第一项要学习的计算机课程。
根据不同学校的要求,课程内容主要是讲授信息处理、数据库基础、计算机系统平台、计算机网络、程序设计基础等领域的最基础的技术和知识。
事实上,计算机课程的教学目标并不只是要求学生掌握计算机科学与技术最基本的知识就可以,而是应该基本具备利用计算机分析和解决问题的能力,为学生们以后的工作、终生学习以及灵活地使用计算机和相关技术来解决各个专业、领域形形色色的问题打下坚实的基础。
计算思维是对基于二维矩阵的计算机科学知识领域进行有效学习的进一步系统阐述,贯穿于计算机科学的所有课程。
所以,在计算机科学课程的教学过程中,强化计算思维能力的培养,对于培养高素质的计算机科学人才尤为重要。
1 为何要在计算机基础教学中加强计算思维能力的培养计算机课程的目标设定,一方面是在于向学生传授计算机基础知识、应用能力及相关技能性知识,而另外一方面就是注重提高学生的计算机课程的思维方式,全面培养学生运用计算机解决各种问题的思维和能力,进而提高学生全方位的综合素质,实践以及改革创新的能力不断增强,进而使其综合素质得到提高。
计算机基础教学是学校教育的重要组成部分,尤其是在大学教育中,此课程的教学主旨和目标在于将时代的特征和市场的需求充分体现出来,所以我们对于计算机的教学要与时俱进,不断改革创新。
课题申报范例精选【导语】课题要坚持正确的政治方向,充分体现中央有关精神和要求,具有鲜明的问题导向和创新价值。
应用对策类选题要有现实性、针对性和前瞻性;基础理论类选题要立足学术前沿,具有原创性和开拓性;跨学科类选题要体现学科交叉渗透的属性和特点。
选题文字表述科学、严谨、规范。
以下是课题优秀成果,是各类教师进行课题申报、开展课题研究、撰写研究报告的参考模板和范例。
基于计算思维培养小学课辅活动中编程教育校本课程开发与实践研究课题名称:基于计算思维培养小学课辅活动中编程教育校本课程开发与实践研究关键词:计算思维课辅活动校本课程申报级别:全国教育信息技术研究课题课题类别:专项课题学科分类:信息技术研究类型:信息技术预期研究成果:立项号:课题设计论证一、国内外研究现状述评美国率先创建了scratchEd,并于2009年7月正式启动,scratchEd是一个scratch老师可以分享故事、交换资源、提问问题的在线社区。
该在线社区发布后,来自世界各地的7500多名教师加入该社区,分享成百上千的资源并成千上万的讨论话题。
此后,美国每年5月14日都开展Scratch Day活动,主要是针对K12阶段的学生。
美国一直关注关于Scratch学法及培养目标方面的研究,麻省理工学院Scratch开发团队负责人米切尔·雷斯尼克教授的相关研究最具代表性。
他认为Scratch不仅是一个学习编程的软件,还是一个可以表达思维方式的平台。
米切尔·雷斯尼克教授Scratch能培养学生信息交流能力、问题思考与解决能力、沟通能力和自我管理能力。
欧洲在2012年开始建立本土Scratch技术社区,并在西班牙巴塞罗那举行了Scratch欧洲年会,探讨怎样把编程爱好者对Scratch的兴趣和热情发展到课堂教学中。
在英国,多所大学开展基于Scratch的硬件研究,让学生参与产品研发,激发他们的创造力。
英国也创建了scratch的学习网站learnscratch。
基于计算思维能力培养的数据库课程教学研究摘要:计算思维作为人类科学思维的基本方式之一,受到了国内外计算机界的广泛关注。
培养计算思维能力是当前国内外大学计算机教育的重要组成部分,对计算机专业各门课程的教学提出了新的要求。
文章在数据库系统课程的教学活动中引入计算思维的理念,从课堂教学和实践环节探讨了培养学生计算思维的结合点和教学方法。
计算思维的本质贯穿于整个教学过程,并根据讲授的具体知识点适时引入计算思维方法,为培养学生的计算思维能力和创新能力提供了新的思路。
关键词:计算思维;数据库;教学模式;创新能力数据库技术是计算机科学的重要分支,也是信息领域的核心技术与重要支撑。
近年来,随着internet的发展与普及,基于网络和数据库技术的信息管理系统、应用系统得到了飞速的发展与深入广泛的应用,作为其后台与基础的数据库技术也在不断的发展中被赋予了新的能力,成为发展最快、应用最广的技术之一。
作为传授数据库技术的重要课程,“数据库系统”也已成为国内外高校计算机及相关专业必修的核心专业基础课程。
在该课程的教学中,不仅应教会学生数据库的知识本身,使学生能够正确理解数据库的基本原理,熟练掌握数据库的设计方法和应用技术,更应激发学生对数据库及相关知识的兴趣,培养学生独立探求新技术、新方法的能力和创新精神,使其成为适应能力强、富有创造才能的专门人才。
计算思维具有强大的创新能力,[1]其概念一经提出就引起了国内外科学界和教育界的广泛关注。
对学生计算思维能力的培养是目前教育界研究的重要课题,acm和ieee-cs在修订后的计算机科学教程2008(computer science curriculum 2008)中明确指出应该将计算思维作为计算机科学教学的重要组成部分。
[2]中国科学院院士、中国科学技术大学陈国良教授指出:[3]在大学中,计算思维不仅能振兴大学计算教育,而且会令科学与工程领域创造出革命性的研究成果。
笔者在数据库课程的本科教学过程中,引入计算思维的理念,探索以培养计算思维能力为核心的新教学模式,在教学过程中以数据库知识为载体,贯通知识、能力和素质,强调创造能力和适应能力的培养,为数据库课程的教学提供新的思路。
一、计算思维计算思维的概念是美国卡内基·梅隆大学计算机系主任周以真教授于2006年首次提出的,定义计算思维为:运用计算机科学的基础概念去求解问题、设计系统和理解人类行为。
[4]如同所有人都具备“读、写、算”能力一样,计算思维是必须具备思维能力。
计算思维的本质是抽象和自动化,它们恰好反映了计算的根本问题,即什么能被有效地自动进行。
具体地,计算思维包括一系列广泛的计算机科学的思维方法:计算思维是通过约简、嵌入、转化和仿真等方法,把一个困难的问题阐释成如何求解的思维方法;是一种采用抽象和分解的方法来控制庞杂的任务或进行巨型复杂系统的设计,是基于关注点分离的方法;是一种选择合适的方式陈述一个问题,或对一个问题的相关方面建模使其易于处理的思维方法;是按照预防、保护及通过冗余、容错、纠错的方式,并从最坏情况进行系统恢复的一种思维方法;是一种递归思维,能把代码译成数据又能把数据译成代码,是一种多维分析推广的类型检查方法;是利用启发式推理寻求解答,即在不确定情况下的规划、学习和调度的思维方法;是利用海量数据来加快计算,在时间和空间之间、在处理能力和存储容量之间进行折衷的思维方法。
[4]数据库系统课程中引入计算思维的理念,主要从课堂教学和实践环节两个方面展开。
在整个课堂教学过程中,始终贯穿计算思维的本质,即抽象和自动化的思想,并根据讲授的具体知识点适时地引入计算思维中的关注点分离、约简、嵌入、转化、保护、冗余、容错、纠错和恢复、启发式、折衷等基本概念和思维方法,引导学生学习领会计算思维的方法。
在实践环节,老师给出实验任务、提出问题,学生通过独立自主和小组协作的方式运用计算思维的一系列方法去解决实际问题,探索解决问题的方法和方法的应用,发现问题的本质所在,达到更好地吸收和巩固知识和计算思维方法的目的,最终培养学生的计算思维能力、提高独立思考解决问题的能力和创新思维能力。
二、以培养计算思维为核心的数据库课堂教学数据库课程的知识体系完整,既有经典理论成果奠定的坚实基础,又有在实践中发挥巨大作用的先进技术,其中很多知识点都为计算思维提供了很好的诠释和生动的案例。
下面就从抽象、自动化、关注点分离、保护、容错、恢复和权衡折衷等典型的计算思维方法出发,探讨在数据库教学中融入计算思维理念的途径。
1.抽象和自动化抽象是精确表达问题和建模的方法,也是计算思维的一个重要本质。
数据库中的很多概念和方法都体现了抽象的思想,例如:数据模型、规范化理论、事务管理等。
数据模型是数据库中的最基本的概念之一,其本身就表达了对现实世界的抽象,并且这种抽象是分层次、逐步抽象的过程。
当利用数据模型去抽象、表达现实世界时,先从人的认识出发,形成信息世界,建立概念模型;再逐步进入计算机系统,形成数据世界。
在数据世界中,又进一步分层,先从程序员、从用户的角度抽象,建立数据的逻辑模型;再从计算机实现的角度抽象,建立数据的物理模型。
目前作为数据库课程讲授主要内容的关系数据库就是采用关系抽象表达了现实世界中的事物以及事物之间的各种联系。
关系可以进一步抽象为集合论中的集合,形式化描述为属性域笛卡尔乘积的子集。
再如:在数据库设计阶段,概念设计首先就是进行数据抽象,经常采用的是聚集和概括的数据抽象方法。
在教学过程中,启发学生体会抽象的思想和方法,学习运用抽象去表达需求并建模,发现问题的本质和其中蕴含的规律,并逐渐掌握抽象这个工具。
以上抽象思维的结果需要在计算机上实现,这体现了自动化这个本质,也是将理论成果应用于技术实践的过程。
自动化隐含着需要某类计算机(可以是机器或人,或两者的组合)去解释抽象。
[5]数据库标准语言sql可解决各种数据库数据操作在计算机上的实现问题;在用sql去实现用户要求时,结合计算思维的约简、嵌入、转化等方法,把复杂的问题转换为易于解决的问题加以实现。
如:在讲解带有全称量词的查询中,重点说明将全称量词转化为对存在量词的否定之否定,用多层嵌套查询来实现的思路和方法。
此外,对抽象的关系模型的自动化,采用了简单的表结构去表达同一类事物,用对表中数据上定义的增删改查操作实现对数据的访问。
由于现实世界中事物客观存在并满足一定的条件,为了保证自动化的正确性,通过完整性约束限制数据的取值,并进一步把表的建立和完整性约束,以及对数据的操作通过sql语言建立程序由计算机执行,从而建立真实的物理数据库。
在讲解数据模型这个概念时,从现实世界出发,阐述分层次的抽象方法形成各级数据模型,再到采用关系模型,并通过sql语言自动化实现这一完整的剖析过程,既清楚地说明了数据模型的概念及其作用,又逐步引导学生学习体会了抽象和自动化的方法,从而领会计算思维的本质。
2.关注点分离关注点分离是控制和解决复杂问题的一种思维方法,即先将复杂问题进行合理的分解,再分别研究问题的不同侧面(关注点),最后综合得到整体的解决方案,在计算机科学中的典型表现即是分而治之。
[6]在数据库设计、庞杂的数据管理和数据库应用开发中,采用的就是分而治之的思想。
数据库设计采用软件工程的思想,自顶向下将设计任务划分为多个阶段,每个阶段有各自相对独立的任务,相邻阶段又互相联系互相承接,共同完成整个设计任务;面对复杂的数据管理和维护任务,也进一步分解为数据恢复、并发控制、数据完整性和安全性的保护、数据库的运行维护等多个子任务,由不同的子系统负责,并相互协作保护数据在运行过程中的正确性和有效性;在进行基于数据库的应用开发中,模块化是最常用的最有代表性的一个分解方法。
这些数据库的知识点都充分体现了计算思维的方法。
3.保护、冗余、容错、纠错和恢复按照预防、保护及通过冗余、容错、纠错的方式,并从最坏情况进行系统恢复是计算思维的一个重要方法,这在数据库中有最直接的体现。
数据库管理系统就是通过预防、保护、冗余、容错、纠错等方式实现对海量数据的管理和保护。
为了预防各种可能的故障造成数据丢失,数据库引入了恢复机制,通过冗余技术建立后备副本和日志或采用远程备份;为了预防泄露和破坏数据,数据库引入安全机制,通过用户身份鉴别、存取控制、审计等一系列机制保护数据安全性;为了纠正数据库中死锁带来的问题,数据库引入死锁的检测机制及时发现,并加以处理;为了提高数据的访问速度,允许用户按需存储必要的冗余数据。
数据库管理系统对数据的保护全面体现了计算思维的保护、冗余、容错、纠错和恢复的思想。
4.利用启发式寻求解答数据查询是数据库及其应用中最常见的操作,也是其他数据操作的基础,其速度直接影响了应用的效率。
对于一个查询可以有多种执行计划,执行效率差别很大,有时甚至相差几个数量级。
因此,数据库管理系统需要对操作进行优化。
优化则基于启发式规则形成各种优化算法。
在数据库的物理设计中也常使用启发式的规则来指导存取方式和存取路径的选择。
在这些内容的教学中引入启发式方法,可启发学生学习利用启发式规则和推理来寻求更好的解答,理解计算思维的思想。
5.折衷数据库在对海量数据进行管理的技术中处处体现了时间和空间之间、处理能力和存储容量之间施行折衷的思维方法。
如:为了满足应用的实时性要求,对数据查询时可以通过建立索引来提高数据访问速度;但建立索引需要存储实际数据,占用一定的存储空间,并且索引需要维护。
为了解决应用的数据冗余和操作异常问题,常需对数据关系进行规范化,规范化级别越高,数据冗余越小,占用的存储空间越小;但规范化后的表被分解为多个小表,查询时需要多个表之间的连接,会增加数据的查询时间。
对数据施加封锁时,封锁的粒度越小,并发性越高,事务的处理速度越快,但系统代价越高;而封锁的粒度越大,系统处理代价越小,但事务之间的并发程度降低,事务的等待时间延长。
这些都是典型的折衷思想,体现了计算思维的理念。
三、面向计算思维的数据库课程实践教学要牢固地掌握一种思维方法,紧靠课堂教学容易陷入似懂非懂、纸上谈兵的境地。
实战是提高实践能力、积累经验、学懂计算思维方式的必需之策。
在实践环节,重点锻炼学生对计算思维方法的运用、探索解决实际问题的过程,这是对课堂教学的补充,也是对计算思维方法能更好地吸收和巩固。
笔者将实践环节分为课堂练习、小组讨论和上机实验等多种形式,使学生在课程的整个教学过程中不断地参与和练习。
在课堂讲授完相关的知识点和计算思维方法后,即利用事先精心设计好的由浅入深的练习题让学生各自独立运用计算思维方法完成;对于较复杂的练习,在学生完成练习后,划分小组进行讨论,各自阐述自己对知识点的理解和对问题的分析、解决思路和方法,并互相评析;然后,带着各自的理解和疑问上机练习,让计算机给出的正确的答案;最后,教师再加以分析、归纳和总结,进一步深化学生对计算思维思想的理解。