多元化模式下数据库SQL教学研究与实践
2019-03-28窦亚玲
窦亚玲
(湖南师范大学 信息科学与工程学院,湖南 长沙 410081)
0 引言
2012年“MOOC元年”开始,MOOC得以蓬勃发展,被评论为“横跨IT和教育界的革命性事件”。在互联网+教育的新形势下,大量优质课程资源的开放与共享,逐步促进了教学资源的平等分配,激发了教育理念的变革,进一步推进了高校教学模式与方法的改变。教育部、财政部在“十二五”期间启动实施“高等学校本科教学质量与教学改革工程”,建设高等教育课程资源共享平台——爱课程,并携手网易云课堂构建了中国大学MOOC。传统的大学课堂以开放的方式迎来了新的挑战和机遇。优质的网络教学资源有助于将老师从重复的单一的讲授知识点的教学工作中解放出来,将重心放在“以实践为基础,能力培养为目标”的多元化的教学改革实施中。
《数据库原理》是信息大类专业的核心课程,一般在大三上学期开设,为数不少的先导专业课程如离散数学、程序设计、数据结构、操作系统的学习让学生具备了一定的专业认知能力。这也是翻转课堂可以在这个阶段实施的有利条件。结构化查询语言(Structured Query Language,SQL),是一种关系数据库查询,是课程教学内容中的重点与难点。传统的教学方法中遵循教师对语法进行分析,学生对典型实例进行重复操作,而对实际应用程度颇高的高级SQL、嵌入式SQL往往因为课时有限而安排在选讲或学生进阶自学环节。针对目前教学中存在的不合理性,我们的解决方案是:一方面要尊重教师的主导作用,合理运用翻转课堂来激发学生自学潜力;另一方面要突出学生的主体地位,高效利用线下课堂,通过多元化的教学模式重塑知识体系,让学生真正实现“做中学”。
1 数据库原理课程教学的总体设计思路
传统课程内容通常是以教材的章节来组织划分,具有系统化、结构化、循序渐进等优势,而MOOC的课程具有非结构化的特点,MOOC的学习者通过多种不同路径完成对知识的探究[1]。在数据库原理的教学实践中将两者有机结合,设计主线是MOOC资源+项目驱动,其中,MOOC资源以教师为主导指定,项目以学生为主体施行,考核以成果为导向评定成绩。
1.1 以学生为主体,教师为主导,项目阶段性推进
以学生为中心的教育中,学生享有丰富的环境来追求他们的兴趣,只是偶尔向老师寻求建议,处在“我-它”关系的范围内[2]。而以学生为主体的教育中,学生首先自由地组成一个个的项目小组,学生是实施项目任务的主体,处在“我-你”关系范围内。在项目开始阶段,每个小组做什么项目,由学生自己提议,群策群力,教师通过课间交流以及课后QQ互动等方式协助学生甄选确定选题。教师作为引导者参与分析项目执行的可行性,保障项目的合理性与可实现性。在项目的实施过程中,教师需要将知识点的讲解与学生的项目进度动态结合,做到讲授的内容是能指导项目实施,解决实际问题的。教师需要及时掌握项目进程与各种状况,在教学设计中教师的角色更像引导者。
1.2 项目驱动下结构化章节知识点的重构
采取逆向思考,以完成一个实际的小项目为目标,需要用到哪些知识,需要哪些原理指导实践?例如,在收集数据阶段:需要理解关系数据库的特点,不同类型的数据怎么利用关系数据库进行管理;在数据分析阶段:如何构建ER图,需要理解关系数据库概念设计的基本原理;在创建表单阶段:需要掌握关系数据库的逻辑设计的要点,在表单内数据项的设计过程中需要充分理解关系范式的原则。最后,教师对数据库原理系统化、结构化的章节主线进行梳理和总结,突出学以致用的基本点。
被重构的知识点会依据项目进展的情况与知识特征采用不同的教学方式,例如,ER图设计是项目进展到概念设计阶段的知识点。首先,教师会以问题为导向引出知识点,以经典案例展开设计基本原则。然后,学生随着项目推进分组讨论完成自己的ER图设计。最后,教师选取学生设计中共性问题在讨论课上深入分析并做出针对性改进。而SQL是从数据库逻辑设计开始贯穿知识主线的重点与难点。SQL内容多、各层次难度呈阶梯式上升。本文给出的多元化教学模式能有效满足学生对SQL理解、掌握和综合应用的要求。
2 多元化模式下数据库SQL教学设计
多元化模式中的教学过程是线上与线下、课堂与课外的有机结合[3]。
2.1 线上MOOC资源分享设计
从MOOC资源中精选了哈尔滨工业大学的《数据库系统》系列的模型与语言[4]中的第6~10讲。其中,前三讲以碎片化的组织形式,通过短视频(小于20 min)+交互式练习的方式介绍了SQL各种操作语句;后两讲涉线下利用间隙时间学习,对应的交互式练习提供了良好的学习体验,有助于学生坚持自我学习。表1中列举了部分在教学过程中线上资源与线下项目阶段性任务的对应关系。
表1 数据库系统模型与语言MOOC资源与线下项目实施过程关联关系
教师选取的MOOC资源必需是与实际项目进展相关联的,可以依据项目教学的需要,分阶段对资源进行分解及重新进行顺序组合,直接服务项目需要,进一步帮助学生解决项目中的技术问题。教师布置的项目相关阶段的任务,要求学生线下课外完成。这个过程也就将MOOC资源转化成实际学习成效。
2.2 线下课堂教学设计
在翻转课堂模式中,课堂会被赋予更多的形式。通常依据不同的课程内容、学生特征、教学环境采用不同模式的教学设计。SQL这部分的内容对于具有程序设计基础的学生而言,有很强的自学性,特别合适采用翻转课堂的模式。通过项目驱动学生完成线上学习、课余完成数据库建表、数据输入、数据基本查询任务。基于这个环境,可以将传统课程计划中的实验学时,用于项目的分享与答辩。具体要求与实施细则如下:
(1)全班分为10组,每组人数不超过5人,每组小组长负责制,每组项目不同名。
(2)每组分享与答辩的时间为30min,包括10分钟的项目报告,20min的SQL应用答辩。
(3)10min的主题报告由小组长或小组成员中的一名同学介绍选题目的与意义以及完成任务的基本情况。包含项目的几个要素(做什么、为什么做、怎么做)。
(4)20min定为SQL的应用挑战,小组所有成员应对来自其余9组现场提出的9个以上的综合查询提问,要求现场给出准确的SQL语句,并在投影上显示结果。
(5)提问者所提问题必需与小组项目相关,问题中必需包含SQL基本查询与复杂查询。相关要点见表2。
表2 SQL提问答辩环节考核要点
2.3 问题牵引的渐进分层式教学设计
经过课堂答辩环节,教师归纳总结在项目中SQL基本查询和复杂查询(包括视图索引)的应用情况。提出两类新问题:其一是SQL在数据库完整性和安全性问题上如何作为?其二,其它语言如PHP/ASP/CJHJ/JAVA中如何使用SQL,也就是嵌入式SQL的问题。
在第一类问题驱动下,教师在课堂上讲解SQL表/列完整性的含义,以实例说明断言、触发器是怎样解决问题的;讲解数据库安全性的概念,给出SQL如何实现安全控制的方案。最后,安排学生课后浏览MOOC资源,并记录线上学生浏览情况[4]。
第二类问题进入嵌入式SQL的环节,教师会招募在前面项目阶段做得优秀的2~3个项目小组继续挑战,指定两种不同的程序设计语言与MYSQL数据库相结合,完成一个小型的完整的项目。要点包括嵌入式SQL语言中的动态SQL、ODBC/JDBC技术,学生需将程序设计课程的知识与数据库原理关联起来。
以2016级计算机专业学生为例,本课程完成了ASP、CJHJ两例嵌入式SQL的基本应用,一例JAVA+MYSQL的基于Android的应用系统。
一方面,我们通过项目的基本任务提高了全体学生对基本教学内容的掌握程度,另一方面,通过分层要求让有更强主动性的学生的能力得到了进一步的拔高,优秀学生的影响力激发了更多学生的学习主动性。
3 教学总结
《数据库原理》课程教学设计中采用了多元化的教学模式。以SQL语言教学为例,在教学学时有限的情况下,让实验学时效用最大化。在基本和复杂的SQL阶段将MOOC资源前置,要求全体学生自主学习,完成项目基本任务,教师是引导者、旁观者和监督者。而在高级SQL阶段回归传统课堂模式,通过问题引导学生深入学习,这时候MOOC资源是后置方式,是对教师课堂讲授的有益补充和扩展。嵌入式SQL的应用阶段对学生划不同层次的教学要求,鼓励学生主动参与。对程序设计基础良好,愿意在课余投入更多时间的学生,要求完成高级程序设计语言+嵌入式SQL/MYSQL的完整项目,并给予期末总评考核奖励。2015~2017三年的教学实践与学生反馈表明,本文的教学设计收到良好教学效果。