宁波大学科技学院:编程教学更easy

时间:2022-10-07 12:51:26

宁波大学科技学院:编程教学更easy

宁波大学科技学院软件工程系钟梅老师使用Itbegin云平台进行课堂教学已有一年多了。在她看来这个平台具有如下特点:

内容完备、理实一体化

ITbegin 的设计者认为编程学习的驱动力是操作,充分的练习再配合理论讲解,才能真正理解知识的精髓。在功能设计上,首先布局了教室界面左边是知识点和练习区。此区域所有课堂内学生均可见。

老师切换知识点和练习,学生端同步切换。每个知识点都已经被拆分成了最小单位,并且配备了代码练习题,力求使学习者可以针对每个知识点进行练习从而理解。每个练习可以马上运行结果,检查代码编写的正确率。

在线编程集群化

将老师和学生在线编码部署在同一界面中,组建了一个集群式的在线编程教室。这是目前国内在线编程应用没有涉及到的。现有的在线编程网站,都是面向自学的,所以学习起来难免会觉得很孤单。

在老师的界面上可以看到,中间上半部分是教师编码窗口,所有课堂内学生均可见,老师演示和运行代码学生端也完成同步。点击黄色按钮运行编码结果、点击绿色按钮刷新例子。中间下部分是学生编码窗口,每个学生均独享编程环境。

实时互动,第一时间解决问题

老师点击右边学生列表,每次可查看一名学生的编码窗口,可以运行学生编码。如果学生有错误和问题,点击求助按钮,老师可以帮学生马上修改。同时老师还可以将典型错误拷贝到老师编码区,演示给全体学生进行讲解。

“这样的互动才是学习时最需要的,第一时间解决问题,让每个学生学习的每个知识点都真实掌握。”钟老师如是说。

据了解,Itbegin创立的初衷是希望将原本繁杂痛苦的编程学习变的简单有趣。Itbegin能将教学过程云平台化,老师上课时很方便,无需安装、无需配置、无需升级,只要有网络打开浏览器就可以使用了。此外,该平台还集成了课程资源、在线编程、在线运行、师生互动等多项功能。目前已经上线了JAVA、C、C++、SQL、HTML、CSS、JS的全套课程和练习。

钟老师在上学期讲授C语言课程,使用ITbegin进行作业管理。

首先,钟老师在ITbegin平台教材模板基础上,结合该平台出版的书籍《程序设计基础实验教程(C语言)》,修改、增加、调整章节结构设计出符合自己学校的个性化教材。

然后,在平台上作业给学生。之前已经在教材中设定好的作业题目,只要设定开始时间,结束时间,选好哪些习题作为一次布置的内容即可,用起来非常简便。最后进行作业批改。

在问及使用该平台的感受时,钟老师对《中国信息化周报》记者说:“平台有代码自动批改功能,减轻繁杂的代码作业收、发、改的工作量,提高教学效率。但在作业提交时间的精确设定、学生代码死循环检测方面需要进一步优化。”此外,浙江长征职业技术学院李蕾老师使用ITbegin平台,完成数据结构课程,并且申报浙江省教学科学规划课题。西安科技大学靳红梅老师使用ITbegin平台在上学期进行了C语言测验。

2015年国内有300多所院校计算机编程课程教学接入,500多名计算机专业教师注册使用,2016年预计完成国内1000所院校计算机编程课程教学接入。

2016年,ITbegin还将构建基于云平台的计算机学科虚拟仿真实践全教学体系平台,集成基础课程、项目课程、课程设计、综合实训、毕业设计全部教学内容和教学管理。

“ITbegin的研发都是自主完成的,我们的技术团队由10年工作经验以上的老互联网人组成。”ITbegin CEO陈跃坚如是说。

在问到该平台采用的的核心技术时,陈跃坚说:“有虚拟化技术、运行引擎技术、实时互动技术。”接着,他又对核心技术做了详细阐释:

运行引擎技术

就是实现了支持多种语言的云端代码编辑器。

在代码编辑器里写代码,不同语言的体验是不同的,体现在关键字高亮、缩进格式、补齐等诸多细节上、例如:java代码的class是关键字显示为黄色,而sql的select是关键字显示为黄色。

java代码按回车,会自动产生两个空格的缩进,而sql语言的回车不会产生缩进。java的大括号{、小括号(等会自动产生补齐,即输入左的时候右括号也会自动输入,而html语言则会自动补齐尖括号,这是由不同语言的特色决定的。

通过在编辑器组件上增加插件(clike插件、sql插件、java插件、html插件)来实现以上特征。在浏览器载入编辑器的时候,或者当老师切换知识或试题的时候,系统会获取到当前试题的语言类型,然后载入相应的插件使得编辑器能支持当前语言。

实时互动技术

在HTML5的websocket技术基础上实现,使得网站服务器可以向浏览器前端进行实时消息的推送。以此技术为基础,扩展实现为多种系统专用协议指令,如:

(1)支持代码运行的指令,包括运行指令、输入输出的指令等。

(2)支持实时协同的指令,包括编辑器中的键盘录入、删除、选中等各种效果的实时推送。

(3)基于师生关系的教室管理指令,包括同一个教室里的公告、加入、踢出、查看成员、代码监控等。

在实时协议的支持下,我们设计了代码编辑器和运行两个协同的框架:

(1)代码编辑器的协同:编辑器监听每一次的键盘操作,组成新增、删除、光标移动、选中等多种业务,然后把这些业务发送给后台的消息服务器,消息服务器会转发给协同方(例如老师和所有学生),协同方的编辑器里就会实时反映出同样的操作。

(2)代码运行的协同:当代码开始运行、接收输入、产生输出、运行结束等业务发生的时候,后台的运行服务器都会调用实时协议,将这些业务消息发送给协同方,这样,协同方的运行结果组件里面也会实时反映出同样的消息。

虚拟化技术

设计了云计算+容器技术的运行架构,所有的运行服务器都被放置到容器里面运行,这样的虚拟化技术是国内首创的。

比如如果某段代码存在病毒、木马等危险,只会影响本次运行的容器,对其他用户的运行不会产生影响。一方面从安全出发,另一方面,隔离也是从业务出发。

例如sql语言要查询数据库,必须让每个用户数据库的数据之间是互相不影响的。

运行服务器部署在云端,当浏览器发送代码过来,运行服务器会自动执行编译、运行等工作,并且捕获运行过程中的输出信息发送回浏览器。

对于需要输入的代码例如Java等,运行服务器会智能阻塞住代码的运行等待浏览器再次发送输入信息过来,将输入信息设置进运行服务器的本代码进程,然后捕获输出发送回去。

上一篇:科研院所管理信息系统运行维护措施初探 下一篇:依托三大战略 领航电商化采购变革