CN110413263A - 课程包的开发方法及装置、系统、设备和存储介质 - Google Patents

课程包的开发方法及装置、系统、设备和存储介质 Download PDF

Info

Publication number
CN110413263A
CN110413263A CN201910678580.2A CN201910678580A CN110413263A CN 110413263 A CN110413263 A CN 110413263A CN 201910678580 A CN201910678580 A CN 201910678580A CN 110413263 A CN110413263 A CN 110413263A
Authority
CN
China
Prior art keywords
course
packet
course packet
experiment
client
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201910678580.2A
Other languages
English (en)
Other versions
CN110413263B (zh
Inventor
蔡文晖
鞠金佟
路露
邹雨竹
戴娟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Sensetime Intelligent Technology Co Ltd
Original Assignee
Shanghai Sensetime Intelligent Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority to CN201910678580.2A priority Critical patent/CN110413263B/zh
Application filed by Shanghai Sensetime Intelligent Technology Co Ltd filed Critical Shanghai Sensetime Intelligent Technology Co Ltd
Priority to KR1020217007094A priority patent/KR20210038971A/ko
Priority to SG11202102887XA priority patent/SG11202102887XA/en
Priority to PCT/CN2019/111047 priority patent/WO2021012410A1/zh
Priority to JP2021513228A priority patent/JP7140909B2/ja
Publication of CN110413263A publication Critical patent/CN110413263A/zh
Priority to TW109101823A priority patent/TW202105336A/zh
Priority to US17/193,413 priority patent/US20210192654A1/en
Application granted granted Critical
Publication of CN110413263B publication Critical patent/CN110413263B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • G06F8/24Object-oriented
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • G06Q50/20Education
    • G06Q50/205Education administration or guidance
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B5/00Electrically-operated educational appliances
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B5/00Electrically-operated educational appliances
    • G09B5/08Electrically-operated educational appliances providing for individual presentation of information to a plurality of student stations
    • G09B5/12Electrically-operated educational appliances providing for individual presentation of information to a plurality of student stations different stations being capable of presenting different information simultaneously

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Educational Technology (AREA)
  • Educational Administration (AREA)
  • Strategic Management (AREA)
  • Tourism & Hospitality (AREA)
  • Economics (AREA)
  • Primary Health Care (AREA)
  • General Business, Economics & Management (AREA)
  • Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Computer Security & Cryptography (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)
  • Electrically Operated Instructional Devices (AREA)

Abstract

本申请实施例提供课程包的开发方法及装置、系统、设备和存储介质,其中,所述方法包括:接收客户端发送的课程包的课程信息;接收所述客户端的运行指令,运行所述课程信息中包含的实验;将所述实验的运行结果发送到所述客户端;生成能够发布在课程应用平台的课程包。

Description

课程包的开发方法及装置、系统、设备和存储介质
技术领域
本申请实施例涉及人工智能领域,涉及但不限于课程包的开发方法及装置、系统、设备和存储介质。
背景技术
人工智能教育对于中小学生来说是非常重要的,适配于该教育平台的课程包的开发工具也是非常重要的。在相关技术中,开发人员将课程信息、课程内容、相关图片等填写在文本文档中,需要在线下的环境中,比如,在电脑配置的环境中试运行所编写的代码,反复试运行之后,再放到教育平台上,以确认该代码是否能够适应教育平台的环境;这样,就容易出现了本地部署环境与实验运行环境不一致的情况,从而需要反复调整部署环境,耗费大量时间。
发明内容
有鉴于此,本申请实施例提供课程包的开发方法及装置、系统、设备和存储介质。
本申请实施例的技术方案是这样实现的:
第一方面,本申请实施例提供一种课程包的开发方法,所述方法包括:
接收客户端发送的课程包的课程信息;
接收所述客户端的运行指令,运行所述课程信息中包含的实验;
将所述实验的运行结果发送到所述客户端;
生成能够发布在课程应用平台的课程包。这样,在开发平台的服务器端对编写的实验进行试运行以模拟真实使用场景,从而整个课程包的开发过程在线上进行,可以避免环境不匹配等问题,极大提高了课程包的开发效率。
在本申请实施例中,所述方法还包括:
生成用于预览所述实验的排布布局和/或所述实验运行结果的预览界面,并发送给所述客户端进行显示;
或者,响应于接收到的预览指令,生成所述实验的排布布局和/或所述实验运行结果的预览界面,并发送给所述客户端进行显示。这样,开发者可在预览界面中对实验的排布布局和/或实验运行结果进行预览,从而有利于方便快捷的对实验内容进行修改。
在本申请实施例中,所述接收客户端发送的课程包的课程信息包括:
接收第一客户端发送的用于编辑所述实验的编辑指令;其中,所述客户端包括所述第一客户端,所述第一客户端的登陆账号为身份信息满足预设条件的合作者账号,所述合作者账号与所述课程包的所有者账号具有的权限不同;解析所述编辑指令,得到所述实验的实验信息。这样,课程包的开发人员(如课程包所有者)可以邀请合作开发者即合作者,并对不同合作者或者开发者设置不同的权限,以对课程包进行高效的编辑。
在本申请实施例中,所述生成能够发布在课程应用平台的课程,包括:
接收第二客户端发送的课程包提交指令,以生成所述能够发布在课程应用平台的课程包;所述客户端包括所述第二客户端,所述第二客户端的登陆账号为所述课程包的所有者账号。这样,课程包的所有者通过客户端发送提交指令之后,可实现对课程包的有效发布。
在本申请实施例中,在所述生成能够发布在课程应用平台的课程包之后,所述方法还包括:
接收所述客户端发送的用于更新所述课程信息的更新指令;
根据所述更新指令,对所述课程包的课程信息进行更新,得到更新的课程包;
将所述更新的课程包保存在数据库中,和/或,将所述更新的课程包发布到所述课程应用平台。这样,既可以保存旧版本的课程包,还可以保存更新的版本的课程包,开发者可查看新旧课程包,还可以将新的课程包进行发布,使得使用者可以使用最新版本的课程包。
在本申请实施例中,所述方法还包括:
接收第三客户端发送的其他课程包的课程信息;其中,所述客户端包括第一客户端和所述第三客户端,所述第一客户端的登陆账号为所述课程包的所有者账号,所述第三客户端的登陆账号为区别于所述课程包的所述其他课程包的所有者账号;
将所述其他课程包的课程信息与所述课程包融合,得到综合课程包;
接收所述第三客户端或者所述第一客户端发送的用于编辑所述综合课程包的编辑指令;
响应于所述编辑所述综合课程包的编辑指令,对所述综合课程包的课程信息进行编辑。这样,可实现课程包中实验的可复用性,有助于提高开发效率。
在本申请实施例中,所述课程信息,包括:导入指令和实验步骤;
对应地,所述运行所述课程信息中包含的实验,包括:
执行所述导入指令,以导入运行实验所需要的数据包集合;
基于所述实验步骤依赖的所述数据包集合,执行所述实验步骤。这样,实验运行时提前导入数据包,可以减少使用者操作实验的难度,提高开发的课程包的使用便捷性。
在本申请实施例中,所述生成能够发布在课程应用平台的课程包,包括:
响应于所述实验的运行结果不满足预设实验结果,将提示信息和所述运行结果发送到所述客户端;其中,所述提示信息用于提示用户所述实验的运行结果不满足预设实验结果;
根据接收到的在所述客户端输入的调整指令,对所述课程信息进行调整,得到调整后的课程信息;
响应于所述调整后的课程信息中实验的运行结果满足预设实验结果,确定所述调整后的课程信息对应的课程包为能够发布在课程应用平台的课程包。这样,对不满足预设实验结果的实验进行调整,提升了开发的实验的正确度。
在本申请实施例中,在所述生成能够发布在课程应用平台的课程包之后,所述方法还包括:
采用预设词汇库的对所述课程包的课程信息进行审核,和/或,向管理者端发送对所述课程包进行审核的消息;
响应于所述课程包的课程信息通过审核,和/或,响应于接收到所述管理者端发送的所述课程包通过审核的通知,将所述课程包发布在所述课程应用平台。这样,对课程包的课程信息进行审核,使得发布的课程包是符合发布标准的,有利于提高课程包的质量。
在本申请实施例中,所述方法还包括:
响应于接收到开发者在所述客户端输入的登陆信息,向所述客户端发送所述课程信息的填写模板,以使所述开发者通过所述填写模板编辑所述课程信息。这样,为不同的开发者输出相同的填写模板,以使所述开发者通过所述填写模板编辑所述课程信息,提高输入的课程信息的规范性。
在本申请实施例中,所述方法还包括:
响应于接收到所述课程包的管理员端发送的权限设置指令,对所述课程包的开发者的账号的权限进行设置。这样,统一了对课程包开发者的管理
在本申请实施例中,在所述课程包未发布在所述课程应用平台的情况下,运行所述课程包中的实验对应的运行环境,与在所述课程应用平台上运行所述课程包中的实验对应的运行环境相同。这样,在所述课程包未发布在所述课程应用平台的情况下,运行所述课程包中的实验对应的运行环境,与所述课程包发布在所述课程应用平台的情况下,在所述课程应用平台上运行所述课程包中的实验对应的运行环境相同,避免了由于环境不匹配造成的繁琐的步骤。
第二方面,本申请实施例再一种课程包的开发方法,所述方法包括:
获取课程包的课程信息,并向服务器发送所述课程信息;
响应于接收到所述课程信息中包含的实验的运行指令,向所述服务器发送所述运行指令;
接收并显示所述课程包的课程信息中包含的实验的运行结果。这样,在客户端显示实验的运行结果,以使开发者可以根据运行结果在客户端对实验步骤进行编辑或修改。
在本申请实施例中,响应于所述运行结果不满足预设的实验结果,接收所述课程信息的调整指令,并向所述服务器发送所述调整指令,以使调整后的课程包能够发布在课程应用平台。这样,开发者可直接在客户端输入对课程信息调整的调整指令,可方便快捷的实现对课程信息的修改。
在本申请实施例中,响应于所述运行结果满足预设的实验结果,接收所述课程包的提交指令,向所述服务器发送所述提交指令,以使得所述课程包能够发布在课程应用平台。这样,将运行结果满足预设的实验结果,发布在课程应用平台,提升了发布的课程包的课程信息的准确度。
在本申请实施例中,所述方法还包括:
显示用于预览所述实验的排布布局和/或所述实验运行结果的预览界面。这样,使得开发者可直接在客户端显示的预览界面上预览实验的排布布局和/或实验运行结果。
在本申请实施例中,所述方法还包括:
将接收到的根据所述预览界面反馈的用于修改所述课程信息的修改指令,发送至所述服务器,以使得所述服务器根据所述修改指令,对所述课程包的课程信息进行修改。这样,开发者可以直接在预览界面对课程信息进行修改,还可以是退出预览界面,进行修改界面对课程信息进行修改。
在本申请实施例中,所述方法还包括:
向合作开发客户端发送邀请指令,以邀请所述合作开发客户端的使用者一同开发所述课程包;其中,所述合作开发客户端的登陆账号为身份信息满足预设开发条件的合作者账号。这样,多个开发者通过多个客户端同时进行课程开发,有利于提高课程开发效率,及提高课程信息的丰富性。
在本申请实施例中,所述向合作开发客户端发送邀请指令,以邀请所述合作开发客户端的使用者一同开发所述课程包之后,还包括:
响应于接收到所述合作开发客户端发送的接受邀请信息,设置所述合作开发客户端的开发权限;其中,所述合作者账号与所述课程包的所有者账号具有的权限不同。这样,对合作者的权限进行限制,提升了开发团队的纯粹性。
在本申请实施例中,所述方法还包括:
向所述服务器发送用于更新所述课程信息的更新指令,以使所述服务器根据所述更新指令,对所述课程包的课程信息进行更新,得到更新的课程包。这样,实现了课程包的课程信息的及时更新。
在本申请实施例中,所述方法还包括:
向所述服务器发送其他课程包的课程信息;其中,所述其他课程包为区别于所述课程包的其他课程包,当前客户端的登陆账号为所述其他课程包的所有者账号;
接收所述服务器返回的综合课程包的课程信息,所述综合课程包为将所述其他课程包的课程信息与所述课程包融合后得到的课程包;
向所述服务器发送用于编辑所述综合课程包的编辑指令,以使所述服务器对所述综合课程包的课程信息进行编辑。这样,实现了课程包中实验的可复用性。
第三方面,本申请实施例提供一种课程包的开发方法,所述方法包括:
获取课程包审核信息;
响应于接收到所述课程包的获取指令,获取并显示待审核的所述课程包;
响应于接收到所述课程包审核通过的指令,向服务器发送所述课程包审核通过的指令,以使得所述服务器将所述课程包发布于课程应用平台。这样,在管理者端对课程信息进行审核之后,审核通过的课程包,说明该课程包的课程信息是符合发布标准的,能够发布在课程应用平台,从而提高了发布在课程应用平台上的课程包的质量。
在本申请实施例中,所述方法还包括:
为符合预设开发条件的开发者账号开通开发所述课程包的权限,以使所述开发者完成所述课程包的开发。这样,赋予符合预设条件的开发者账号开发所述课程包的权限,能够有效的对开发团队进行管理,从而提升课程包质量。
本申请实施例提供一种课程包开发装置,所述装置包括:第一接收模块、第一运行模块、第一发送模块和第一生成模块,其中:
所述第一接收模块,用于接收客户端发送的课程包的课程信息;
所述第一运行模块,用于接收所述客户端的运行指令,运行所述课程信息中包含的实验;
所述第一发送模块,用于将所述实验的运行结果发送到所述客户端;
所述第一生成模块,用于生成能够发布在课程应用平台的课程包。
在本申请实施例中,所述装置还包括:
第二生成模块,用于生成用于预览所述实验的排布布局和/或所述实验运行结果的预览界面,并发送给所述客户端进行显示;
或者,
第三生成模块,用于响应于接收到的预览指令,生成所述实验的排布布局和/或所述实验运行结果的预览界面,并发送给所述客户端进行显示。
在本申请实施例中,所述第一接收模块包括:
第一接收子模块,用于接收第一客户端发送的用于编辑所述实验的编辑指令;其中,所述客户端包括所述第一客户端,所述第一客户端的登陆账号为身份信息满足预设条件的合作者账号,所述合作者账号与所述课程包的所有者账号具有的权限不同;解析所述编辑指令,得到所述实验的实验信息。
在本申请实施例中,所述第一生成模块,包括:
第一生成子模块,用于接收第二客户端发送的课程包提交指令,以生成所述能够发布在课程应用平台的课程包;所述客户端包括所述第二客户端,所述第二客户端的登陆账号为所述课程包的所有者账号。
在本申请实施例中,所述装置还包括:
第二接收模块,用于接收所述客户端发送的用于更新所述课程信息的更新指令;
第一更新模块,用于根据所述更新指令,对所述课程包的课程信息进行更新,得到更新的课程包;
第一发布模块,用于将所述更新的课程包保存在数据库中,和/或,将所述更新的课程包发布到所述课程应用平台。
在本申请实施例中,所述装置还包括:
第三接收模块,用于接收第三客户端发送的其他课程包的课程信息;其中,所述客户端包括第一客户端和所述第三客户端,所述第一客户端的登陆账号为所述课程包的所有者账号,所述第三客户端的登陆账号为区别于所述课程包的所述其他课程包的所有者账号;
第一融合模块,用于将所述其他课程包的课程信息与所述课程包融合,得到综合课程包;
第四接收模块,用于接收所述第三客户端或者所述第一客户端发送的用于编辑所述综合课程包的编辑指令;
第一编辑模块,用于响应于所述编辑所述综合课程包的编辑指令,对所述综合课程包的课程信息进行编辑。
在本申请实施例中,所述课程信息,包括:导入指令和实验步骤;
对应地,所述第一运行模块,包括:
第一执行子模块,用于执行所述导入指令,以导入运行实验所需要的数据包集合;
第二执行子模块,用于基于所述实验步骤依赖的所述数据包集合,执行所述实验步骤。
在本申请实施例中,所述第一生成模块,包括:
第一发送子模块,用于响应于所述实验的运行结果不满足预设实验结果,将提示信息和所述运行结果发送到所述客户端;其中,所述提示信息用于提示用户所述实验的运行结果不满足预设实验结果;
第一调整子模块,用于根据接收到的在所述客户端输入的调整指令,对所述课程信息进行调整,得到调整后的课程信息;
第一确定子模块,用于响应于所述调整后的课程信息中实验的运行结果满足预设实验结果,确定所述调整后的课程信息对应的课程包为能够发布在课程应用平台的课程包。
在本申请实施例中,所述装置还包括:
第一审核模块,用于采用预设词汇库的对所述课程包的课程信息进行审核,和/或,向管理者端发送对所述课程包进行审核的消息;
第二发布模块,用于响应于所述课程包的课程信息通过审核,和/或,响应于接收到所述管理者端发送的所述课程包通过审核的通知,将所述课程包发布在所述课程应用平台。
在本申请实施例中,所述装置还包括:
第二发送模块,用于响应于接收到开发者在所述客户端输入的登陆信息,向所述客户端发送所述课程信息的填写模板,以使所述开发者通过所述填写模板编辑所述课程信息。
在本申请实施例中,所述装置还包括:
第一设置模块,用于响应于接收到所述课程包的管理员端发送的权限设置指令,对所述课程包的开发者的账号的权限进行设置。
在本申请实施例中,在所述课程包未发布在所述课程应用平台的情况下,运行所述课程包中的实验对应的运行环境,与在所述课程应用平台上运行所述课程包中的实验对应的运行环境相同。
本申请实施例提供一种课程包的开发装置,所述装置包括:
第一获取模块,用于获取课程包的课程信息,并向服务器发送所述课程信息;
第二发送模块,用于响应于接收到所述课程信息中包含的实验的运行指令,向所述服务器发送所述运行指令;
第五接收模块,用于接收并显示所述课程包的课程信息中包含的实验的运行结果。
在本申请实施例中,所述装置还包括:
第六接收模块,用于响应于所述运行结果不满足预设的实验结果,接收所述课程信息的调整指令,并向所述服务器发送所述调整指令,以使调整后的课程包能够发布在课程应用平台。
在本申请实施例中,所述装置还包括:
第七接收模块,用于响应于所述运行结果满足预设的实验结果,接收所述课程包的提交指令,向所述服务器发送所述提交指令,以使得所述课程包能够发布在课程应用平台。
在本申请实施例中,所述装置还包括:
第一显示模块,用于显示用于预览所述实验的排布布局和/或所述实验运行结果的预览界面。
在本申请实施例中,所述装置还包括:
第三发送模块,用于将接收到的根据所述预览界面反馈的用于修改所述课程信息的修改指令,发送至所述服务器,以使得所述服务器根据所述修改指令,对所述课程包的课程信息进行修改。
在本申请实施例中,所述装置还包括:
第一邀请模块,用于向合作开发客户端发送邀请指令,以邀请所述合作开发客户端的使用者一同开发所述课程包;其中,所述合作开发客户端的登陆账号为身份信息满足预设开发条件的合作者账号。
在本申请实施例中,所述装置还包括:
第二设置模块,用于响应于接收到所述合作开发客户端发送的接受邀请信息,设置所述合作开发客户端的开发权限;其中,所述合作者账号与所述课程包的所有者账号具有的权限不同。
在本申请实施例中,所述装置还包括:
第二更新模块,用于向所述服务器发送用于更新所述课程信息的更新指令,以使所述服务器根据所述更新指令,对所述课程包的课程信息进行更新,得到更新的课程包。
在本申请实施例中,所述装置还包括:
第四发送模块,用于向所述服务器发送其他课程包的课程信息;其中,所述其他课程包为区别于所述课程包的其他课程包,当前客户端的登陆账号为所述其他课程包的所有者账号;
第八接收模块,用于接收所述服务器返回的综合课程包的课程信息,所述综合课程包为将所述其他课程包的课程信息与所述课程包融合后得到的课程包;
第五发送模块,用于向所述服务器发送用于编辑所述综合课程包的编辑指令,以使所述服务器对所述综合课程包的课程信息进行编辑。
本申请实施例提供一种课程包的开发装置,所述装置包括:
第二获取模块,用于获取课程包审核信息;
第三获取模块,用于响应于接收到所述课程包的获取指令,获取并显示待审核的所述课程包;
第六发送模块,用于响应于接收到所述课程包审核通过的指令,向服务器发送所述课程包审核通过的指令,以使得所述服务器将所述课程包发布于课程应用平台。
在本申请实施例中,所述装置还包括:
第一开设模块,用于为符合预设开发条件的开发者账号开通开发所述课程包的权限,以使所述开发者完成所述课程包的开发。
本实施例提供一种课程包的开发系统,所述开发系统至少包括:
服务器,用于实现第一方面所述的方法步骤;
客户端,用于实现第二方面所述的方法步骤。
在本申请实施例中,所述开发系统还包括:
管理者端,用于实现第三方面所述的方法步骤。
本申请实施例提供一种计算机存储介质,所述计算机存储介质上存储有计算机可执行指令,该计算机可执行指令被执行后,能够实现所述实现第一方面所述的方法步骤,或者,实现第二方面所述的方法步骤,或者,实现第三方面所述的方法步骤。
本申请实施例提供一种计算机设备,所述计算机设备包括存储器和处理器,所述存储器上存储有计算机可执行指令,所述处理器运行所述存储器上的计算机可执行指令时可实现所述实现第一方面所述的方法步骤,或者,实现第二方面所述的方法步骤,或者,实现第三方面所述的方法步骤。。
本申请实施例提供一种课程包的开发方法及装置、系统、设备和存储介质,其中,首先,接收客户端发送的课程包的课程信息;然后,接收所述客户端的运行指令,运行所述课程信息中包含的实验;将所述实验的运行结果发送到所述客户端;最后,生成能够发布在课程应用平台的课程包;如此,在客户端编写课程信息,直接使用开发平台的服务器的环境运行课程实验,从而整个流程在线上进行,可以减少本地环境与运行环境匹配等操作,提高课程开发效率。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。
图1为本申请实施例课程包的开发方法的实现流程示意图;
图2A为本申请实施例课程包的开发方法的另一实现流程示意图;
图2B为本申请实施例课程包的开发方法的又一实现流程示意图;
图2C为本申请实施例课程包的开发方法另一实现流程示意图;
图2D为本申请实施例课程包的开发方法的又一实现流程示意图;
图3A为本申请实施例课程包的开发方法的实现交互示意图;
图3B为本申请实施例课程包的组成结构示意图;
图4为本申请实施例课程包的开发装置的组成结构示意图;
图5为本申请实施例计算机设备的组成结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对发明的具体技术方案做进一步详细描述。以下实施例用于说明本申请,但不用来限制本申请的范围。
本实施例提出一种课程包的开发方法,能够在线进行实验课程包开发编写,这样在实验编写过程中可以试运行,可以看到在实验平台上的运行效果;实验编写和实验运行环境一致,可以避免本地部署环境与实验运行环境不一致的问题;从而为课程应用平台的课程开发人员提供便捷、直观、高效的课程开发工具。
本申请实施例提供一种课程包的开发方法,其执行主体可以是用于开发课程包的电子设备或设备集群,例如终端、服务器等具有计算处理能力的电子设备或其组成的设备集群,其中,终端例如是个人计算机、智能终端、车载终端等。图1为本申请实施例课程包的开发方法的实现流程示意图,如图1所示,结合如图1所示方法进行说明:
步骤S101,接收客户端发送的课程包的课程信息。
在一些可能的实现方式中,所述客户端是可进行课程包开发的课程开发平台的客户端,具体可以是浏览器或专用的应用程序等任意前端。课程信息至少包括:课程包的基本信息及包含的实验,其中,基本信息可以包括:课程名称、课程封面、课程介绍(包括教学目标、知识点等)和课程所需应用程序接口(Application Programming Interface,API)等,包含的实验包括:实验的目录和每个实验的信息。其中,每个实验的信息可以包括:实验基本信息(包括实验名称、实验交互类型、地图或图像数据、实验运行所需的依赖包、预处理代码等),实验说明,实验步骤(包括每个步骤涉及的知识点、引导性的说明、实验代码、运行引擎的部署等),以及实验小结。此外,课程信息还可以包括课程包和/或实验的版本号、标签等,以便进行分类和搜索。
可选地,开发者可以通过客户端登陆课程开发平台,课程开发平台的服务器端接收到开发者通过客户端发送的课程开发指令时,可以向客户端发送课程信息填写模板,开发者通过客户端填写课程信息后,可以发送给服务器端创建课程包。由此,通过规范的模板,课程的开发人员可以便捷的开发课程,以规范的样式录入课程信息,使得课程包更规范,课程开发过程便捷高效。
步骤S102,接收所述客户端的运行指令,运行所述课程信息中包含的实验。
在一些可能的实现方式中,所述运行指令为开发者在客户端输入的,比如,开发者在客户端输入运行指令或点击“运行”按钮,以运行课程信息中的实验。在一些具体的例子中,该实验可以是实现人工智能案例的任意一种,比如,目标识别、行人检测或运行轨迹预测等。在一个具体例子中,开发者在开发该课程包的过程中,可以进行试运行或者预览实验的运行结果,在试运行或预览时,实验的运行通过基于TCP的全双工通信协议(WebSocket)保持实验的预览界面和人工智能引擎之间的通信,人工智能引擎运行该实验内容,在运行过程中,机器学习代码调用所需的高性能深度学习框架优化并加速运算,最后,人工智能引擎的执行过程和实验的运行结果将实时反馈给客户端,或者生成对应的预览界面发送给客户端,客户端可以生成该预览界面以供开发者实时预览实验内容的排版布局和/或实验运行结果,比如,在客户端显示的预览界面中可以行人识别的实验运行结果,即行人识别结果,以及该实验包含的多个步骤等。在开发或编辑实验过程中,客户端可以实时生成预览界面,可以自动显示或者在接收到用户输入的预览指令(如点击“预览”按钮)后显示预览界面,例如显示实验内容的排版布局或者试运行实验的运行结果。从而,课程包开发工具具备便捷、直观、高效等特点,极大的提高了课程包的开发效率。
所述运行课程信息中包含的实验,在一个具体例子中,在该课程开发平台的服务器上进行试运行,这样直接使用服务器的环境,可以避免“本地部署环境与实验运行环境不一致而反复调整部署环境”的问题。该课程开发平台可以为开发者预先部署开发语言环境,例如预置Python语言环境,由于Python是一种强版本依赖的语言,环境的一致性可以避免很多不必要的重复工作,从而让开发者专心于课程内容的开发,有助于提高开发效率。
可选地,该开发平台的实验试运行环境可以设置为与课程应用平台(例如教学平台)的实验运行环境一致,从而使得实验试运行环境与实验平台的实验运行环境一致,可以解决开发环境与使用环境不一致造成的课程包使用困难的问题。同时,在预览和试运行时,该预览界面也可以设置成与课程应用平台实际显示界面相同,从而使得开发者可以通过预览界面查看实验内容在课程应用平台的实际排版布局以及查看实验在课程应用平台的实际运行结果,便于开发者根据预览界面进行调整,使得实验实际使用时可以得到满意的布局效果和实验结果。
步骤S103,将所述实验的运行结果发送到所述客户端。
在一些可能的实现方式中,将实验的运行结果发送到客户端后,显示在客户端的显示界面上,开发者通过判断对运行结果进行判断,从而对课程信息进行调整,以使运行结果符合该实验的设定目的。当然,将所述实验的运行结果发送到所述客户端之后,有可能一次运行之后就直接生成课程包,而不需要进行调整,因此开发者也可以在查看实验运行结果符合实验设定的目的的情况下,直接执行如下步骤S104。
步骤S104,生成能够发布在课程应用平台的课程包。
在一些可能的实现方式中,课程应用平台是为使用者提供课程包的平台,具体可以是教学平台或课程包商店等。课程开发平台可以是与课程应用平台相互独立的不同平台,也可以是在课程应用平台上的一个开发工具。确定实验的运行结果符合实验预设目的之后,可以自动或根据客户端输入的课程包提交指令生成课程包,作为能够发布在课程应用平台的课程包,然后,可以将所述课程包保存在数据库中,以使开发者可以随时对课程包中的课程信息进行更新,形成新版本的课程包。在所述课程包未发布在所述课程应用平台的情况下,运行所述课程包中的实验对应的运行环境,与所述课程包发布在所述课程应用平台的情况下,在所述课程应用平台上运行所述课程包中的实验对应的运行环境相同,例如可以将课程开发平台和课程应用平台二者设置为使用相同的服务器等后端运行设备。这样,避免了由于环境不匹配造成的繁琐的步骤。
在本申请实施例中,在客户端编写实验,直接使用服务器的环境试运行实验,可以直接在客户端填写课程信息、编排课程内容、规划包含实验、完善实验内容、上传所需文件,可以在开发平台的服务器端对编写的实验进行试运行以模拟真实使用场景,从而整个课程包的开发过程在线上进行,可以避免环境不匹配等问题,极大提高了课程包的开发效率。
在其他实施例中,为了提高不同的开发人员输入的课程信息的规范性,在步骤S101,接收客户端发送的课程包的课程信息之前,所述方法还包括:
响应于接收到开发者在所述客户端输入的登陆信息,向所述客户端发送所述课程信息的填写模板,以使所述开发者通过所述填写模板编辑所述课程信息。这样,为不同的开发者输出相同的填写模板,以使所述开发者通过所述填写模板编辑所述课程信息,提高输入的课程信息的规范性。
本申请实施例提供一种课程包的开发方法,其执行主体可以是开发课程包的服务器,图2A为本申请实施例课程包的开发方法的另一实现流程示意图,如图2A所示的方法中,课程包信息包括:导入指令和实验步骤,结合如图2A所示方法进行说明:
步骤S201,接收客户端发送的导入指令和实验步骤。
在一些可能的实现方式中,整个课程开发平台可以分为上、中、下三层:上层为客户端应用层,中层为核心服务层,下层为基础资源层;其中,客户端应用层负责人机交互,为课程包开发者提供了基于浏览器的使用体验。核心服务层位于客户端应用层和基础资源层之间,用于实现课程开发和管理相关的业务逻辑,包括课程开发、实验开发、用户管理、权限管理等;核心服务层还包含数据库、文件存储和消息队列等中间件。基础资源层包含中央处理器(Central Processing Unit,CPU)集群、图形处理器(Graphics Processing Unit,GPU)集群、存储集群和高速网络等物理资源,提供对客户端应用层和核心服务层正常运行的基础支撑,GPU集群保障了人工智能(Artificial Intelligence,AI)引擎的强大运算能力。这样,开发者在客户端输入课程信息;客户端将课程信息传递给核心服务层,核心服务层运行开发者在客户端输入的运行指令,调用基础资源层的资源,运行课程信息中的实验。
步骤S202,执行所述导入指令,以导入运行实验所需要的数据包集合。
在一些可能的实现方式中,所述导入指令可以是用于在运行实验时,把需要的包调用过来的预输入代码。
在执行所述导入指令之前,开发者可以通过客户端在课程包信息中编写课程或实验所需的依赖包,即课程包中包含的实验运行所需要使用的数据包,其中可以为每个实验编写对应的依赖包,也可以为整个课程包的所有实验编写统一的依赖包。此类数据包可以直接采用数据库中已经存在的一些基础模块,或者通过将数据库中已经存在的一些基础模块进行打包,得到自定义的数据包,又或者采用开发者编写的代码。此类依赖包可以直接保存在运行设备(如AI引擎)中,然后,在实验运行时,通过上述导入指令,可以导入到课程包中进行使用。本申请实施例中通过“预输入代码”调用的模块包括这些自定义的数据包,也包括其他通用的数据包。这样,即使用户基础知识等比较少,开发出的课程包在课程应用平台上使用时也可以把知识降维,以便于用户理解。
在一些可能的实现方式中,开发者在课程开发平台提供的在线集成开发环境(IntegratedDevelopment Environment,IDE)中编写课程包所需的依赖包,从而可以为课程包使用者提供封装的深度学习的应用程序编程接口(Application ProgrammingInterface,API),使用者直接使用API就可以调用封装的深度学习网络,操作方便快捷。依赖包可以理解为在运行实验过程中会调用的数据包,依赖包可以包括上面预输入代码的数据包的集合中的至少部分数据包,比如,预输入代码除了导入依赖包,还可以导入其他通用的模块,从而在运行实验的过程中需要调用的时候直接调用,节省时间,上传比较方便。
步骤S203,基于所述实验步骤依赖的所述数据包集合,执行所述实验步骤。
在一些可能的实现方式中,所述步骤S203可以理解为,运行所述实验的过程中,实验步骤中可以使用API接口调用实验步骤依赖的数据包,这样得以执行每一步骤。在实验试运行过程中,可以生成每一步的运行结果,或在试运行之后,生成整个实验的运行结果。
上述步骤S202和步骤S203提供了一种实现“运行所述课程信息中包含的实验”的方式,在该方式中,开发人员在客户端输入预输入代码(即导入指令),将运行实验所需要的数据包都导入到当前课程包中,然后运行实验的每一步骤,这样直接可以从为课程包分配的存储资源中调用数据包,不需要从数据库中进行提取,节省数据提取时间,提高实验运行效率。
步骤S204,响应于所述实验的运行结果不满足预设实验结果,将提示信息和所述运行结果发送到所述客户端。
在一些可能的实现方式中,所述提示信息用于提示用户所述实验的运行结果不满足预设实验结果。在本实施例中,核心服务层自动判断实验的运行结果是否满足预设实验结果,如果不满足,将提示信息输出在客户端。所述预设实验结果由该实验的类型确定,即预设实验结果为对应实验的理想运行结果,比如,实验是行人检测,那么预设的实验结果为准确检测出图像中包含的行人。假设图像中实际包含3个行人,如果实验的运行结果为两个,那么确定该运行结果不满足预设实验结果。
在其他实施例中,响应于实验的运行结果满足预设实验结果,确定该实验对应的课程包能够发布在课程应用平台。
比如,实验是行人检测,假设图像中实际包含3个行人,如果实验的运行结果为3个,那么说明该运行结果是正确的,即满足预设实验结果,说明该实验对应的课程包是没有问题的,可发布在课程应用平台,以供用户学习。
在其他实施例中,服务器将运行结果反馈至客户端后,由开发者确定该运行结果是否满足预设实验结果,开发者可以通过客户端直接输入调整指令,并向服务器发送。可选地,如图2A所示,所述方法还包括:
步骤S205,根据接收到的在所述客户端输入的调整指令,对所述课程信息进行调整,得到调整后的课程信息。
在一些可能的实现方式中,开发员看到客户端上显示的提示信息之后,确定要对课程信息进行调整,并输入调整指令,比如,点击调整按钮等、输入用于调整的代码或者直接更改实验的步骤中的参数等。服务器端接收到客户端输入的调整指令后,解析该调整指令,得到课程信息的调整内容,然后对课程信息中的相应内容进行调整,就可以得到调整后的课程信息。
步骤S206,响应于所述调整后的课程信息中实验的运行结果满足预设实验结果,确定所述调整后的课程信息对应的课程包为能够发布在课程应用平台的课程包。
在一些可能的实现方式中,课程信息调整后,可以重新试运行调整后的课程信息中的实验,如果实验的运行结果满足预设实验结果,将该课程包作为能够发布在课程应用平台的课程包;如果实验的运行结果不满足预设实验结果,可以继续对课程信息进行调整,比如,继续调整实验的步骤或者实验步骤中的某一个参数等。可选地,在调整过程中,也可以将调整后的实验的运行结果反馈至客户端,由开发者确认运行结果是否满足预设实验结果。
上述步骤S204至步骤S206给出了一种实现“将所述实验的运行结果发送到所述客户端,以接收所述客户端基于所述运行结果对所述课程信息的调整”的方式,在该方式中,开发者基于客户端显示的运行结果,对课程信息进行调整,从而使得调整后的课程信息中的实验的运行结果满足预设实验结果,得到能够发布在课程应用平台的课程包;这样,开发者可直接基于运行结果在客户端对课程信息进行直接修改,使得课程包的开发过程更加高效。
可选地,在课程包发布之前,可以自动或手动对课程包进行审核。具体方式如下:
步骤S207,采用预设词汇库的对所述课程包的课程信息进行审核,和/或,向管理者端发送对所述课程包进行审核的消息。
在一些可能的实现方式中,当确定课程包中实验的运行结果满足预设实验结果之后,可以自动对课程包的课程信息中的文本进行审核,比如,预设词汇库为包含反动信息或者不利于青少年成长信息的词汇,判断课程包的课程信息中是否包含反动信息或者不利于青少年成长信息的词汇。
在另一些可能的实现方式中,当确定课程包中实验的运行结果满足预设实验结果之后,可以向管理者端发送对所述课程包进行审核的消息,管理者从当前时间点获取课程包的副本(如build副本),管理员查看该课程包内容后决定是否通过审核。
步骤S208,响应于所述课程包的课程信息通过审核,和/或,响应于接收到所述管理者端发送的所述课程包通过审核的通知,将所述课程包发布在所述课程应用平台。
在一些可能的实现方式中,服务器可基于课程包的课程信息对该课程包进行审核,还可以是人工对该课程包进行审核。如果课程信息中不包含预设词汇库中词汇,将该课程包发布在课程应用平台。例如生成可以发布的shot压缩副本,在课程包商店上架或者直接打包发布在教学平台上以供使用。其中,每次发送给管理者端进行审核的课程包具有对应的内部版本号,通过审核正式发布在课程应用平台上的课程包具有一个正式或对外的版本号,可以便于对开发过程中课程包的版本进行区分,便于查看各版本区别,有利于提高审核效率。
可选地,响应于接收到所述管理者端发送的所述课程包未通过审核的通知,输出用于提示开发者所述课程包未通过审核的提示信息,以使开发者对所述课程包的课程信息进行修改。这样,对该课程包进行进一步的审核,以确定该能够发布在课程应用平台的课程包中不包含反动信息或者不利于青少年成长信息的词汇或其他不符合发布标准的信息(比如,有暴力倾向的信息或对于青少年来说太晦涩难懂的信息)等,进而提高了课程包的课程信息的质量。
在本申请实施例中,开发人员通过在客户端判断实验的运行结果是否满足预设实验结果,对不满足预设实验结果的实验步骤或者实验参数等直接在客户端输入要调整的内容,以使实验的运行结果满足预设实验结果,从而得到能够发布在课程应用平台的课程包,并对课程包中的敏感词汇等不适合发布的情况进行审核,以提高课程包的质量。
本申请实施例提供一种课程包的开发方法,其执行主体可以是开发课程包的服务器,图2B为本申请实施例课程包的开发方法的又一实现流程示意图,如图2B所示,结合如图2B所示方法进行说明:
步骤S210,接收客户端发送的课程包的课程信息。
步骤S211,接收所述客户端的运行指令,运行所述课程信息中包含的实验。
步骤S212,将所述实验的运行结果发送到所述客户端,以接收所述客户端基于所述运行结果对所述课程信息的调整。
步骤S213,生成能够发布在课程应用平台的课程包。
在一些可能的实现方式中,课程包被保存在数据库中,以便于合作者或开发人员随时对课程包的课程信息进行修改。
步骤S214,获取登陆课程开发平台的合作者的历史信息。
在一些可能的实现方式中,创建该课程包的开发者是课程包的所有者,课程包所有者可以邀请合作者合作开发课程包。其中,所述合作者与所述课程包的所有者在所述课程开发平台中具有的权限不同。比如,所有者的权限包括:对课程信息进行修改和查看、对课程信息进行审核、决定是否发布课程包、邀请合作者合作开发课程包等;合作者的权限包括:登陆和退出该课程开发平台和对课程信息中的至少部分信息进行编辑等。可选地,课程包还可以设置有管理者,管理者可以是课程开发平台的管理者,也可以是课程包的所有者;课程包的管理者的权限包括:对课程包的所有开发者的账号和权限进行管理等。所述步骤S214在一个具体例子中可以是,获取所述合作者在所述课程应用平台上进行操作的次数和/或所述合作者练习所述课程应用平台中的实验的正确率。
步骤S215,响应于所述历史信息满足预设条件,将所述合作者的身份信息设置为合格信息,以使所述合作者具有对所述课程信息进行更新的权限。
在一些可能的实现方式中,如果所述历史信息为合作者在所述课程应用平台上进行操作的次数和/或合作者练习所述课程应用平台中的实验的正确率,当次数大于预设次数阈值和/或所述正确率大于等于正确率阈值时,确定历史信息满足预设条件;这样,提高了合作者是频繁登陆且使用该课程应用平台的用户,且该合作者对于课程包中的实验是非常熟悉的,所以该合作者能够针对该课程包或实验提出改进性的意见。
可选地,课程包发布后,还可以对课程包进行更新,得到新版本的可以发布的课程包。其中,对课程包进行更新操作的过程具体如下:
步骤S216,接收所述客户端发送的用于更新所述课程信息的更新指令。
在一些可能的实现方式中,当开发者具有针对课程信息中的实验更好的改进方案时,可以在客户端界面输入更改实验的代码,该代码形成更新指令向服务器端发送。其中,开发者可以包括课程包所有者,还可以包括合作者,可以由课程包所有者邀请合作者进行课程信息更新,由课程包所有者确定合作者的课程编辑权限。
步骤S217,根据所述更新指令,对所述课程包的课程信息进行更新,得到更新的课程包。
在一些可能的实现方式中,课程开发平台的核心服务层接收到客户端传递的更新指令,解析更新指令,得到需要更新的课程信息及更新内容后,对需要更新的课程信息进行更新。
对更新后的课程包中的实验,重新进行运行,并将运行的实验结果,显示在预览界面中,以使开发者或者合作者能够在预览界面中判断实验结果是否正确,并且在实验结果不正确的情况下,可直接在预览界面中对实验进行修改,也可以推出预览模式后再进行修改。
对得到的更新的课程包仍然需要进行重新审核,比如,审核更新的课程包中的课程信息的词汇是否包含在预设的词汇库中,以确定该更新的课程包的课程信息是否积极向上等,以生成新的可发布的课程包。具体审核过程可以参考上述课程包的审核过程,此处不再重复。
步骤S218,将所述更新的课程包保存在数据库中,和/或,将所述更新的课程包发布到所述课程应用平台。
在一些可能的实现方式中,可以将更新的课程包仍然保存在数据库,这样在数据库中原始的课程包和更新的数据包都存在,开发人员可以查看最新版本的课程包,也可以查看旧版本的课程包。
在另一些可能的实现方式中,可以将更新的课程包发布到课程应用平台上,以实现对当前课程包的更新换代。
在本申请实施例中,课程包的开发人员(如课程包所有者)可以邀请合作开发者即合作者,并对不同合作者或者开发者设置不同的权限,以对课程包进行高效的编辑,该合作开发的过程可以通过以下步骤实现:
首先,接收第一客户端发送的用于编辑所述实验的编辑指令。
在一些课程的实现方式中,所述编辑指令可以是用于指示对实验内容(如步骤)进行修改的指令、增加或者减少实验步骤的指令或对实验进行重新开发的指令等。所述客户端包括所述第一客户端,所述第一客户端的登陆账号为身份信息满足预设条件的合作者账号,所述合作者账号与所述课程包的所有者账号具有的权限不同。所述身份信息满足预设条件的合作者,可以理解为是被授予修改课程信息权限的合作者。所述合作者与所述课程包的所有者在所述课程开发平台中具有的权限不同,比如,开发者具有进行课程提交或发布等操作,而合作者是在接收到开发者的邀请之后,能够对课程信息进行编辑,该合作开发的过程,是在课程包的开发过程中或者对课程包的课程信息进行更新的过程中实现的。
其次,解析所述编辑指令,得到所述实验的实验信息。
再次,接收所述第一客户端的运行指令,运行所述课程信息中包含的实验,并将所述实验的运行结果发送到所述第一客户端和/或第二客户端;
最后,接收第二客户端发送的课程包提交指令,以生成所述能够发布在课程应用平台的课程包。其中,第二客户端的登陆账号为所述课程包的所有者账号。
在一些可能的实现方式中,服务器接收到合作开发者通过第一客户端发送的编辑指令后,对该编辑指令进行解析,得到编辑的实验信息或者需要修改的实验内容;然后,在接收到运行指令之后,对编辑后的实验进行运行,还可以将运行结果发送给第一客户端和/或第二客户端,以便判断实验的运行结果是否满足预设条件,在课程包开发完成,例如运行结果满足预设条件后,课程包所有者可以通过其登陆的第二客户端向服务器发送课程包提交指令,服务器响应于接收到的课程包提交指令,生成能够发布在课程应用平台的课程包,最后,将该课程包发布在课程应用平台,以供用户进行学习。
在一些可能的实现方式中,将编辑后的实验的运行结果发送给客户端如第一客户端之后,响应于运行结果满足预设的实验结果,那么确定该实验对应的课程包是能够发布在课程应用平台的,第一客户端可将运行结果满足预设的实验结果的信息发送给第二客户端,或者第二客户端通过其他方式得知运行结果满足预设的实验结果之后,第二客户端可向服务器发送课程包提交指令,以进行课程包发布。通过这样的方式,实现了开发者和合作者对课程包的合作开发,从而能够更加全面的丰富课程包的课程信息,提高开发效率。
在本申请实施例中,所述课程包的管理员具有管理所述所有者和所述合作者的账号的权限,并且能够分配所述所有者和所述合作者对所述课程包的权限。这样,由管理员统一管理所有者和合作者的账号,并统一分配所有者和合作者对课程包的权限,提高了课程包开发的有序性。
在其他实施例中,为了实现课程包中实验的可复用性,所述方法还包括以下步骤:
第一步,接收所述第三客户端发送的其他课程包的课程信息。
在一些可能的实现方式中,所述客户端包括第一客户端和所述第三客户端,所述第一客户端的登陆账号为所述课程包的所有者账号,所述第三客户端的登陆账号为区别于所述课程包的所述其他课程包的所有者账号;在一个具体例子中,该第三客户端对应的其他开发者可以认为是当前课程包的开发者(如课程包所有者)邀请该其他开发者加入到该当前课程包的开发团队中,也可以是该其他开发者自行,加入该当前课程包的开发团队中。
第二步,将所述其他课程包的课程信息与所述课程包融合,得到综合课程包。
在一些可能的实现方式中,将其他课程包的课程信息(如包含的实验)导入当前的课程包,作为当前课程包的部分课程信息,即得到综合课程包,丰富了当前课程包的课程信息,且可以使得其他课程包的课程信息可以被复用到当前课程包中,提高了课程信息的利用率,有利于提高课程包开发的效率。
第三步,接收所述第三客户端或者所述第一客户端发送的用于编辑所述综合课程包的编辑指令。
在一些可能的实现方式中,在对当前课程包的开发过程中,受邀加入开发团队的其他开发者和本团队的开发者,均可以对当前课程包进行编辑,包括对导入的其他课程包的课程信息进行修改,以及对当前课程包的其他课程信息进行编辑开发等。
第四步,响应于所述编辑所述综合课程包的编辑指令,对所述综合课程包的课程信息进行编辑。
在一些可能的实现方式中,服务器响应于编辑所述综合课程包的编辑指令,可以根据该编辑指令对当前课程应用平台的综合课程包的对应课程信息(如实验信息)进行编辑。其中,可以对导入并融合到综合课程包中的课程信息进行编辑,但保持所述其他课程包中的课程信息不变,从而实现课程信息复用同时不影响原始课程包。
在对当前课程包的开发过程中,其他开发者或者本团队的开发者对综合课程包的修改,对综合课程包有效,但是该修改并不同步到在对应的课程应用平台的该其他课程包中。这样,实现了实验的复用,从而可以在定制课程的时候直接组合一些课程应用平台上已有的课程包中的实验。
本申请实施例提供一种课程包的开发方法,其执行主体可以是开发课程包的客户端,图2C为本申请实施例课程包的开发方法另一实现流程示意图,如图2C所示,结合如图2C所示方法进行说明:
步骤S231,获取课程包的课程信息,并向服务器发送所述课程信息。
在一些可能的实现方式中,开发者在客户端编辑课程信息,编辑完成后,客户端将课程信息发送给服务器。
步骤S232,响应于接收到所述课程信息中包含的实验的运行指令,向所述服务器发送所述运行指令。
在一些可能的实现方式中,开发者可以通过客户端向服务器发送运行指令,之后,服务器运行该实验,并向客户端反馈运行结果。
步骤S233,接收并显示所述课程包的课程信息中包含的实验的运行结果。
在一些可能的实现方式中,客户端接收到服务器反馈的实验的运行结果,可显示在预览界面上,以供开发者判断是否正确,还可以输出服务器反馈的用于提示开发者运行结果不满足预设的实验结果的提示信息,以使开发者对实验进行调整。
在一些其他的实现方式中,响应于对所述运行结果不满足预设的实验结果,接收所述课程信息的调整指令,并向所述服务器发送所述调整指令,以使调整后的课程包能够发布在课程应用平台;响应于所述运行结果满足预设的实验结果,接收所述课程包的提交指令,向所述服务器发送所述提交指令,以使得所述课程包能够发布在课程应用平台。
在一些可能的实现方式中,响应于对所述运行结果不满足预设的实验结果,开发者在客户端可直接对课程信息中的实验进行修改,以使修改后的课程信息中的实验的运行结果满足预设的实验结果,这样,开发者直接在客户端对课程信息进行修改,节省了开发过程中繁琐的步骤,提升课程包开发的便捷性。
在其他实施例中,显示用于预览所述实验的排布布局和/或所述实验运行结果的预览界面,以使开发者可以直接在客户端显示的预览界面对实验的排布布局和/或所述实验运行结果,从而可以快速且便捷的发现实验中需要修改的地方。
在其他实施例中,对课程信息进行修改包括多种方式:
方式一:在客户端的预览界面上,可直接预览实验运行结果和修改实验内容,过程如下:
首先,客户端显示用于预览述实验的排布布局和/或所述实验运行结果的预览界面;然后,开发者或者协作开发者在预览界面中可直接判断实验的运行结果是否满足预设条件,如果不满足,在所述预览界面中输入用于修改所述课程信息的修改指令,以使服务器根据所述修改指令,对所述课程包的课程信息进行修改。从而,实现了更加方便快捷的对实验信息进行修改,方便了课程包的开发。
方式二:将接收到的根据所述预览界面反馈的用于修改所述课程信息的修改指令,发送至所述服务器,以使得所述服务器根据所述修改指令,对所述课程包的课程信息进行修改。
客户端接收并显示该预览界面后,开发者可以根据该预览界面,判断是否需要对课程信息(如实验信息)进行修改,若需要修改,开发者可以退出该预览界面,在编辑界面输入修改指令,或者在与预览界面同时存在的编辑串口中输入编辑指令等方式,向服务器反馈用于修改所述课程信息的修改指令,这样服务器可以在接收到修改指令之后,对课程信息进行修改。
在其他实施例中,对课程包进行开发的过程中,为了提高课程信息的丰富性,可以为多个开发者通过多个客户端同时进行课程开发,所述方法还包括以下步骤:
第一步,向合作开发客户端发送邀请指令,以邀请所述合作开发客户端的使用者一同开发所述课程包。
在一些可能的实现方式中,所述合作开发客户端的登陆账号为身份信息满足预设开发条件的合作者账号。其中,该预设开发条件是预先定义的可以进行课程包开发的条件,比如,对开发者的学历或专业进行限定,如果合作者账号的学历或专业等身份信息符合待开发的课程包,则确定该合作者账号符合预设开发条件;或者是,预先确定一个开发者库,合作者账号在该开发者库中,则该合作者账号确定为符合预设开发条件等。
第二步,响应于接收到所述合作开发客户端发送的接受邀请信息,设置所述合作开发客户端的开发权限。
在一些可能的实现方式中,合作者账号与所述课程包的所有者账号具有的权限不同。
第三步,分别根据输入的第一编辑指令和输入的第二编辑指令,编辑所述课程包的课程信息。
在一些可能的实现方式中,所述第一编辑指令为第一客户端输入的对课程信息进行编辑的指令(如对实验步骤进行编辑的指令),所述第一客户端的登陆账号为身份信息满足预设开发条件的合作者账号,所述合作者账号与所述课程包的所有者账号具有的权限不同;所述第二编辑指令为第二客户端输入的对课程信息进行编辑的指令(如对实验运行的依赖包进行编辑的指令),所述第二客户端的登陆账号为所述课程包的所有者账号。
第四步,将编辑完成的课程包的课程信息发送给服务器。
在一些可能的实现方式中,开发者编辑完成课程包后,可以将编辑完成的课程包的课程信息发送给服务器,服务器接收到编辑完成的课程包之后,可以运行课程包,并将所述实验的运行结果发送到所述客户端;最后,生成能够发布在课程应用平台的课程包。
第五步,响应于接收到所述课程信息中包含的实验的运行指令,向所述服务器发送所述运行指令,响应于运行结果不满足预设的实验结果,接收所述课程信息的调整指令,并向所述服务器发送所述调整指令,以使调整后的课程包能够发布在课程应用平台。
在一些可能的实现方式中,响应于所述运行结果满足预设的实验结果,开发者会通过客户端输入课程包提交指令,客户端接收所述课程包的提交指令,向所述服务器发送所述提交指令,以使得所述课程包能够发布在课程应用平台。
在其他实施例中,为了更新课程包的版本,所述方法包括以下过程:
向服务器发送用于更新所述课程信息的更新指令,以使所述服务器根据所述更新指令,对所述课程包的课程信息进行更新,得到更新的课程包,并将所述更新的课程包发布到课程应用平台。
为了实现课程包中实验的可复用性,所述方法还包括以下步骤:
第一步,第三客户端向服务器发送其他课程包的课程信息。
在一些可能的实现方式中,所述其他课程包为区别于所述课程包的其他课程包,当前客户端的登陆账号为所述其他课程包的所有者账号。所述第一客户端的登陆账号为所述课程包的所有者账号,所述第三客户端的登陆账号为区别于所述课程包的所述其他课程包的所有者账号。
第二步,接收所述服务器返回的综合课程包的课程信息,所述综合课程包为将所述其他课程包的课程信息与所述课程包融合后得到的课程包。
第三步,所述第三客户端或者所述第一客户端向所述服务器发送用于编辑所述综合课程包的编辑指令,以使所述服务器对所述综合课程包的课程信息进行修改。
上述实施例中客户端与服务器的交互过程可参考前述实施例的内容,此处不再重复。
本申请实施例提供一种课程包的开发方法,其执行主体可以是开发课程包的管理者端,图2D为本申请实施例课程包的开发方法的又一实现流程示意图,如图2D所示,结合如图2D所示方法进行说明:
步骤S241,获取课程包审核信息。
在一些可能的实现方式中,所述审核信息可以理解为是用于对课程包的内容的合法度进行审核的发布标准(如词汇标准、难度标准等),以确定该课程包是否适合进行发布,例如是否有利于该课程包的用户的身心健康。该审核信息可以预先存储在管理者端内部,或者服务器端等外部设备,在需要进行课程包审核时直接从内部存储器或者从外部设备获取。
管理者端为符合预设开发条件的开发者的账号开通开发所述课程包的权限,以使所述开发者完成所述课程包的开发。管理者端可管理不同开发者的账号,以及该开发者对课程包的权限。其中,该预设开发条件可以是由管理者自行定义的,比如,对开发者的学历或专业进行限定,如果学历或专业符合待开发的课程包,则确定该开发者符合预设开发条件;或者是,判断用户练习实验的正确率,将正确率大于预设阈值的,确定为符合预设开发条件的开发者等。在管理者端,对于完成开发的课程包需要进行审核,以确定课程包的课程信息是否符合发布标准,例如是否积极向上等。
步骤S242,响应于接收到所述课程包的获取指令,获取并显示待审核的所述课程包。
步骤S243,响应于接收到所述课程包审核通过的指令,向服务器发送所述课程包审核通过的指令,以使得所述服务器将所述课程包发布于课程应用平台。
在一些可能的实现方式中,管理者端接收到课程包审核信息后,从数据库中可以获取客户端提交的课程包副本(如bulid副本),并显示所述课程包,其中,课程包审核标准(发布标准)可以预先设置在管理者端,管理者端可以自动对课程信息进行审核。当然,也可以由管理者人工对课程包进行审核,并在管理者端输入审核结果。在管理者端对课程信息进行审核之后,审核通过的课程包,说明该课程包的课程信息是符合发布标准的,能够发布在课程应用平台,从而提高了发布在课程应用平台上的课程包的质量。
可选地,响应于接收到所述课程包审核不通过的指令,向服务器发送所述课程包审核不通过的消息,以使得所述服务器将所述课程包审核不通过的消息反馈至开发者登陆的客户端。开发者可以通过客户端对课程包进行修改后再审核。其中,管理者端在发送审核不通过指令时,还可以发送审核详细信息,以便开发者查看后针对性进行修改,提高开发效率。
本申请实施例提供一种课程开发平台,课程包开发平台包含两个主要子系统:课程包开发工具和课程包管理工具。
整个课程开发平台可以分为上、中、下三层:前端应用层、核心服务层和基础资源层。其中:
前端应用层,用于人机交互,为课程包合作者提供了基于浏览器的使用体验。
在一些可能的实现方式中,前端应用可以采用HTML、JavaScript和CSS实现,主体样式由专业美工设计和打磨。
核心服务层,位于前端应用层和基础资源层之间,用于实现课程包开发和管理等。
在一些可能的实现方式中,课程包开发包括:课程开发和实验开发;课程包管理,包括:用户管理和权限管理等;核心服务层还包含数据库、文件存储和消息队列等中间件。
基础资源层,包含CPU集群、GPU集群、存储集群和高速网络等物理资源,用于提供对前端应用和核心服务正常运行的基础支撑,GPU集群保障了AI引擎的强大运算能力。
图3A为本申请实施例课程包的开发方法的实现交互示意图,如图3A所示,结合如图3A所示方法进行说明:
步骤S301,客户端向服务器发送用于编辑课程包的编辑指令,以实现对课程包的编辑。
在一些可能的实现方式中,开发者在客户端编辑课程包可在本地完成,也可以在浏览界面上进行编辑。
步骤S302,在在线集成开发环境中填写课程信息及其包含实验的信息,并在服务器上试运行所述实验。
在一些可能的实现方式中,开发者在在线IDE中填写课程信息和实验信息,从而在实验编写过程中可以预览,以查看在实验平台上的排版、图片摆放位置等。课程信息,包括:目录,名称,标签,教学目标,特点,学生应该学会的知识点等;实验的信息,包括:实验步骤,实验小结,导语,教学目标,涵盖哪些知识点等;在步骤S302中,还可以通过线下的团队,在平台上通过账号邮箱等,赋予其他人编写课程包的权限。在实施例中,为课程开发人员提供协作开发工具。可以在课程包开发工具中邀请其他合作者,并对不同合作者设置不同的权限,以对课程包进行高效的编辑。
步骤S303,响应于完成对课程包的课程信息的编写,服务器确定完成课程包的编写,得到编辑完成的课程包。
在一些可能的实现方式中,该开发完成的课程包是可以实时编辑的。在步骤S303中,为课程开发者提供文档管理与版本控制工具,以使课程开发者可以对课程包文件进行管理,比如,对课程包中的图片或音乐等进行管理,还可以对课程包的版本进行控制,比如,即可以将课程包更新为最新版本,还可以查看课程包更新之前的版本。
步骤S304,服务器对编辑完成的课程包进行试运行,试运行成功之后,将待审核的课程包发送给管理者端。
在一些可能的实现方式中,将开发完成的课程包在在线IDE中进行试运行,这样直接可以看到在实验平台上的运行效果;而且实验编写与试运行直接使用服务器上的环境,与实验平台的实验运行环境一致,可以避免“本地部署环境与实验运行环境不一致而反复调整部署环境”的问题;由于Python是一种强版本依赖的语言,环境的一致性可以避免很多不必要的重复工作,让开发者专心于课程内容的开发。
步骤S305,管理者端获取课程包审核信息,对待提交的课程包进行审核,以确定该待提交的课程包是否能够发布在所述课程应用平台。
在一些可能的实现方式中,将预设的词汇库作为管理员提供课程包审核工具,管理员可以查看课程包及其所包含实验的内容、审核是否合规、决定是否发布,以管理开发工具和教育平台的秩序。所述预设的词汇库中是包含敏感词汇的词汇库,比如,包含反动信息或者对青少年不利的信息的词汇。在本实施例中,课程包的开发者可以邀请合作者协同编辑。编辑完成的课程包由开发者提交审核。提交审核时,从提交时间点获取课程包的build副本,管理员查看该课程包内容后决定是否通过审核。通过审核的课程包会生成shot压缩副本,在课程包商店上架或者直接打包在教学平台上使用。当开发者对课程包内容进行更新时,为课程包内容提供版本管理,对每次提交的课程包内容进行记录。
在本申请实施例中,通过在在线环境中编写和试运行实验信息和课程信息,可以在课程应用平台中填写课程信息、编排课程内容、规划包含实验、完善实验内容、上传所需文件,可以在平台上对编写的实验进行试运行以模拟真实使用场景。为开发者提供协作开发工具;还可以在课程包开发工具中邀请合作开发者,并对不同开发者设置不同的权限,以对课程包进行高效的编辑;从而为课程应用平台的开发者供便捷、直观、高效的课程开发工具。
在一个具体例子中,参见图3B所示,图3B为本申请实施例课程包的组成结构示意图,结合图3B进行以下说明:
课程包31包括:实验包32、实验包33、实验包34和课程信息35。
在一些可能的实现方式中,实验包32、实验包33和实验包34,可以理解为是不同的实验课程,课程信息35包括:课程标识(Identity document,ID)(不同的课程包ID不同)、课程名称、内部版本号、外部版本号、版本说明、作者、发布时间、标签Tags、课程说明、课程封面或实验列表(含每个实验索引信息,如章节)等。
实验包32、实验包33和实验包34存储内容的格式相同,这里,以实验包34为例进行说明:
实验包34包括:实验基本信息341、实验说明342、实验步骤页343和实验小结页344。
在一些可能的实现方式中,实验基本信息341包括:实验名称、标签Tags、实验简介、实验难度系数、实验图标、实验图像界面版本、依赖包、积木文件和预输入代码等。实验步骤页343包括:步骤1、步骤2和步骤3,其中,每一步骤中包含了该步骤的步骤标题345、步骤说明346或GPU/CPU引擎347。
基于上述课程包结构,在课程包开发过程中,实验内容可以由一线教师或其他教研团队,根据中小学生生理和心理特点,按照学生学习规律和理解能力精心设计而成,并通过一个客户端向服务器发送设计的课程内容。教研团队可以设计一系列的实验,从易到难,由浅入深地向学生展示想要传递的知识点。
对于学生需要完成的实验代码的底层支持与实现,可以由专业编程人员同步开发完成,例如一个或多个具有较强编程能力的开发者通过一个或多个客户端发送实验代码的底层支持内容。其中,实验代码除了学生编写部分,还包含学生代码API文档,运行依赖包,实验运行runtime信息(包括后台执行引擎,前端实验UI类型,积木文件等)。在实验包中,除了实验UI版本,依赖包,积木文件,预处理代码和每步骤执行引擎由编程开发人员完成外,其他部分都属于实验内容范畴,由专业教师、教研团队或第三方开发团队设计完成。
这样,可以保证课程设计与开发的合理分工,课程内容部分由专业教育人士根据中小学生学习规律和特点来专门开发,对于编程部分的开发,交给专业编程人士完成,有利于提高课程包开发的效率和指令。
本申请实施例提供一种课程包的开发装置,图4为本申请实施例课程包的开发装置的组成结构示意图,如图4所示,开发装置400包括:第一接收模块401、第一运行模块402、第一发送模块403和第一生成模块404,其中:所述第一接收模块401,用于接收客户端发送的课程包的课程信息;所述第一运行模块402,用于接收所述客户端的运行指令,运行所述课程信息中包含的实验;所述第一发送模块403,用于将所述实验的运行结果发送到所述客户端;所述第一生成模块404,用于生成能够发布在课程应用平台的课程包。
在本申请实施例中,所述装置还包括:第二生成模块,用于生成用于预览所述实验的排布布局和/或所述实验运行结果的预览界面,并发送给所述客户端进行显示;或者,第三生成模块,用于响应于接收到的预览指令,生成所述实验的排布布局和/或所述实验运行结果的预览界面,并发送给所述客户端进行显示。
在本申请实施例中,所述第一接收模块401包括:第一接收子模块,用于接收第一客户端发送的用于编辑所述实验的编辑指令;其中,所述客户端包括所述第一客户端,所述第一客户端的登陆账号为身份信息满足预设条件的合作者账号,所述合作者账号与所述课程包的所有者账号具有的权限不同;解析所述编辑指令,得到所述实验的实验信息。
在本申请实施例中,所述第一生成模块404,包括:第一生成子模块,用于接收第二客户端发送的课程包提交指令,以生成所述能够发布在课程应用平台的课程包;所述客户端包括所述第二客户端,所述第二客户端的登陆账号为所述课程包的所有者账号。
在本申请实施例中,所述装置还包括:第二接收模块,用于接收所述客户端发送的用于更新所述课程信息的更新指令;第一更新模块,用于根据所述更新指令,对所述课程包的课程信息进行更新,得到更新的课程包;第一发布模块,用于将所述更新的课程包保存在数据库中,和/或,将所述更新的课程包发布到所述课程应用平台。
在本申请实施例中,所述装置还包括:第三接收模块,用于接收第三客户端发送的其他课程包的课程信息;其中,所述客户端包括第一客户端和所述第三客户端,所述第一客户端的登陆账号为所述课程包的所有者账号,所述第三客户端的登陆账号为区别于所述课程包的所述其他课程包的所有者账号;第一融合模块,用于将所述其他课程包的课程信息与所述课程包融合,得到综合课程包;第四接收模块,用于接收所述第三客户端或者所述第一客户端发送的用于编辑所述综合课程包的编辑指令;第一编辑模块,用于响应于所述编辑所述综合课程包的编辑指令,对所述综合课程包的课程信息进行编辑。
在本申请实施例中,所述课程信息,包括:导入指令和实验步骤;对应地,所述第一运行模块402,包括:第一执行子模块,用于执行所述导入指令,以导入运行实验所需要的数据包集合;第二执行子模块,用于基于所述实验步骤依赖的所述数据包集合,执行所述实验步骤。
在本申请实施例中,所述第一生成模块404,包括:第一发送子模块,用于响应于所述实验的运行结果不满足预设实验结果,将提示信息和所述运行结果发送到所述客户端;其中,所述提示信息用于提示用户所述实验的运行结果不满足预设实验结果;第一调整子模块,用于根据接收到的在所述客户端输入的调整指令,对所述课程信息进行调整,得到调整后的课程信息;第一确定子模块,用于响应于所述调整后的课程信息中实验的运行结果满足预设实验结果,确定所述调整后的课程信息对应的课程包为能够发布在课程应用平台的课程包。
在本申请实施例中,所述装置还包括:第一审核模块,用于采用预设词汇库的对所述课程包的课程信息进行审核,和/或,向管理者端发送对所述课程包进行审核的消息;第二发布模块,用于响应于所述课程包的课程信息通过审核,和/或,响应于接收到所述管理者端发送的所述课程包通过审核的通知,将所述课程包发布在所述课程应用平台。在本申请实施例中,所述装置还包括:第二发送模块,用于响应于接收到开发者在所述客户端输入的登陆信息,向所述客户端发送所述课程信息的填写模板,以使所述开发者通过所述填写模板编辑所述课程信息。
在本申请实施例中,所述装置还包括:第一设置模块,用于响应于接收到所述课程包的管理员端发送的权限设置指令,对所述课程包的开发者的账号的权限进行设置。
在本申请实施例中,在所述课程包未发布在所述课程应用平台的情况下,运行所述课程包中的实验对应的运行环境,与在所述课程应用平台上运行所述课程包中的实验对应的运行环境相同。
本申请实施例提供一种课程包的开发装置,所述装置包括:第一获取模块,用于获取课程包的课程信息,并向服务器发送所述课程信息;第二发送模块,用于响应于接收到所述课程信息中包含的实验的运行指令,向所述服务器发送所述运行指令;第五接收模块,用于接收并显示所述课程包的课程信息中包含的实验的运行结果。
在本申请实施例中,所述装置还包括:第六接收模块,用于响应于所述运行结果不满足预设的实验结果,接收所述课程信息的调整指令,并向所述服务器发送所述调整指令,以使调整后的课程包能够发布在课程应用平台。
在本申请实施例中,所述装置还包括:第七接收模块,用于响应于所述运行结果满足预设的实验结果,接收所述课程包的提交指令,向所述服务器发送所述提交指令,以使得所述课程包能够发布在课程应用平台。
在本申请实施例中,所述装置还包括:第一显示模块,用于显示用于预览所述实验的排布布局和/或所述实验运行结果的预览界面。
在本申请实施例中,所述装置还包括:第三发送模块,用于将接收到的根据所述预览界面反馈的用于修改所述课程信息的修改指令,发送至所述服务器,以使得所述服务器根据所述修改指令,对所述课程包的课程信息进行修改。
在本申请实施例中,所述装置还包括:第一邀请模块,用于向合作开发客户端发送邀请指令,以邀请所述合作开发客户端的使用者一同开发所述课程包;其中,所述合作开发客户端的登陆账号为身份信息满足预设开发条件的合作者账号。
在本申请实施例中,所述装置还包括:第二设置模块,用于响应于接收到所述合作开发客户端发送的接受邀请信息,设置所述合作开发客户端的开发权限;其中,所述合作者账号与所述课程包的所有者账号具有的权限不同。
在本申请实施例中,所述装置还包括:第二更新模块,用于向所述服务器发送用于更新所述课程信息的更新指令,以使所述服务器根据所述更新指令,对所述课程包的课程信息进行更新,得到更新的课程包。
在本申请实施例中,所述装置还包括:第四发送模块,用于向所述服务器发送其他课程包的课程信息;其中,所述其他课程包为区别于所述课程包的其他课程包,当前客户端的登陆账号为所述其他课程包的所有者账号;第八接收模块,用于接收所述服务器返回的综合课程包的课程信息,所述综合课程包为将所述其他课程包的课程信息与所述课程包融合后得到的课程包;第五发送模块,用于向所述服务器发送用于编辑所述综合课程包的编辑指令,以使所述服务器对所述综合课程包的课程信息进行编辑。
本申请实施例提供一种课程包的开发装置,所述装置包括:第二获取模块,用于获取课程包审核信息;第三获取模块,用于响应于接收到所述课程包的获取指令,获取并显示待审核的所述课程包;第六发送模块,用于响应于接收到所述课程包审核通过的指令,向服务器发送所述课程包审核通过的指令,以使得所述服务器将所述课程包发布于课程应用平台。
在本申请实施例中,所述装置还包括:第一开设模块,用于为符合预设开发条件的开发者账号开通开发所述课程包的权限,以使所述开发者完成所述课程包的开发。
需要说明的是,以上装置实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请装置实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。需要说明的是,本申请实施例中,如果以软件功能模块的形式实现上述的课程包的开发方法,并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台即时通讯设备(可以是终端、服务器等)执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ReadOnly Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。这样,本申请实施例不限制于任何特定的硬件和软件结合。
相应地,本申请实施例提供一种计算机存储介质,所述计算机存储介质上存储有计算机可执行指令,该计算机可执行指令被执行后,能够实现本申请实施例提供的课程包的开发方法中的步骤。
本申请实施例提供一种计算机设备,所述计算机设备包括存储器和处理器,所述存储器上存储有计算机可执行指令,所述处理器运行所述存储器上的计算机可执行指令时可实现本申请实施例提供的目标对象分析方法中的步骤。
以上计算机设备和存储介质实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请即时通讯设备和存储介质实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。
图5为本申请实施例计算机设备的组成结构示意图,如图5所示,该计算机设备500的硬件实体包括:处理器501、通信接口502和存储器503,其中
处理器501通常控制计算机设备500的总体操作。
通信接口502可以使计算机设备通过网络与其他终端或服务器通信。
存储器503配置为存储由处理器501可执行的指令和应用,还可以缓存待处理器501以及计算机设备500中各模块待处理或已经处理的数据(例如,图像数据、音频数据、语音通信数据和视频通信数据),可以通过闪存(FLASH)或随机访问存储器(RandomAccessMemory,RAM)实现。
本实施例提供一种课程包的开发系统,所述开发系统至少包括:
服务器,用于实现本申请应用于服务器的方法步骤;
客户端,用于实现本申请应用于客户端的方法步骤。
在一种可能的实现方式中,服务器和客户端的具体结构可以分别参考本公开如图4所示的课程包开发装置。
在另一种可能的实现方式中,服务器和客户端的具体结构可以参考本公开的计算机设备。
在本申请实施例中,所述开发系统还包括:
管理者端,用于实现本申请应用于管理者端的方法步骤。
在一种可能的实现方式中,管理者端的具体结构可以分别参考本公开如图4的课程包开发装置。
在另一种可能的实现方式中,服务器和客户端的具体结构可以参考本公开的计算机设备。
应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本申请各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(ReadOnly Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本申请上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机或服务器等)执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (10)

1.一种课程包的开发方法,其特征在于,所述方法包括:
接收客户端发送的课程包的课程信息;
接收所述客户端的运行指令,运行所述课程信息中包含的实验;
将所述实验的运行结果发送到所述客户端;
生成能够发布在课程应用平台的课程包。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
生成用于预览所述实验的排布布局和/或所述实验运行结果的预览界面,并发送给所述客户端进行显示;
或者,响应于接收到的预览指令,生成所述实验的排布布局和/或所述实验运行结果的预览界面,并发送给所述客户端进行显示。
3.一种课程包的开发方法,其特征在于,所述方法包括:
获取课程包的课程信息,并向服务器发送所述课程信息;
响应于接收到所述课程信息中包含的实验的运行指令,向所述服务器发送所述运行指令;
接收并显示所述课程包的课程信息中包含的实验的运行结果。
4.一种课程包的开发方法,其特征在于,所述方法包括:
获取课程包审核信息;
响应于接收到所述课程包的获取指令,获取并显示待审核的所述课程包;
响应于接收到所述课程包审核通过的指令,向服务器发送所述课程包审核通过的指令,以使得所述服务器将所述课程包发布于课程应用平台。
5.一种课程包的开发装置,其特征在于,所述装置包括:第一接收模块、第一运行模块、第一发送模块和第一生成模块,其中:
所述第一接收模块,用于接收客户端发送的课程包的课程信息;
所述第一运行模块,用于接收所述客户端的运行指令,运行所述课程信息中包含的实验;
所述第一发送模块,用于将所述实验的运行结果发送到所述客户端;
所述第一生成模块,用于生成能够发布在课程应用平台的课程包。
6.一种课程包的开发装置,其特征在于,所述装置包括:
第一获取模块,用于获取课程包的课程信息,并向服务器发送所述课程信息;
第二发送模块,用于响应于接收到所述课程信息中包含的实验的运行指令,向所述服务器发送所述运行指令;
第五接收模块,用于接收并显示所述课程包的课程信息中包含的实验的运行结果。
7.一种课程包的开发装置,其特征在于,所述装置包括:
第二获取模块,用于获取课程包审核信息;
第三获取模块,用于响应于接收到所述课程包的获取指令,获取并显示待审核的所述课程包;
第六发送模块,用于响应于接收到所述课程包审核通过的指令,向服务器发送所述课程包审核通过的指令,以使得所述服务器将所述课程包发布于课程应用平台。
8.一种计算机存储介质,其特征在于,所述计算机存储介质上存储有计算机可执行指令,该计算机可执行指令被执行后,能够实现权利要求1或2所述的方法步骤,或者能够实现权利要求3所述的方法步骤,或者能够实现权利要求4所述的方法步骤。
9.一种课程包的开发系统,其特征在于,所述开发系统至少包括:
服务器,用于实现权利要求1或2所述的方法步骤;
客户端,用于实现权利要求3所述的方法步骤。
10.一种计算机设备,其特征在于,所述计算机设备包括存储器和处理器,所述存储器上存储有计算机可执行指令,所述处理器运行所述存储器上的计算机可执行指令时可实现权利要求1或2所述的方法步骤,或者实现权利要求3所述的方法步骤,或者能够实现权利要求4所述的方法步骤。
CN201910678580.2A 2019-07-25 2019-07-25 课程包的开发方法及装置、系统、设备和存储介质 Active CN110413263B (zh)

Priority Applications (7)

Application Number Priority Date Filing Date Title
CN201910678580.2A CN110413263B (zh) 2019-07-25 2019-07-25 课程包的开发方法及装置、系统、设备和存储介质
SG11202102887XA SG11202102887XA (en) 2019-07-25 2019-10-14 Image processing method and device and apparatus, and computer device and medium
PCT/CN2019/111047 WO2021012410A1 (zh) 2019-07-25 2019-10-14 图像处理方法、装置、计算机设备和计算机存储介质
JP2021513228A JP7140909B2 (ja) 2019-07-25 2019-10-14 カリキュラムパッケージの開発方法及び装置、システム、デバイス並びに記憶媒体
KR1020217007094A KR20210038971A (ko) 2019-07-25 2019-10-14 커리큘럼 패키지의 개발 방법 및 장치, 시스템, 기기 및 저장 매체
TW109101823A TW202105336A (zh) 2019-07-25 2020-01-17 課程包的開發方法、系統、電腦設備和儲存介質
US17/193,413 US20210192654A1 (en) 2019-07-25 2021-03-05 Curriculum package development method and apparatus, system, device, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910678580.2A CN110413263B (zh) 2019-07-25 2019-07-25 课程包的开发方法及装置、系统、设备和存储介质

Publications (2)

Publication Number Publication Date
CN110413263A true CN110413263A (zh) 2019-11-05
CN110413263B CN110413263B (zh) 2023-03-21

Family

ID=68363370

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910678580.2A Active CN110413263B (zh) 2019-07-25 2019-07-25 课程包的开发方法及装置、系统、设备和存储介质

Country Status (7)

Country Link
US (1) US20210192654A1 (zh)
JP (1) JP7140909B2 (zh)
KR (1) KR20210038971A (zh)
CN (1) CN110413263B (zh)
SG (1) SG11202102887XA (zh)
TW (1) TW202105336A (zh)
WO (1) WO2021012410A1 (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112099866A (zh) * 2020-07-30 2020-12-18 福建天泉教育科技有限公司 一种学习活动插件的实现方法及终端
CN113467757A (zh) * 2021-06-01 2021-10-01 成都节节高教育科技有限公司 基于用户个性化定制的系统挖掘及软件优化辅助
CN113705177A (zh) * 2021-08-23 2021-11-26 风变科技(深圳)有限公司 基于集成写稿环境的稿件录入方法、装置和计算机设备
CN113703746A (zh) * 2021-08-23 2021-11-26 风变科技(深圳)有限公司 课程开发方法、装置、计算机设备和存储介质
WO2023279677A1 (zh) * 2021-07-06 2023-01-12 上海商汤智能科技有限公司 课程定制方法、装置、设备、存储介质及程序

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113450627A (zh) * 2021-06-25 2021-09-28 上海商汤临港智能科技有限公司 实验项目运行方法及装置、电子设备和存储介质
CN113703765B (zh) * 2021-08-23 2023-10-17 风变科技(深圳)有限公司 课程数据生成方法、装置、计算机设备和存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070202482A1 (en) * 2006-02-24 2007-08-30 Michael Mark System and method for selecting and managing course materials with integrated distribution and sales of materials
CN103426347A (zh) * 2013-09-12 2013-12-04 云南大学 基于forth的交互式51单片机教学实验与开发主板
CN106652613A (zh) * 2017-03-09 2017-05-10 南通理工学院 一种基于云计算的软件类课程移动学习平台
CN106683525A (zh) * 2016-11-16 2017-05-17 凌涛 真实场景下的实践教学支撑平台
CN109636691A (zh) * 2018-12-18 2019-04-16 南京邮电大学 一种基于docker的在线实验教学平台及实现方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11133846A (ja) * 1997-10-31 1999-05-21 Nippon Telegr & Teleph Corp <Ntt> 教材作成支援方法及びシステム及び教材作成支援プログラムを格納した記憶媒体
CN103258449A (zh) * 2012-02-15 2013-08-21 中国人民解放军海军航空工程学院 测试系统网络化教学平台
CN106850753A (zh) * 2016-12-28 2017-06-13 江苏虎甲虫计算技术有限公司 一种远程硬件实验系统
CN108198473B (zh) * 2018-01-18 2020-08-04 华东理工大学 一种基于云计算技术的虚拟实验系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070202482A1 (en) * 2006-02-24 2007-08-30 Michael Mark System and method for selecting and managing course materials with integrated distribution and sales of materials
CN103426347A (zh) * 2013-09-12 2013-12-04 云南大学 基于forth的交互式51单片机教学实验与开发主板
CN106683525A (zh) * 2016-11-16 2017-05-17 凌涛 真实场景下的实践教学支撑平台
CN106652613A (zh) * 2017-03-09 2017-05-10 南通理工学院 一种基于云计算的软件类课程移动学习平台
CN109636691A (zh) * 2018-12-18 2019-04-16 南京邮电大学 一种基于docker的在线实验教学平台及实现方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
游向东,徐圆圆,欧阳松: ""基于Docker 的大数据AI 教学与实验系统"", 《软件》 *
胡星、王泽瑞等: ""POP:一个基于微服务架构的在线编程系统"", 《计算机科学》 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112099866A (zh) * 2020-07-30 2020-12-18 福建天泉教育科技有限公司 一种学习活动插件的实现方法及终端
CN113467757A (zh) * 2021-06-01 2021-10-01 成都节节高教育科技有限公司 基于用户个性化定制的系统挖掘及软件优化辅助
CN113467757B (zh) * 2021-06-01 2024-03-22 成都节节高教育科技有限公司 基于用户个性化定制的系统挖掘及软件优化辅助
WO2023279677A1 (zh) * 2021-07-06 2023-01-12 上海商汤智能科技有限公司 课程定制方法、装置、设备、存储介质及程序
CN113705177A (zh) * 2021-08-23 2021-11-26 风变科技(深圳)有限公司 基于集成写稿环境的稿件录入方法、装置和计算机设备
CN113703746A (zh) * 2021-08-23 2021-11-26 风变科技(深圳)有限公司 课程开发方法、装置、计算机设备和存储介质
CN113703746B (zh) * 2021-08-23 2024-05-14 风变科技(深圳)有限公司 课程开发方法、装置、计算机设备和存储介质

Also Published As

Publication number Publication date
TW202105336A (zh) 2021-02-01
JP2022500748A (ja) 2022-01-04
CN110413263B (zh) 2023-03-21
WO2021012410A1 (zh) 2021-01-28
KR20210038971A (ko) 2021-04-08
SG11202102887XA (en) 2021-04-29
JP7140909B2 (ja) 2022-09-21
US20210192654A1 (en) 2021-06-24

Similar Documents

Publication Publication Date Title
CN110413263A (zh) 课程包的开发方法及装置、系统、设备和存储介质
CN107193545B (zh) 一种面向构件的多语言协同开发装置、方法与系统
US20070100829A1 (en) Content manager system and method
Guo Application of a Computer-Assisted Instruction System Based on Constructivism.
US20060107209A1 (en) Systems and methods for establishing an education web page template
CN108363760A (zh) 基于b/s模型的ietm显示数据生成及离线控制方法
CN108351766A (zh) 从移动设备创建和修改应用
CN110889069A (zh) 一种基于web在线学习的资源访问平台
EP2015201A1 (en) Providing a presentation in a remote location
CN106210008B (zh) 数据交互方法、客户端及系统
CN112802478B (zh) 混合云融合调度方法和装置
CN113705177A (zh) 基于集成写稿环境的稿件录入方法、装置和计算机设备
Tattersall et al. Using the IMS Learning Design notation for the modelling and delivery of education
Wang et al. A Computer Experiment Teaching System Based on OMAP Embedded System.
CN110221827A (zh) 数据处理方法及相关装置
KR102600834B1 (ko) 웹사이트 통합 관리 시스템
Caeiro-Rodríguez et al. Design of flexible and open learning management systems using IMS specifications. the Game Tel experience
Davies et al. An adaptive multimedia presentation system
Liu Autonomous English Online Learning System based on Web
Zhao Design of English Teaching Interactive System Based on Artificial Intelligence
Xiao Embedding StarLogo Nova into WISE for a Seamless Student Experience
CN115934188A (zh) 支持动态调整的在线合同协议配置使用方法和系统
Cáliz González Design, development and testing of a full-stack web service for a trajectory computation algorithm
CN118229469A (zh) 一种口才竞赛的智能评分方法及系统
Bellini et al. A workflow model and architecture for content and metadata management based on grid computing

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40011053

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant