计算机辅助编程学习的方法与系统的制作方法

文档序号:6600259阅读:231来源:国知局
专利名称:计算机辅助编程学习的方法与系统的制作方法
技术领域
本发明涉及计算机辅助的编程学习的方法与系统。
背景技术
程序必须用计算机懂的语言来写。计算机语言分为几级,机器指令是程序设计的核心。这些机器指令都是由二进制数1和0的不同组合,由CPU解释。每个CPU都有它能懂得的特殊的指令系统。1和0的每一种不同组合,都使计算机完成某项独特的任务。
二进制的1和0的序列,对我们而言,就象数字的象形文字一样难读,尽管这是CPU能懂的指令的唯一形式。为程序设计,中间解释是必要的,由此产生了汇编语言。汇编语言从计算机机器指令前进了一步,提供了类似英文的助记符,来描述每条机器指令的动作。一种称为汇编程序的程序将汇编语言翻译为机器语言以利计算机的执行。
用机器语言编制程序的工作量大,十分繁琐,枯燥无味,直观性差,难看难懂难编难记,而且每一种机器都有自己特定的机器指令系统,互不通用,对于非专业人员的学习和使用都有很大困难。用汇编语言来编制程序,由于其助记符与机器指令一一对应,本质上是机器的,因而依旧是烦琐枯燥,工作量大而难于理解的。
从机器指令再前进一步是计算机能够解释的高级语言,在这里,汇编语言指令连接成较大的结构。它允许使用英文写解题的计算程序,接近于人们习惯用的自然语言和数学语言。也很显然,高级语言的学习需要相应的英文基础和数学基础。
随着计算机技术的发展,计算机的操作也就由手工操作方式,过度到多道程序成批地在计算机中自动运行,于是就出现了控制计算机中所有资源,使多道程序能成批地自动运行,且充分发挥各种资源的最大效能的操作系统。现代的操作系统越来越庞大和复杂,使人们的通用计算机操作变得越来越简单,但也使其变为一门独立的课程,使其成为编程学习不可逾越的一门基础课程。
人们研制出了各种各样的高级语言,各种各样的计算机操作系统,创造了计算机在各个行业的普及运用。然而,每一种高级语言都有自己的编译程序;即使用一种高级语言,对于不同的计算机其编译程序也是不同的,因为每种机器都有不同指令系统和操作系统。人们所说的程序编制的学习,首先就必须对操作系统进行学习,然后才可以进入对每一种高级语言的具体学习,记忆。但是,任何一种编程语言,都具有其特殊定义的关键字,特定的常量变量表示方式、数据类型、判断、分支、循环程序结构实现方式与语法及语义;也还有语言的扩展命令,库函数以及类库等,因此,可以说任何一门编程语言的学习都是特殊的,复杂的。而现代的程序设计语言都不是封闭的,除了语言本身规定的内容外,还可以通过各种方式进行扩展,如VB与Microsoft office,与HTML的交互等,一个命令在不同语言中定义可能是大相径庭的而易于混淆。这些庞大的,复杂的,特殊的而又有差别的具体因素使人们特别是青少年在进行编程学习时无所适从,无从下手。
还有,计算机技术在飞速发展,人们总在创造出更新的东西。如十多年前广为流行的FORTRAN语言,几年前颇为风行的BORLAND C等,早已被其它更易于使用更易扩展的语言所替代,现在在主流的高级语言中几乎看不到它们的身影了。面对青少年的编程学习,人们也无法保证现在所学的任何一门高级语言在十多年后这批青少年开始为社会创造财富时不被更先进更科学的语言所代替。这就使得程序语言的学习显得更难以选择。
所以,针对青少年的编程学习和教学,就需要一种计算机辅助的,能循序渐进的而且方便实用,便于理解的学习系统。它不完全涉及每种语言的各种具体细节,而应该集合各类语言之大成,让青少年学习到程序编制的思想、精髓和方法及培养对编程的理解能力,从而为今后的具体语言的学习扩大坚实的基础。

