CN114780183A - 在线编程学习方法、装置、电子设备及存储介质 - Google Patents
在线编程学习方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN114780183A CN114780183A CN202210284907.XA CN202210284907A CN114780183A CN 114780183 A CN114780183 A CN 114780183A CN 202210284907 A CN202210284907 A CN 202210284907A CN 114780183 A CN114780183 A CN 114780183A
- Authority
- CN
- China
- Prior art keywords
- programming
- code
- window
- target page
- learning
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 71
- 230000006870 function Effects 0.000 claims description 32
- 230000008569 process Effects 0.000 claims description 21
- 238000004590 computer program Methods 0.000 claims description 11
- 230000009286 beneficial effect Effects 0.000 abstract description 3
- 230000001737 promoting effect Effects 0.000 abstract 1
- 238000004891 communication Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 9
- 238000007667 floating Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 230000003993 interaction Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000005538 encapsulation Methods 0.000 description 3
- 238000011160 research Methods 0.000 description 3
- 230000001960 triggered effect Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000000725 suspension Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/04817—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance using icons
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/14—Digital output to display device ; Cooperation and interconnection of the display device with other functional units
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Electrically Operated Instructional Devices (AREA)
Abstract
本公开提供了一种在线编程学习方法、装置、电子设备及存储介质,该在线编程学习方法包括:响应于用户的触发操作,展示学习界面,所述学习界面中包括教学窗口以及编程窗口,所述教学窗口用于展示教学内容,所述编程窗口用于供所述用户进行编程调试;在检测到代码运行的触发事件的情况下,确定所述编程窗口中的代码内容是否包含跳转代码;在所述代码内容包含所述跳转代码的情况下,基于所述编程窗口展示与所述跳转代码对应的目标页面。本公开实施例,有利于提升用户学习的兴趣以及便于对编程指令的理解。
Description
技术领域
本公开涉及计算机软件技术领域,具体而言,涉及一种在线编程学习方法、在线编程学习装置、电子设备以及计算机可读存储介质。
背景技术
编程是编写程序的中文简称,就是让计算机代为解决某个问题,对某个计算体系规定一定的运算方式,使计算体系按照该计算方式运行,并最终得到相应结果的过程。
随着网络以及科学技术的发展,人们的学习方式越来越多样化,也越来越便捷,其中在线学习成为人们一种重要的学习方式,例如,越来越多的用户选择通过在线学习的方式来进行编程学习。
然而,现阶段,无论是在线学习编程还是线下学习编程,大多数的编程教育一般是由教师进传授讲解,了解编程语言及工具,逐层学习,虽然在线学习可以在学习过程中进行同步编程练习,但其内容枯燥,过程乏味,不利于编程学习者的学习。
发明内容
本公开实施例至少提供一种在线编程学习方法、在线编程学习装置、电子设备以及计算机可读存储介质,有助于用户理解编程语言,并可以提升用户的编程学习兴趣。
本公开实施例提供了一种在线编程学习方法,包括:
响应于用户的触发操作,展示学习界面,所述学习界面中包括教学窗口以及编程窗口,所述教学窗口用于展示教学内容,所述编程窗口用于供所述用户进行编程调试;
在检测到代码运行的触发事件的情况下,确定所述编程窗口中的代码内容是否包含跳转代码;
在所述代码内容包含所述跳转代码的情况下,基于所述编程窗口展示与所述跳转代码对应的目标页面。
本公开实施例中,在检测到代码运行的触发事件的情况下,确定所述编程窗口中的代码内容是否包含跳转代码,并在所述代码内容包含所述跳转代码的情况下,基于所述编程窗口展示与所述跳转代码对应的目标页面。如此,可以将编程内容所对应的功能直观的进行展示,不仅可以提升用户对编程内容的理解,也可以提升用户的编程兴趣。
在一种可能的实施方式中,所述基于所述编程窗口展示与所述跳转代码对应的目标页面,包括:
确定所述编程窗口对应的显示区域,并在所述显示区域内同时展示所述编程窗口以及所述目标页面。
本公开实施例中,由于在编程窗口对应的显示区域内同时展示所述编程窗口以及所述目标页面,也即,可以在不改变现有学习界面布局的情况下,使得用户可以在一边编程的过程中,一边观看目标页面,如此可以根据目标页面的展示内容调整编程内容,进一步提升了用户对编程内容的理解。
在一种可能的实施方式中,所述在所述显示区域内同时展示所述编程窗口以及所述目标页面,包括:
将所述编程窗口缩小,并在所述显示区域内以并排的方式同时展示所述编程窗口以及所述目标页面;或者,
在所述显示区域内展示所述目标页面,并将所述编程窗口悬浮于展示于所述目标页面上。
本公开实施例中,通过并排展示的方式,可以使得目标页面以及编程窗口互相不会被遮挡,展示的更加清晰;通过悬浮的方式展示编程窗口,可以在不影响编程窗口大小的前提下,观看到目标页面,此外,还可以提升展示效果。
在一种可能的实施方式中,所述展示所述目标页面之后,所述方法还包括:
获取所述编程窗口输入的针对所述目标页面的代码指令;
基于所述代码指令以及所述目标页面,展示所述代码指令所对应的功能。
本公开实施例中,在展示页面后,若获取到针对所述目标页面的代码指令,可以在所述目标页面展示所述代码指令所对应的功能,如此可以在编程过程中实现互动,进一步提升了用户的编程兴趣。
在一种可能的实施方式中,所述方法还包括:
建立至少一个工具类,并确定所述工具类所对应对代码段,其中,不同工具类中的代码段对应不同的预设功能,所述工具类用于供编程过程中被调用,实现所述工具类中的代码段所对应的功能。
本公开实施例中,还可以将能够实现预设功能的代码段进行封装,以便在编程的过程中直接调用即可,如此,可以减少编程过程中的代码输入,提升用户的编程体验。
在一种可能的实施方式中,所述方法还包括:
在所述编程窗口分别展示多个子编程窗口,每个子编程窗口对应不同的编程内容;所述多个子编程窗口之间可以相互调用。
本公开实施例中,由于可以在编程窗口分别展示多个子编程窗口,如此,可以实现不同编程内容的同时编程,且由于多个子编程窗口之间可以相互调用,使得编程更加多样化,提升了用户的编程体验。
在一种可能的实施方式中,所述方法还包括:
基于所述编程窗口内代码内容,生成代码文件,所述代码文件中包含所述代码内容以及所述代码内容所用的语言环境;
将所述代码文件发送至其他电子设备。
本公开实施例中,可以将当前所编程的代码发送至其他电子设备,也即实现了代码分享,如此,其他用户可以在其他设备对该代码进行继续编程或者调试,实现了多个用户的协同操作,进一步提升了用户的编程体验。
本公开实施例还提供一种在线编程学习装置,包括:
窗口展示模块,用于响应于用户的触发操作,展示学习界面,所述学习界面中包括教学窗口以及编程窗口,所述教学窗口用于展示教学内容,所述编程窗口用于供所述用户进行编程调试;
代码确定模块,用于在检测到代码运行的触发事件的情况下,确定所述编程窗口中的代码内容是否包含跳转代码;
页面展示模块,用于在所述代码内容包含所述跳转代码的情况下,基于所述编程窗口展示与所述跳转代码对应的目标页面。
在一种可能的实施方式中,所述页面展示模块具体用于:
确定所述编程窗口对应的显示区域,并在所述显示区域内同时展示所述编程窗口以及所述目标页面。
在一种可能的实施方式中,所述页面展示模块具体用于:
将所述编程窗口缩小,并在所述显示区域内以并排的方式同时展示所述编程窗口以及所述目标页面;或者,
在所述显示区域内展示所述目标页面,并将所述编程窗口悬浮于展示于所述目标页面上。
在一种可能的实施方式中,所述装置还包括功能展示模块,所述功能展示模块用于:
获取所述编程窗口输入的针对所述目标页面的代码指令;
基于所述代码指令以及所述目标页面,展示所述代码指令所对应的功能。
在一种可能的实施方式中,所述装置还包括代码封装模块,所述代码封装模块用于:
建立至少一个工具类,并确定所述工具类所对应对代码段,其中,不同工具类中的代码段对应不同的预设功能,所述工具类用于供编程过程中被调用,实现所述工具类中的代码段所对应的功能。
在一种可能的实施方式中,所述窗口展示模块还用于:
在所述编程窗口分别展示多个子编程窗口,每个子编程窗口对应不同的编程内容;所述多个子编程窗口之间可以相互调用。
在一种可能的实施方式中,所述装置还包括代码分享模块,所述代码分享模块用于:
基于所述编程窗口内代码内容,生成代码文件,所述代码文件中包含所述代码内容以及所述代码内容所用的语言环境;
将所述代码文件发送至其他电子设备。
本公开实施例还提供一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行上述任一种可能的实施方式中所述的在线编程学习方法的步骤。
本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述任一种可能的实施方式中所述的在线编程学习方法的步骤。
关于上述在线编程学习装置、电子设备、及计算机可读存储介质的效果描述参见上述在线编程学习方法的说明,这里不再赘述。
为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,此处的附图被并入说明书中并构成本说明书中的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。应当理解,以下附图仅示出了本公开的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本公开实施例所提供的一种在线编程学习方法的示例性系统架构图;
图2示出了本公开实施例所提供的一种在线编程学习方法的流程图;
图3示出了本公开实施例提供的一种学习界面的示意图;
图4示出了本公开实施例所提供的一种另一种学习界面的示意图;
图5示出了本公开实施例所提供的再一种学习界面的示意图;
图6示出了本公开实施例所提供的另一种在线编程学习方法的流程图;
图7示出了本公开实施例所提供的一种在线编程学习装置的示意图;
图8示出了本公开实施例所提供的另一种在线编程学习装置的示意图;
图9示出了本公开实施例所提供的一种电子设备的示意图。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
本文中术语“和/或”,仅仅是描述一种关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括A、B、C中的至少一种,可以表示包括从A、B和C构成的集合中选择的任意一个或多个元素。
随着网络以及科学技术的发展,人们的学习方式越来越多样化,也越来越便捷,其中在线学习成为人们一种重要的学习方式,例如,越来越多的用户选择通过在线学习的方式来进行编程学习。
经研究发现,现阶段,无论是在线学习编程还是线下学习编程,大多数的编程教育一般是由教师进传授讲解,了解编程语言及工具,逐层学习,虽然在线学习可以在学习过程中进行同步编程练习,但其内容枯燥,过程乏味,不利于编程学习者的学习。
针对以上方案所存在的缺陷,均是发明人在经过实践并仔细研究后得出的结果,因此,上述问题的发现过程以及下文中本公开针对上述问题所提出的解决方案,都应该是发明人在本公开过程中对本公开做出的贡献。
基于上述研究,本公开提供了一种在线编程学习方法,包括:响应于用户的触发操作,展示学习界面,所述学习界面中包括教学窗口以及编程窗口,所述教学窗口用于展示教学内容,所述编程窗口用于供所述用户进行编程调试;在检测到代码运行的触发事件的情况下,确定所述编程窗口中的代码内容是否包含跳转代码;在所述代码内容包含所述跳转代码的情况下,基于所述编程窗口展示与所述跳转代码对应的目标页面。如此,不仅可以提升用户对编程内容的理解,也可以提升用户的编程兴趣。
下面结合具体的系统应用架构对本申请方案进行详细说明。
请参阅图1,图1示出了可以应用于本申请的在线编程学习方法的示例性系统架构。
如图1所示,系统架构1000可以包括服务器100、教师端200以及多个学生端300。其中,教师端200与服务器100之间,以及服务器100和多个学生端300之间通过网络400建立通信连接。也即,网络400用于在教师端200和学生端300之间提供通信链路的介质。网络400可以包括各种类型的有线通信链路或无线通信链路,例如:有线通信链路包括光纤、双绞线或同轴电缆的,无线通信链路包括蓝牙通信链路、无线保真(Wireless-Fidelity,Wi-Fi)通信链路或微波通信链路等。
教师端200以及学生端300可以通过网络400与服务器100交互,以接收来自服务器100的消息或向服务器100发送消息。教师端200和学生端300上可以安装有各种通信客户端应用,例如:绘图应用、视频录制应用、视频播放应用、语音采集应用、语音交互应用、搜索类应用、及时通信工具、邮箱客户端以及社交平台软件等。
教师端200和学生端300可以是硬件,也可以是软件。当教师端200和学生端300为硬件时,可以是具有显示屏的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携式计算机和台式计算机等。用户可以利用教师端200和学生端300上的显示屏来查看显示的文字、图片、视频等信息。当教师端200和学生端300为软件时,可以是安装在上述所列举的电子设备中,其可以实现呈多个软件或软件模块(例如:用来提供分布式服务),也可以实现成单个软件或软件模块,在此不作具体限定。
服务器100可以是提供各种服务的业务服务器。需要说明的是,服务器100可以是硬件,也可以是软件。当服务器100为硬件时,可以实现成多个服务器组成的分布式服务器集群,也可以实现成单个服务器。当服务器100为软件时,可以实现成多个软件或软件模块(例如用来提供分布式服务),也可以实现成单个软件或软件模块,在此不做具体限定。
应理解,图1中的教师端200、学生端300、服务器100和网络400的数目仅是示意性的。根据实现需要,可以是任意数量的教师端、学生端、服务器和网络。
下面结合图2对本申请实施例提供的在线编程学习方法进行详细介绍。本申请实施例中的执行主体可以是终端设备、服务器以及其他硬件设备。其中,终端设备包括但不限于车载设备、可穿戴设备、用户终端及手持设备等。为方便理解与描述,下面以执行主体为终端设备(如图1中的学生端)进行详细介绍。在一些可能的实现方式中,该在线编程学习方法可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。
需要说明的是,本公开实施例中该在线编程学习方法是以在线直播教学的场景来进行说明的,其他实施方式中,该在线编程学习方法还以是在线录播学习场景,比如,可以在终端设备内安装应用程序,当用户启动该应用程序后即可观看到相应的教学视频。
参见图2所示,为本公开实施例提供的在线编程学习方法的流程图,所述方法包括步骤S101~S103:
S101,响应于用户的触发操作,展示学习界面,所述学习界面中包括教学窗口以及编程窗口,所述教学窗口用于展示教学内容,所述编程窗口用于供所述用户进行编程调试。
示例性地,以直播教学中的学生端300为例进行说明,在学生端300的设备上可以安装直播应用程序,当用户触发该应用程序后,即可展示学习界面。具体地,参见图3所示,学习界面包括教学窗口301以及编程窗口302。其中,教学窗口301用于展示教学内容,该教学内容包括教师的授课视频和/或教师的授课课件等内容。编程窗口302用于供用户输入编程代码,并至少可以运行代码显示运行结果以及实现错误分析等。
需要说明的是,本实施方式中的用户为学生(例如中小学生),其他实施例中,用户还可以是进行编程学习的任意人员,比如,科研人员、企业职工等,在此不做限定。
S102,在检测到代码运行的触发事件的情况下,确定所述编程窗口中的代码内容是否包含跳转代码。
其中,跳转代码只是具有跳转功能的代码组合,该跳转代码的类型可以是网页跳转(如Html网页跳转)、小程序跳转等,此处不做限定。触发事件是指代码运行代码的命令,在一些实施方式中,参见图3所示,在编程窗口可以展示“运行”图标,在该“运行”图标被触发后,即可以产生运行命令,运行用户所输入的代码。
需要说明的是,针对不同的终端设备,该触发事件的产生方式可以不同,比如,在终端设备为笔记本电脑的情况下,该触发事件可以由鼠标点击该“运行”图标而产生,又例如,在终端设备为触摸屏(如手机、平板电脑)设备的情况下,该触发事件可以由用户的触发操作(触摸该“运行”图标)而产生,该触发操作包括但不限于触摸操作、长按操作等。
S103,在所述代码内容包含所述跳转代码的情况下,基于所述编程窗口展示与所述跳转代码对应的目标页面。
示例性地,在用户所输入的代码内容中包含跳转代码的情况下,即可基于编程窗口展示与所述跳转代码对应的目标页面。具体地,参见图4所示,在展示目标页面之前需要先确定原编程窗口302(图3中的302)对应的显示区域303,然后将所述编程窗口302缩小,并在所述显示区域303内以并排的方式同时展示所述编程窗口302以及所述目标页面304,如此,通过并排展示的方式,可以使得目标页面304以及编程窗口302互相不会被遮挡,展示的更加清晰。
另外,由于展示所述编程窗口302以及所述目标页面304还是在原编程窗口302所对应的显示区域303内显示的,也即,虽然增加显示了目标页面304,但是学习界面的显示区域的布局并未发生改变,如此,可以在不改变教学窗口301的情况下实现了编程窗口302以及目标页面304的展示,提升了展示效果的同时还提升了展示的效率。
在另一些实施方式中,参见图5所示,还可以在所述显示区域303内展示所述目标页面304,并将所述编程窗口302悬浮于展示于所述目标页面304上,如此,通过悬浮的方式展示编程窗口302,可以在不影响编程窗口大小的前提下,观看到目标页面,此外,还可以提升展示效果。
本公开实施例中,在检测到代码运行的触发事件的情况下,确定所述编程窗口中的代码内容是否包含跳转代码,并在所述代码内容包含所述跳转代码的情况下,基于所述编程窗口展示与所述跳转代码对应的目标页面。如此,可以将编程内容所对应的功能直观的进行展示,不仅可以提升用户对编程内容的理解,也可以提升用户的编程兴趣。
参见图6所示,为本公开实施例提供的另一种在线编程学习方法的流程图,与图2中的方法不同的是,在步骤S103之后还包括以下S104~S105:
S104,获取所述编程窗口输入的针对所述目标页面的代码指令。
S105,基于所述代码指令以及所述目标页面,展示所述代码指令所对应的功能。
示例性地,在展示目标页面后,若获取到针对所述目标页面的代码指令,可以在所述目标页面展示所述代码指令所对应的功能,例如,在展示目标页面之后,若获取到功能为在目标页面上生成小动物(如小鸟),则可以在获取到该指令时,在目标页面上展示一个小鸟,如此可以在编程过程中实现互动,进一步提升了用户的编程兴趣。
在一些实施例中,为了方便用户编程,提升用户的编程效率,还可以建立至少一个工具类,并确定所述工具类所对应对代码段,其中,不同工具类中的代码段对应不同的预设功能,所述工具类用于供编程过程中被调用,实现所述工具类中的代码段所对应的功能。
其中,代码段可以包括函数、常量或者映射表等,具体可以根据需求而设定。例如,可以预先建立各个月份对应天数的常量,比如1月份对应31天。示例性地,请在参见图3,在“收藏”图标被触发的情况下,即可建立新的工具类,然后在该新建的类中输入相应的代码段,即可实现代码收藏功能,也即,将该代码段进行封装后可以被调用。
本公开实施例中,由于可以将能够实现预设功能的代码段进行封装,以便在编程的过程中直接调用即可,如此,可以减少编程过程中的代码输入,提升用户的编程体验。
在另一些实施例中,在所述编程窗口分别展示多个子编程窗口,每个子编程窗口对应不同的编程内容;所述多个子编程窗口之间可以相互调用。例如,每个类对应一个编程窗口,不同的编程窗口之间可以相互调用,如此,可以在提升编程效率的同时,使得编程更加多样化,提升了用户的编程体验。
此外,在一些实施例中,在获取到用户在编程窗口输入的编程代码之后,还可以包括以下(a)~(b):
(a)基于所述编程窗口内代码内容,生成代码文件,所述代码文件中包含所述代码内容以及所述代码内容所用的语言环境。
(b)将所述代码文件发送至其他电子设备。
其中,语言环境包括但不限于JAVA语言、C语言、C++语言等。例如,可以在用户输入一段代码后,触发图3中的“分享”图标,此时,可以基于当前所输入的代码生成代码链接,然后将该代码链接发送至其他电子设备,如此,其他电子设备在接收到该代码链接时,即可获取到用户输入的代码,并基于该代码进行调试或者继续编程。
需要说明的是,以上步骤(a)~(b)可以在用户输入代码之后的任意步骤实现,也即,以上步骤(a)~(b)可以在图2中的步骤S101之后执行,还可以在步骤S103之后执行,在此不做限定,也即,可以在用户输入代码后的任一过程中,可以将代码分享至其他电子设备。如此,其他用户可以在其他设备对该代码进行继续编程或者调试,实现了多个用户的协同操作,进一步提升了用户的编程体验。
本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
基于同一发明构思,本公开实施例中还提供了与在线编程学习方法对应的在线编程学习装置,由于本公开实施例中的装置解决问题的原理与本公开实施例上述在线编程学习方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
参照图7所示,为本公开实施例提供的一种在线编程学习装置的架构示意图,所述装置包括:窗口展示模块501、代码确定模块502以及页面展示模块503;其中,
窗口展示模块501,用于响应于用户的触发操作,展示学习界面,所述学习界面中包括教学窗口以及编程窗口,所述教学窗口用于展示教学内容,所述编程窗口用于供所述用户进行编程调试;
代码确定模块502,用于在检测到代码运行的触发事件的情况下,确定所述编程窗口中的代码内容是否包含跳转代码;
页面展示模块503,用于在所述代码内容包含所述跳转代码的情况下,基于所述编程窗口展示与所述跳转代码对应的目标页面。
在一种可能的实施方式中,所述页面展示模块503具体用于:
确定所述编程窗口对应的显示区域,并在所述显示区域内同时展示所述编程窗口以及所述目标页面。
在一种可能的实施方式中,所述页面展示模块503具体用于:
将所述编程窗口缩小,并在所述显示区域内以并排的方式同时展示所述编程窗口以及所述目标页面;或者,
在所述显示区域内展示所述目标页面,并将所述编程窗口悬浮于展示于所述目标页面上。
在一种可能的实施方式中,参见图8所示,所述装置还包括功能展示模块504,所述功能展示模块504用于:
获取所述编程窗口输入的针对所述目标页面的代码指令;
基于所述代码指令以及所述目标页面,展示所述代码指令所对应的功能。
在一种可能的实施方式中,所述装置还包括代码封装模块505,所述代码封装模块505用于:
建立至少一个工具类,并确定所述工具类所对应对代码段,其中,不同工具类中的代码段对应不同的预设功能,所述工具类用于供编程过程中被调用,实现所述工具类中的代码段所对应的功能。
在一种可能的实施方式中,所述窗口展示模块501还用于:
在所述编程窗口分别展示多个子编程窗口,每个子编程窗口对应不同的编程内容;所述多个子编程窗口之间可以相互调用。
在一种可能的实施方式中,所述装置还包括代码分享模块506,所述代码分享模块506用于:
基于所述编程窗口内代码内容,生成代码文件,所述代码文件中包含所述代码内容以及所述代码内容所用的语言环境;
将所述代码文件发送至其他电子设备。
关于装置中的各模块的处理流程、以及各模块之间的交互流程的描述可以参照上述方法实施例中的相关说明,这里不再详述。
基于同一技术构思,本公开实施例还提供了一种电子设备。参照图9所示,为本公开实施例提供的电子设备700的结构示意图,包括处理器701、存储器702、和总线703。其中,存储器702用于存储执行指令,包括内存7021和外部存储器7022;这里的内存7021也称内存储器,用于暂时存放处理器701中的运算数据,以及与硬盘等外部存储器7022交换的数据,处理器701通过内存7021与外部存储器7022进行数据交换。
本申请实施例中,存储器702具体用于存储执行本申请方案的应用程序代码,并由处理器701来控制执行。也即,当电子设备700运行时,处理器701与存储器702之间通过总线703通信,使得处理器701执行所述存储器702中存储的应用程序代码。
可以理解的是,本申请实施例示意的结构并不构成对电子设备700的具体限定。在本申请另一些实施例中,电子设备700可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中的摄像装置遮挡检测方法的步骤。其中,该存储介质可以是易失性或非易失的计算机可读取存储介质。
本公开实施例还提供一种计算机程序产品,该计算机程序产品承载有程序代码,所述程序代码包括的指令可用于执行上述方法实施例中的摄像装置遮挡检测方法的步骤,具体可参见上述方法实施例,在此不再赘述。
其中,上述计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(Software Development Kit,SDK)等等。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本公开所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本公开的具体实施方式,用以说明本公开的技术方案,而非对其限制,本公开的保护范围并不局限于此,尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本公开实施例技术方案的精神和范围,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应所述以权利要求的保护范围为准。
Claims (10)
1.一种在线编程学习方法,其特征在于,包括:
响应于用户的触发操作,展示学习界面,所述学习界面中包括教学窗口以及编程窗口,所述教学窗口用于展示教学内容,所述编程窗口用于供所述用户进行编程调试;
在检测到代码运行的触发事件的情况下,确定所述编程窗口中的代码内容是否包含跳转代码;
在所述代码内容包含所述跳转代码的情况下,基于所述编程窗口展示与所述跳转代码对应的目标页面。
2.根据权利要求1所述的方法,其特征在于,所述基于所述编程窗口展示与所述跳转代码对应的目标页面,包括:
确定所述编程窗口对应的显示区域,并在所述显示区域内同时展示所述编程窗口以及所述目标页面。
3.根据权利要求2所述的方法,其特征在于,所述在所述显示区域内同时展示所述编程窗口以及所述目标页面,包括:
将所述编程窗口缩小,并在所述显示区域内以并排的方式同时展示所述编程窗口以及所述目标页面;或者,
在所述显示区域内展示所述目标页面,并将所述编程窗口悬浮于展示于所述目标页面上。
4.根据权利要求1-3任一所述的方法,其特征在于,所述展示所述目标页面之后,所述方法还包括:
获取所述编程窗口输入的针对所述目标页面的代码指令;
基于所述代码指令以及所述目标页面,展示所述代码指令所对应的功能。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
建立至少一个工具类,并确定所述工具类所对应对代码段,其中,不同工具类中的代码段对应不同的预设功能,所述工具类用于供编程过程中被调用,实现所述工具类中的代码段所对应的功能。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述编程窗口分别展示多个子编程窗口,每个子编程窗口对应不同的编程内容;所述多个子编程窗口之间可以相互调用。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
基于所述编程窗口内代码内容,生成代码文件,所述代码文件中包含所述代码内容以及所述代码内容所用的语言环境;
将所述代码文件发送至其他电子设备。
8.一种在线编程学习装置,其特征在于,包括:
窗口展示模块,用于响应于用户的触发操作,展示学习界面,所述学习界面中包括教学窗口以及编程窗口,所述教学窗口用于展示教学内容,所述编程窗口用于供所述用户进行编程调试;
代码确定模块,用于在检测到代码运行的触发事件的情况下,确定所述编程窗口中的代码内容是否包含跳转代码;
页面展示模块,用于在所述代码内容包含所述跳转代码的情况下,基于所述编程窗口展示与所述跳转代码对应的目标页面。
9.一种电子设备,其特征在于,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如权利要求1至7任一项所述的在线编程学习方法的步骤。
10.一种计算机可读存储介质,其特征在于,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如权利要求1至8任一项所述的在线编程学习方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210284907.XA CN114780183A (zh) | 2022-03-22 | 2022-03-22 | 在线编程学习方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210284907.XA CN114780183A (zh) | 2022-03-22 | 2022-03-22 | 在线编程学习方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114780183A true CN114780183A (zh) | 2022-07-22 |
Family
ID=82424972
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210284907.XA Pending CN114780183A (zh) | 2022-03-22 | 2022-03-22 | 在线编程学习方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114780183A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115454406A (zh) * | 2022-09-29 | 2022-12-09 | 北京思明启创科技有限公司 | 一种操作界面交互方法、装置、设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110009967A (zh) * | 2019-03-26 | 2019-07-12 | 乐佰科(深圳)教育科技有限公司 | 一对多在线协作式编程教学方法及系统 |
CN110009951A (zh) * | 2019-03-26 | 2019-07-12 | 乐佰科(深圳)教育科技有限公司 | 一种在线直播编程教学的教学方法及教学系统 |
-
2022
- 2022-03-22 CN CN202210284907.XA patent/CN114780183A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110009967A (zh) * | 2019-03-26 | 2019-07-12 | 乐佰科(深圳)教育科技有限公司 | 一对多在线协作式编程教学方法及系统 |
CN110009951A (zh) * | 2019-03-26 | 2019-07-12 | 乐佰科(深圳)教育科技有限公司 | 一种在线直播编程教学的教学方法及教学系统 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115454406A (zh) * | 2022-09-29 | 2022-12-09 | 北京思明启创科技有限公司 | 一种操作界面交互方法、装置、设备及存储介质 |
CN115454406B (zh) * | 2022-09-29 | 2023-09-19 | 北京思明启创科技有限公司 | 一种操作界面交互方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9438542B1 (en) | Linking selected messages in electronic message threads | |
CN104951546B (zh) | 在即时通信软件中订阅消息的方法和装置 | |
CN110568984A (zh) | 在线教学方法、装置、存储介质及电子设备 | |
CN110673777A (zh) | 在线教学方法、装置、存储介质及终端设备 | |
CN110058854B (zh) | 用于生成应用的方法、终端设备和计算机可读介质 | |
KR102620284B1 (ko) | 메타버스 기반 교육 플랫폼 서비스 제공 시스템 | |
CN111949908A (zh) | 媒体信息的处理方法、装置、电子设备及存储介质 | |
US10965743B2 (en) | Synchronized annotations in fixed digital documents | |
CN116126447A (zh) | 一种信息处理方法、装置、电子设备、计算机可读介质 | |
CN114780183A (zh) | 在线编程学习方法、装置、电子设备及存储介质 | |
CN111309211A (zh) | 图片处理方法、装置及存储介质 | |
CN112272328B (zh) | 弹幕推荐方法及相关装置 | |
CN117632109A (zh) | 虚拟数字助手构建方法、装置、电子设备以及存储介质 | |
CN111464859B (zh) | 一种在线视频展示的方法、装置、计算机设备及存储介质 | |
US20240104808A1 (en) | Method and system for creating stickers from user-generated content | |
CN112016077A (zh) | 一种基于滑动轨迹模拟的页面信息获取方法、装置和电子设备 | |
Sangiorgi et al. | GAMBIT: Addressing multi-platform collaborative sketching with html5 | |
CN114489910B (zh) | 一种视频会议数据显示方法、装置、设备及介质 | |
CN114745594A (zh) | 直播回放视频的生成方法、装置、电子设备及存储介质 | |
KR102322752B1 (ko) | 감정상태 분류를 통한 솔루션 제공 방법 | |
Suzuki et al. | Basic Development of the Active Textbook System consisted of a General book and a Portable Electronic Terminal | |
Pocatilu | Developing an M-Learning Application for iOS. | |
CN113268693A (zh) | 样式配置方法、装置、存储介质及电子设备 | |
GB2532822A (en) | Techniques for providing a user interface incorporating sign language | |
Sangiorgi | Electronic sketching on a multi-platform context: A pilot study with developers |
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 |