数据驱动的SQLTutor的设计与实现

    严大虎 李雨婷 苏秀玲

    

    

    摘要:本研究以当前SQL语言教学中存在的问题与突破点为出发点,以学习者学习行为数据获取为目标设计、开发了具有测评与知识点学习等功能的SQLTutor平台(SQL查询语言智能学习系统),并通过相关课程进行验证与分析,以期利用数据驱动的SQLTutor可以有效地提升学生学习效率。

    关键词:SQLTutor;学习行为数据;设计

    中图分类号:TP393 ?文献标识码:A ?论文编号:1674-2117(2021)02-0109-04

    ● 问题提出

    作为数据库的核心语言,SQL语言(Structured Query Language)实现了对数据的存取、查询、更新等多重功能,具有结构简洁、易学易用等特点。但在实际的教学过程中,学习者普遍存在“只能运用所学知识解决特定问题,却无法实现知识的迁移”的问题,究其原因主要在于:一方面,教师将教学重点放在技术学习上,学生跟着教师的演示或带有操作步骤的课件进行数据操作练习,评判标准以操作熟练度为基准,缺乏对学生链接基础知识技能与实际问题能力的培养。另一方面,由于常见关系数据库管理系统存在交互不友好等问题,即对学习者提交的错误答案缺乏逻辑诊断能力,无法及时给予学生反馈信息,造成学生无法对SQL语言存在的错误进行准确判断。[1]由此可见,教师的教学侧重点与平台的交互性能对学生的学习态度、学习成效等产生很大的影响,如何灵活运用SQL语言解决本专业及其他领域的问题,是当前学习SQL语言迫切需要解决的问题。本研究在对当前数据库教学中存在的问题进行收集及分析的基础上,从学习者学习行为数据出发设计与开发SQL查询语言智能教学系统,最后将该系统介入教学活动进行实践分析,以期为相关系统的功能模块设计提供参考依据。

    ● 当前SQL语言教学中的问题与突破点

    1.SQL语言教学中的问题

    通过对已有文献的梳理分析发现,关于SQL语言教学中的问题分类存在不同观点,如Slonneger将编程语言教学中遇到的具体问题分为三类,分別是语法问题、语义问题和语用问题。[2]而李廉等认为语用问题相对其他两类问题存在过于宽泛与抽象等问题,因此,他认为遵循一定语言格式的语法问题和语义问题是SQL语言教学过程中普遍存在的问题。[3]基于此,对编程类课程教学中存在的问题进行进一步细化分类,即包括语法问题、语义问题、迁移性问题、系统问题这四类问题。同时,为了验证问题提炼维度的准确性、适用性与课堂实践教学问题的一致性,采用线上线下相结合的方式对从事高校编程教学的教师及参与编程学习的研究生、本科生进行了访谈调研,并将分类结果多次与专家进行讨论修改,最终得到有效的分类结果。其中,语法问题是包括书写错误、字符运用错误等在内的违反语言规则的错误;语义问题是代码不符合语言书写规则,但存在逻辑错误的问题;迁移性问题是无法在不同问题场景中解决同一或相似知识点的问题;系统问题强调从宏观层面对问题解决的步骤进行描述,如抽象、分解等。[4]

    2.SQL语言教学中的突破点

    在实际教学过程中,教师多采用线上与线下相结合的方式开展SQL语言教学,即以讲授为主的课堂基础理论知识点的学习,以及借助平台进行的教师演练、学生操作为主的实操学习。在这个过程中,学生产生了大量的过程性学习数据,尤其是利用平台进行学习的操作性数据,实现对这些数据的捕获能有效地帮助教师教学与学生学习。[5]从教师角度分析,学生学习行为数据的获取有利于教师及时地了解学生的学习状况,针对性地进行个性化辅导,同时可以调整教学的重难点以及教学进度等,从而取得最佳的教学效果。从学生角度分析,学生可以利用自己与同伴的学习行为数据反思学习过程,分析与总结学习的方法等,同时及时的反馈有利于学生发现自己的错误,激发学习动机。通过分析发现,目前许多SQL语言教学平台并没有实现这一功能,这为本研究提供了功能模块设计的契机,以获取学习行为数据帮助教师重新调整教学侧重点,从而真正实现个性化辅导学生,提高学生运用已学知识点解决不同场景中问题的能力。

    ● 数据驱动的SQLTutor的设计与实现

    1.数据驱动的SQLTutor理论架构

    通过分析当前SQL语言教学中使用工具的特性,综合教学实践中面临的问题与突破点,笔者从数据驱动的角度设计了SQLTutor,如图1所示。该实验平台从基础层、功能层、数据层和反馈层这四个层面实现整个SQLTutor平台的运行过程。以题库和资源库作为数据的直接供应者,从四类问题着手设计了日常知识点学习和测评两大功能,其中,测评功能模块以日常操作测试和考试为主,内含学生测试错题及重点题,而知识点学习注重课上与课下对教学内容、学习资料等的温故知新,学生可根据学习需求进行对应的操作性训练。学生在使用平台完成学习任务的过程中产生了大量的行为数据并同步存储在学习行为数据库中,该数据库有学生测试的相关数据、学习笔记、反思记录等,是整个实验平台学生数据的主要存储部分,为学生个性化定制题库提供了题目依据。反馈层通过学习分析技术、可视化技术,以图表、常规显示、知识点文档的形式呈现了学生的学习结果信息,是教师进行教学活动调节设计的关键,也是学生学习效果反馈的重要证据。

    2.数据驱动的SQLTutor技术实现

    (1)SQLTutor核心功能模块构建

    ①测试模块。

    测试模块作为学生频繁使用的功能模块,可以通过增加实操训练次数提高对所学知识的内化效率。测试模块融合了错题、重难点题以及学生收藏的题,并在此基础上从SQL语言教学中常见的四类问题入手,综合设计题目内容。一方面,学生在进行知识点学习的过程中根据学习需要进行自主测试,学生在学习完某一知识点或复习错题时,可自主选择知识点的测试范围、测试时间和数量,以及是否及时反馈等内容。另一方面,教师可根据教学活动安排发布课堂实验测试和正式考试,同时根据学生的可视化学习行为信息反馈给学生定制与发放个性化的测试。测试模块为可视化学习结果的生成提供主要参考依据,为教师有效开展差异化教学、学生进行精准学习提供支持。

    ②知识点学习模块。

    学生在进行知识点学习的过程中,利用知识点学习模块呈现的学习资源进行课前预习、课堂实践以及课后复习。其中,课前预习可预先对教学内容进行宏观把握,大体掌握知识结构及重点。课堂实践是教师发布任务,学生通过查看知识点、例题等独立与合作完成学习任务。课后复习是学生借助平台对所学知识点进行复习,从而达到对重难点的吸收、内化。总体而言,知识点学习模块是促进学生学习的辅助性手段,所包含的学习材料类型丰富、内容详细、重难点清晰,聚焦于对知识点的融汇贯通。其中,例题模式多变,以单一知识点或多个知识点融合的多场景问题为主,其最终目的在于培养学生运用所学知识点综合解决不同类型问题的能力。

    (2)数据驱动的SQLTutor技术实现

    在对SQLTutor实验平台的理论架构、核心功能模块构建的基础上,对平台进行技术实现。利用asp.net、jquery、layui、ajax等技术实现对数据驱动的SQLTutor平台搭建,同时进行多次调试、优化,在嵌入教学前多次进行预先使用测评,针对出现的问题及时改进,优化平台各项功能,以保证嵌入教学实践之后的使用效果。完成搭建后的SQLTutor答题记录界面如图2所示。

    ● SQLTutor的应用案例及分析

    1.研究对象与数据选取

    本研究以江苏某高校大三64名教育技术专业学生为研究对象,在任课教师对获得SQLTutor认可且熟练运用的基础上,以此为教学工具设计与实施了为期四周的“数据库技术及应用”课程教学实践,同时以参与者在SQLTutor上的日常实操训练和测试信息作为数据来源。通过对测试数据进行筛选整理,共获得实操训练记录6506条,其中3434条错误记录,约占总测试记录的52.78%,大概率说明了学生每道题大约需要提交两次。其间,教师安排了四次在线统一测试(共计256次),学生自主参与题库测试966次,共获得1222次测试记录。

    2.应用效果测评与分析

    通过对SQLTutor上学习者学习行为数据的整理、筛选,从平台设计的角度对数据进行不同层面的分析:

    ①知识点与问题类别测试方面。学生对查询语句掌握情况主要呈现为简单查询(87.3%)、条件查询(80.1%)、分组查询(82.1%)、排序查询(83.5%),因各个语句之间的难易程度不一样,造成学生对简单查询掌握得最好,对条件查询掌握得最为薄弱的结果。就问题类别来说,学生在单一知识点上的成功率达到85.2%,远高于综合应用题的成功率(76.7%)。由此可见,知识点难度低、题型单一的测试其成功率较高,更易激发学生的学习动机与自我效能感。

    ②题库类型选择方面。在题库选择上,学生因先前知识水平存在差异性导致出現不同的选择倾向。总体来说,基础薄弱的学生主要通过训练知识点子题库来提高知识点的掌握情况,基础中等的学生则以单个知识点子题库为主,少量涉及其余两个题库,而基础好的学生则更倾向于综合应用题库,主要提高自己对知识点的迁移运用能力。

    ③测试成绩方面。研究对同一任课教师所教的上届学生与这届学生的课程中期测试成绩进行了量化对比分析。其中,两届之间的关键不同在于这届学生采用SQLTutor进行教学实践,而上届学生则以常规教学为主。通过分析发现:一是对成绩进行配对样本T检验(Sig=0.001<0.05),说明两届学生的课程成绩存在显著差异。二是利用箱线图进行分析发现,这届学生整体学习成绩集中且离散程度更小,说明利用SQLTutor辅助教学时所取得的学习效果更好,学生整体对知识点的掌握程度更高。

    ④用户体验方面。通过实施访谈及问卷调查来了解教师与学生对SQLTutor的用户体验程度。从调查结果得出,57.81%的学生对课程教学持满意态度,通过访谈发现大多数学习者认为SQLTutor减少了对硬件的安装配置、建表等过程,使个体更加专注于学习,进而提高了学习效率。同时,可视化结果呈现使得学习行为数据得到存储,这对教师教学和学生学习产生了更优的效果。

    ● 结语

    学习行为数据为教师教学与学生学习提供了重要的参考依据,基于数据驱动的SQLTutor为查询语句的学习提供了辅助性支架,满足了教师利用平台提高教学效率、培养学生利用知识点解决不同场景中问题能力的需求。本研究通过对当前SQL语言教学中存在的问题进行深入剖析,设计了符合SQL语言教学需求与学习体验需要的数据化驱动平台,并结合具体的课程进行实践。未来,笔者将根据实践反馈进一步完善平台功能,以此帮助教师因材施教,最终改善学生的学习效果。

    参考文献:

    [1]郝耀军,王建国,赵青杉,等.SQLTutor的在线实验技术研究[J].现代教育技术,2009(08):109-111.

    [2]Slonneger K,Kurtz B L.Formal Syntax and Semantics of Programming Languages: A Laboratory Based Approach[M].Addison-Wesley Longman Publishing Co. Inc.1995.

    [3]李廉.计算思维——概念与挑战[J].中国大学教学,2012(01):9-14.

    [4]Shute V J,Chen S,Asbell-Clarke J.Demystifying computational thinking[J].Educational Research Review,2017(22):142-158.

    [5]王丽英,何云帆,田俊华.在线学习行为多模态数据融合模型构建及实证[J].中国远程教育:综合版,2020(06):22-30+51.