发明内容
本发明的一个目的是提供一种计算机辅助的编程学习的方法,它将各种语言的整个编程学习过程归纳为三个步骤。
这种计算机辅助编程学习的方法,包括以下步骤1、步骤①学习集成化编程环境;2、步骤②学习编程命令、库函数或对象类库;3、步骤③学习编程语言的结构、语法和语义。
上述的计算机辅助编程学习的方法,进一步包括一个要按步骤①、步骤②、步骤③分割的集成化编程界面IDE;一个按上述级别调用、存取的操作模块;一个实现由步骤③→步骤②→步骤①兼容而禁止反向兼容的程序存贮、调用程序;一个能按级别显示机器语言、工控过程、后台操作模块、程序编译过程等内容的应用显示程序。
上述的计算机辅助编程学习的方法,进一步包括在步骤①编程学习阶段完全采用图标化方式操纵机器人,并将图标化操作显示成实际的程序代码。
上述的计算机辅助编程学习的方法,进一步包括在步骤①编程学习时,在IDE界面上可以显示对机器人工控过程的示意图。
上述的计算机辅助编程学习的方法,进一步包括在步骤①编程学习阶段,对机器人的每一种图标化指令操作,其生成的代码都要以存贮为步骤①编程模块或文件,以供步骤②编程时调用。
上述的计算机辅助编程学习的方法,进一步包括在步骤①编程学习阶段,对机器人图标化指令的参数设置也是通过附加的图标化选择来实现的。
上述的计算机辅助编程学习的方法,进一步包括学习者可以通过图标方式或指令方式或程序方式来激活机器人而完成功能测试,而后才能接受其它编程指令。
上述的计算机辅助编程学习的方法,进一步包括学习者可以通过各种清零方式来使机器人重新初始化而开始第二轮的编程学习或传给第二个编程学习者。
本发明的另一个目的是提供一种借助于可编程机器人来实现编程学习的编程学习系统。学习者可以对机器人使用图标方式,编程指令方式或模块调用方式进行编程,使机器人执行程序时完成各种各样的动作及发出各种各样的声光信号,从而使计算机编程教育与直观、生动的玩具相结合,达到趣味教学和学习的目的。
为达到上述目的,本发明中的计算机辅助编程学习的系统包括一个用户编程操作的可视化编程界面;一套可以以命令方式直接驱动机器人的机器人编程指令;一组可供各种通用高级语言调用而对机器人编程的编程语言接口;一个能把指令或函数译成机器人可以识别格式,以及将机器人的回传指令编译成计算机可以识别格式的语言编译模块;一个可以将指令发送给机器人并能接收机器人回传信息的发送接收的传输模块,一个可以接收传输数据,也可完全自行通过按键操作机器人的机器人遥控器,以及一个可以接收并回传指令,完成运动、声光显示等各类组合的可编程机器人。
依本发明的计算机辅助编程学习的方法与系统,学习者可以将任何一门编程语言的学习过程分为三个部分学习集成化编程环境、学习编程命令、库函数或对象类库、学习语言的结构、语法及语义。从而学到编程的思维与方法并培养了科学的思维理解能力,达到触类旁通的目的。
依本发明的计算机辅助编程学习的方法与系统,由于其充分运用了系统内计算机的学习者及机器人的高度交互性,以及系统显示的直观性,使枯燥无味的程序编制的学习和教学变得十分生动有趣,达到寓教于乐的目的。
依本发明的计算机辅助编程学习的方法与系统,由于突出强调了机器人的激活过程,使学习过程充满了互动性及灵气,使整套系统更加人性化而让青少年易于接受,而在不知不觉中学到计算机软硬件的知识,达到有效率的进行编程学习的目的。
依本发明的计算机辅助编程学习的方法与系统,由于实现了步骤③→步骤②→步骤①的程序兼容,更加强调了学习的连贯性和循序渐进的科学性,使系统能适合较广范围的人员使用。


