肖家立,朱坤荣,李丹敏,丘煜标,蔡洁娜
(北京理工大学珠海学院,广东 珠海 519088)
2017年国家颁布的《新一代人工智能发展规划》《中国教育现代化2035》中,将“智能教育”作为一个重点任务,并在北京、广州等城市陆续设立试点,将编程教育纳入中小学生学习的教材中。随后,全国各个地都已经开始在义务教育阶段开展人工智能教育。但从规模上看,我国的少年编程教育仍处于起步阶段,且各地基础和条件都不相同,面临基础设施不一致、缺少统一平台支撑、教育培训体系不完善等问题,在课程建设、人才评价等许多方面仍需要投入大量的人力物力[4]。因此,本文致力于借助最新心理学及行为学领域的研究成果,通过构建一个B/S在线编程教育平台为载体,为全国少儿提供在线服务,从而推动人工智能教育朝着更加系统化、科学化的方向发展。
MBTI的全称为Myers-Briggs Type Indicator,是美国心理学者katherine Briggs和Isabel Myers于1942年以荣格心理为基础,提出的关于人4个不同维度下8种性格类型指标组合而成的16种性格倾向,其指标包括:外向E(Extrovert)-内向I(Introvert)、感觉S(Sensing)-直觉N(iNtuition)、理性T(Thinking)-感性F(Feeling)、主观J(Judgement)-客观P(Perceiving)。这四个不同的维度从人的精神能量指向、信息获取方式、决策方式和生活态度四个维度描述了个体行为差异[1]。由于MBTI在经典理论的基础上采用大众易于理解的方式呈现结果,因此其应用场景也被拓展到更多领域中。
曾维希等[2]开展MBTI 人格类型量表的理论研究与实践应用。史灵等[3]基于心理资本和MBTI人格影响机制开展了高校学生成长研究。孙丹等[4]聚焦中国青少年编程教育课程标准的内容探讨,依据国际比较和借鉴厘清中国青少年编程教育课程标准的重要内容。于勇[5]参考日本中小学人工智能教育课程体系,对我国中小学人工智能教育体系的现状进行梳理,并得出产教融合融合及分层课程实施等启发。而在MBTI应用研究中,崔鹏飞等[6]谈及了MBTI理论应用于大学生思政教育工作中的必要性,阐释了青年大学生在面临高考高压学习后,容易在新环境中感到空虚或不适应,并由此引发一些心理不健康的情况,因此提出了在大学生刚步入新环境时,需适时为其提供正向的指引。韩竹等[7]指出MBTI性格测评能够有效帮助大学生扬长避短,在就业创业中提高自己的竞争力。许志飞[8]指出IT及计算机类型专业的学生可以通过情境化的方式,在项目参与过程中进行自我反思和自我提升,助力学生更全面地进行自我认知,并更好地进行职业规划。
综上所述,MBTI拥有扎实的理论基础和实用性人格测试量表,但把现代心理学及行为学成果应用于少儿编程教学的相关研究较少。经过长达半年的文献研究以及编程培训机构的走访,笔者尝试把MBTI模型引入系统中,并通过在教学过程中采集行为数据等手段量化分析,从而构建出学生的性格能力结构图,形成个性化的学习建议。
本项目主要目标是通过编程学习为载体,运用MBTI模型作为理论基础,建立性格能力分析模型,通过把问卷内容融合到课程任务中,在学习过程中采集学生数据,最后把实体问卷调查及行为数据进行交叉验证,综合分析出学生性格报告及能力成长结构图。为保证项目有效实现,对平台的设计提出了以下几个原则。
MBTI为研究提供了理论基础,但落实到少儿编程领域的研究与应用实在太少。因此,笔者通过借鉴现有MBTI模型的研究与应用,设计出针对少儿编程领域的性格能力分析系统,自研形成一份MBTI人格分析问卷。
为了解决填报内容时人为主观偏差带来的数据失真,笔者把MBTI问卷的内容融入编程学习的课程任务中,在不妨碍正常编程学习的前提下,无感知的采集行为数据以及决策数据,最终融合实体问卷结果形成个人的MBTI综合分析报告。
目前,传统的少儿编程学习更多是以线下的实体门店授课形式,这种模式效果直接、易于实现,但成本高、适用面窄,若大规模开展将带来巨大的人力成本以及租金成本。在受新冠疫情影响下,传统单一的线下教学模式难以满足多样化的需求。而本项目将通过Scratch 3.0技术实现基于B/S架构下的线上平台,在完全兼容原有Scratch作品的基础上,更利于开展线上线下融合的教学模式。同时,Scratch3.0具有9大扩展模块,也大大增强了虚拟与现实之间的交互性,以及学习过程中的趣味性,进一步降低用户的学习门槛。
传统的线下培训机构中所使用的教学系统,主要是以Windows程序或Android应用等单机程序形式提供交互。一方面,技术上较为容易实现;另一方面,单机系统无须解决高并发、高延时等问题,可为单体用户带来较为丰富的交互性。但随着互联网应用的发展,线上需求增加,未来的主流将会变成一种互联网软件架构。同时,人工智能及大数据技术的发展与成熟,原始数据将成为“孕育”新技术的必要养分,必须通过一种有效的手段感知终端,只有通过挖掘、分析、融合大量个体数据才能使数据产生更大的价值。因此,本项目实现了一个易用且可扩展的在线编程教育平台,一方面为互联网用户提供通用、不间断的学习系统以及可视化的编程工具,另一方面也为线下机构提供线上线下融合教学的基础设施,为业务融合提供保障。
技术路线选择上,本项目采用了JAVA语言进行开发,基于Spring MVC框架实现行业主流多层架构以及前后端分离模式,基于约定优于配置,采用命名规范实现零配置,整个项目action、service等自动扫描到Spring容器中。前端使用了Ant Design,VUE等技术实现统一接口下的跨终端的切换,用户可使用PC浏览器、终端客户端程序、手机App、微信小程序等入口访问;可视化编辑器应用Scratch3.0技术,为用户提供基于B/S架构下在线的可视化编程工具;后端基于Spring Boot2.0+Shiro+JWT等技术实现业务逻辑,符合RESTful规范的前提下,实现基于REST原则进行标准化通信。
系统功能上,主要由五大模块及十大功能组成。五大模块主要包括:课程管理模块、活动管理模块、作品管理模块、采集分析模块以及基础信息模块。功能上主要实现了:教师通过前台课程模块创建、管理、维护课程内容,同类课程可创建课程组实现资源的互通共享以及评论答疑。学生注册并登录平台后,初始化填写MBTI基础问卷形成用户“底色”评分,通过浏览作品、购买课程、参加活动及评价分享等形式开展学习。课程由多个知识点及任务组成,教学内容以图文或视频形式展示,并通过Scratch可视化编辑器进行操作完成任务。活动由主题构成,通过加入、上传作品、分享、评论评选参与活动。同时,系统后台为管理员提供监测系统运行情况的各项检测数据汇总,以及统一的用户、角色、权限、课程、活动等的权限管理;采集分析模块允许管理员在课程任务中插入检测模板,在用户操作过程中采集已标记的行为数据,最终形成个性化的“用户画像”。课程导师利用融合后的行为数据及业务数据形成大数据看板,为学生及家长提供个性化的学习建议以及成长规划。
平台的数据采集过程包含以下步骤:数据接入、数据传输、数据建模、数据存储、数据查询以及数据可视化。过程中,考虑用户规模与数据规模的增长,多种方法全量采集贯穿用户使用产品的整个生命周期,且采集足够全面的属性、维度、指标,让积累的数据资产更加优质。本平台采用前后端分离架构:前端主要用于分析 UV、PV、点击量等基本指标,后端可存储在各个关系型数据库中的业务数据,以及采集业务服务器打印的日志等。同时,让用户行为数据与业务数据结合,满足复杂分析场景;通过规范化接口,可实现对接CRM、QA、客服、物流等第三方系统数据,实现一个平台上,多维度、多部门的数据分析需求。
模块实现上,本项目使用Apache的Flume框架构建一个基于分布式的管道架构的数据采集过程。通过Source接收输入数据,并将数据写入管道,Sink负责从管道中读出数据并发给下一个Agent或者最终的目的地,中间使用Channel来缓存从source到Sink的中间数据,解决负载问题。
2015年教育部发布《关于“十三五”期间全面深入推进教育信息化工作的指导意见(征求意见稿)》,其中提到了未来5年对教育信息化的规划,明确提到要“探索STEAM教育、创客教育等新教育模式”。在STEAM教育过程中,在明确知识传授重要的同时,更应强调引导孩子在探索问题和解决问题的过程中自己去“发现”知识。本项目是运用STEAM教育理念践行教育教学落地之路的探索,笔者希望借助编程技术的力量,用STEAM教育引领学生成长,培养适应未来社会发展需要的复合型人才。