图1是流程图,显示依本发明最佳实施例的计算机辅助编程学习的方法和流程。
图2为系统框图,显示依本发明最佳实施例的计算机辅助编程学习的系统构成。
图3是初级编程学习的工作流程。
图4是中级编程学习的工作流程。
图5是高级编程学习的工作流程。
下面将参照相关附图,说明依本发明最佳实施例的计算机辅助编程学习的方法与系统。其中相同的元件将以相同的标号注明。
具体实施方式
本发明中,学习者首先进入编程环境选择,选择是否首次使用,若是则调用光盘资料,熟悉本系统的使用环境条件、组成、注意事项等说明的内容,帮助学习者了解本系统,若不是则进入编程级别选择。初级阶段对应步骤①,中级阶段对应步骤②,高级阶段对应步骤③。
若选择初级(10),则首先调入可视化的图标编程界面(11);在界面上,可以选择单指令图标方式或集中的图标方式(12)来激活机器人,这种激活过程即完成机器人的运动、发声及声光显示等功能的测试。这种激活过程及激活功能中调用及使用的其它模块(如图3中的编译模块301、传送模块501等)的作用过程并不显示,而只重于结果测试。机器人被激活后,即可开始初级阶段的编程学习。
初级阶段的编程学习,主要学习编程环境,项目和程序文件的建立,以及采用图标方式指令机器人运动、发声及声光显示等;机器人的运动、发音、声光显示的内容可以通过不同的参数选择来完成,从而实现各种各样的运动、发音、声光显示的组合。参见图3,块101代表集成化编程界面,学习者可以由此熟悉通用的编程界面的组成,如工具栏、帮助栏等,并由此完成机器人程序的建立和打开工作。建立和打开程序后,程序学习者通过可视化的图标拖改建立对象,并且设置对象的属性(块102),可视化IDE程序界面会自动帮助学习者生成程序代码,代码通过编程(块301),编译成机器人可以执行的指令(块401),通过传输模块(块501)发送给机器人(块601)执行。
需要说明的是,在初级程序学习阶段,机器人的参数属性设置也是通过图标化选择来实现的,如前进10米,转弯90°,陈述第10段语音内容,显示心跳加速等,完全通过图标选择来实现。这样使学习者完全抛开了具体高级语言的语法语义要求,而达到专注学习编程环境的目的。
在对机器人的图标化指令操作完成以后,对计算机编程界面上可以显示机器语言,以及控制机器人实际动作的单片机的汇编语言14,并按实际过程用示意图方式来显示对机器人的工控过程,使学习者能客观而具体地理解从计算机程序→单片机控制→电动机动作、声光显示的具体流程,了解其科学原理。同时还显示这段图标操作的实际程序代码(15),将图标与程序代码一同显示在计算机屏幕上,从而帮助学习者一开始就能正确理解程序的意义。当然,这些程序代码在初级程序学习阶段只能显示,不能修改,要做出改变只能通过改变图标而重新生成新的代码程序。这种代码程序的显示为中级阶段的程序学习打下了基础。
学习者编制的每一种对机器人的图标化指令操作组合,其生成的代码都可以存贮为初级编程模块16,以供中级编程时调用。使学习者对机器人的生活环境如活动范围、运动路线等不用重复测量,也保持了学习过程的连贯性。
因此,在初级阶段的学习,学习者完全可以抛开普通的程序编制学习过程中语法语义和要求、属性参数设置的要求、以及英文、数学基础的要求等,而专注于对编程界面及其作用的学习;而又通过趣味化的机器人的运动和声光显示,激起了学习者的浓厚兴趣;又将工控过程及程序代码加以显示,使学习者对下一阶段的学习又有了初步的了解。
接着,学习者可以选择是否清零17来返回起点10,或进入初级(20)阶段的学习。
选择中级20,则首先调入指令方式的编程界面(21),在界面上可以选择输入单指令代码或集中指令代码方式(22)来激活机器人;如果是已通过初级编程学习后进入,则不需要这个激活过程。之后可以开始中级编程学习(23)。
中级阶段的编程学习(23),主要学习机器人的指令及命令集合。通过单指令方式、组合指令方式及成批的指令组合方式等来指令机器人的运动及声光显示也可以调用初级编程模块来开始(24)。参见图4,学习者在可视化编程界面IDE中用手工编写机器人的指令代码(202),用户输入机器人的命令(或者函数调用方式),该代码通过编译模块(301)编译成机器人可以执行的指令(401),通过发送模块(501)发送给机器人(601)执行。
在中级阶段,机器代码的后缀参数及属性设置是人工实现的,这将给学习者以很大的选择性和灵活性,如参数设置错误及相应的提示,给学习者一个非常大的空间及学习机会,直至修改正确,这将帮助学习者对程序编制过程中关键字,常量变量表示方式有逐步深入的理解。在中级阶段的组合指令方式及成批的指令组合方式对学习者理解诸如条件语句、控制转向语句等的语言结构有很大的意义。
在对机器人的指令操作完成后,在计算机界面上可以显示代码的编写→编译→执行的过程(25),也可同初级一样显示工控过程。同样地,操作者的每一种对机器人的操作指令组合都可以存贮为中级编程模块(26)以供高级编程学习时调用。同样地,也可选择是否清零(27)来返回起点(10)或进入高级阶段的学习(30)。
显示编译过程,实际上就完成了指令→汇编语言→机器语言的比较对照过程,通过这种比较对照,学习者可以了解每一条指令与机器及汇编语言的关系,了解变量及函数调用方式,了解条件,控制等语句及在程序中的相互关系等,使学习者更进一步地理解程序的学习过程。
选择高级(30),则首先进入高级语言的选择(31),如VisualBasic、C++、Java等,从中选取一门要学的语言,而后调入该语言的编程环境,进行高级语言的编程学习。在界面上可以选择程序来激活(32)机器人;如果是已通过初级或中级的学习,则不要这个激活过程。
高级阶段的编程学习(33),应是在每一种具体高级语言的集成或开发环境(300)下来学习,该语言开发环境的设计、编辑、编译、调试、运行、帮助等诸多功能不会因机器人的运用而受到限制学习者完全可以自由自在的按该语言的任何参考书来学习。对机器人的编程运用只是该语言调用外部环境创建一个对象而进行编程,可以理解为该语言的某种特定的实验仪器来帮助编程学习者学习。同样的,参见图5,通过高级语言编程(302),语言编译模块(303)对高级语言进行编译,机器人编译模块(301)涉及到机器人的调用进行编译,然后通过发送模块(501)发送给机器人(601)执行。
针对机器人的动作及声光显示编程,同样地也可在该语言的代码编辑窗口得到显示,可以作为某段程序的子程序得到运用,也可以作为该语言新创建的一个对象得到运用。它必须完全符合该语言的语法和语义及结构而通过该语言的编译调试工作。这些调试工作通过机器人来实现动作和声光显示,使程序学习变得更加生动、具体,从而加强学习者对该语言的语言结构、语言表达方式、语法及语义上,从而全面地学习该门语言。
同样的,在高级阶段也可选择是否清零(37)来返回起点(10),也可以选择是否调用其它高级语言(38)来进入下一门高级语言的学习。
通过三个阶段的分步骤学习,学习者逐步掌握熟悉了IDE可视化编程环境的意义和使用,熟悉了机器人的命令集合,熟悉了编程通过命令或函数调用方式对机器人进行编程,从而理解了指令的意义及工作过程,熟悉了设计、编辑、调试、运行等程序设计流程从而理解了程序设计的基本方法,以通过高级语言的学习逐步掌握了每门高级语言的语言结构,语法及语义等,从而完成了编制程序学习的三个步骤,即学会了程序编制的思维及方法。由此,可以将这三个步骤创造性的运用于每门新的编程语言的学习之中。
依本发明的计算机辅助编程学习的方法与系统,学习者可以将任何一门编程语言的学习过程分为三个部分学习集成化编程环境、学习编程命令、库函数或对象类库、学习语言的结构、语法及语义。从而学到编程的思维与方法并培养了科学的思维理解能力,达到触类旁通的目的。
依本发明的计算机辅助编程学习的方法与系统,由于其充分运用了系统内计算机的学习者及机器人的高度交互性,以及系统显示的直观性,使枯燥无味的程序编制的学习和教学变得十分生动有趣,达到寓教于乐的目的。
依本发明的计算机辅助编程学习的方法与系统,由于突出强调了机器人的激活过程,使学习过程充满了互动性及灵气,使整套系统更加人性化而让青少年易于接受,而在不知不觉中学到计算机软硬件的知识,达到有效率的进行编程学习的目的。
依本发明的计算机辅助编程学习的方法与系统,由于实现了高级→中级→低级的程序兼容,更加强调了学习的连贯性和循序渐进的科学性,使系统能适合较广范围的人员使用。
以上的说明仅仅是一种最佳实施例。在本发明的实质和作用范围内还可能有许多其它的实施方案。
也可将本发明的步骤①和步骤②结合在一起设计,或将步骤②和步骤③结合在一起设计。
权利要求
1.一种计算机辅助编程学习的方法,包括以下步骤(1)、步骤①学习集成化编程环境;(2)、步骤②学习编程命令、库函数或对象类库;(3)、步骤③学习编程语言的结构、语法和语义。
2.如权利要求1所述的计算机辅助编程学习的方法,进一步包括一个要按步骤①、步骤②、步骤③分割的集成化编程界面IDE;一个按上述级别调用、存取的操作模块;一个实现由步骤③→步骤②→步骤①兼容而禁止反向兼容的程序存贮、调用程序;一个能按级别显示机器语言、工控过程、后台操作模块、程序编译过程等内容的应用显示程序。
3.如权利要求2所述的计算机辅助编程学习的方法,进一步包括在步骤①编程学习阶段完全采用图标化方式操纵机器人,并将图标化操作显示成实际的程序代码。
4.如权利要求3所述的计算机辅助编程学习的方法,进一步包括在步骤①编程学习时,在IDE界面上可以显示对机器人工控过程的示意图。
5.如权利要求3所述的计算机辅助编程学习的方法,进一步包括在步骤①编程学习阶段,对机器人的每一种图标化指令操作,其生成的代码都要以存贮为步骤①编程模块或文件,以供步骤②编程时调用。
6.如权利要求3所述的计算机辅助编程学习的方法,进一步包括在步骤①编程学习阶段,对机器人图标化指令的参数设置也是通过附加的图标化选择来实现的。
7.如权利要求3所述的计算机辅助编程学习的方法,进一步包括学习者可以通过图标方式或指令方式或程序方式来激活机器人而完成功能测试,而后才能接受其它编程指令。
8.如权利要求3所述的计算机辅助编程学习的方法,进一步包括学习者可以通过各种清零方式来使机器人重新初始化而开始第二轮的编程学习或传给第二个编程学习者。
9.一种计算机辅助编程学习的系统,包括一个用户编程操作的可视化编程界面;一套可以以命令方式直接驱动机器人的机器人编程指令;一组可供各种通用高级语言调用而对机器人编程的编程语言接口;一个能把指令或函数译成机器人可以识别格式,以及将机器人的回传指令编译成计算机可以识别格式的语言编译模块;一个可以将指令发送给机器人并能接收机器人回传信息的发送接收的传输模块,一个可以接收传输数据,也可完全自行通过按键操作机器人的机器人遥控器,以及一个可以接收并回传指令,完成运动、声光显示等各类组合的可编程机器人。
全文摘要
本发明公开了一种计算机辅助编程学习的方法,包括在初级阶段采用图标化方式学习集成化编程环境;在中级阶段采用指令方式学习编程命令、库函数或对象类库;在高级阶段则系统学习编程语言的结构、语法及语义。本发明也公开了一种按此方法的计算机辅助的编程学习的系统。本发明使使用者学到编程的思维与方法并培养了科学的思维理解能力,达到触类旁通的目的。本发明的计算机辅助编程学习的方法与系统,由于其充分运用了系统内计算机的学习者及机器人的高度交互性,以及系统显示的直观性,使枯燥无味的程序编制的学习和教学变得十分生动有趣,达到寓教于乐的目的。
文档编号G06F15/18GK1424664SQ0215179
公开日2003年6月18日 申请日期2002年12月31日 优先权日2002年12月31日
发明者陈卓丹, 柴剑平, 陈文敏, 高伟, 黄谦, 吉杰 申请人:汕头市龙湖区汕龙电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1