JAVA编程学习管理系统外文翻译资料
2023-07-28 11:15:00
Annales Univ. Sci. Budapest., Sect. Comp. 31 (2009) 75-92
LEARNING MANAGEMENT SYSTEM FOR PROGRAMMING IN JAVA
B. Vesin, M. Ivanoviacute;c, Z. Budimac
(Novi Sad, Serbia)
Abstract. The increasing popularity of the World Wide Web and the Internet has affected computer assisted learning that is now turning into web-based learning. Web-based learning can take place anywhere, at any time, through any computer and without necessarily the presence of a human tutor.
Mag is a learning management system designed to be used by students in their first programming course. It provides three types of learning activ- ities: tutoring, quiz-and-feedback and on-line programming, to meet the needs of programming course. Students are provided with numerous Java server pages (JSP) for learning and testing their gained skills.
Mag supports learning by practicing and learning by samples. It com- bines traditional in-class programming experience with learning through a tutoring system. The system provides learners with a more efficient and convenient way by taking an on-line Java programming approach.
This paper presents the technical and pedagogical objectives of Mag, its principles of design and architecture.
Introduction
Currently, the demand for tutoring systems is growing at an amazing rate.
They gain such strong popularity and acceptance due to the need to:
-
- increase student performance,
- provide opportunity to deepen cognitive development, and
- reduce acquisition time for the student.
The wider objectives of learning a programming language includes the follow- ing:
-
- let the learner become familiar with the programming language,
- provide training for the abilities to correct syntax errors in source code and
- develop skills to solve various programming problems.
On-line learning has been the fastest growing form of education in the last decade and it has become the most popular way of learning. Learning manage- ment systems (LMS) hold a high position in learning technology within higher education. The intent of an LMS was to enable administrators and mentors to manage the learning process. LMSs use computer networks as a delivery mech- anism and they allow students to take courses anywhere and anytime, so it is widely applied not only in classroom courses but also for retraining employees in companies.
Tutoring systems are, in many aspects, very similar to human tutors. Based on cognitive science and artificial intelligence, they have proven their worth in multiple ways in multiple domains in education [1]. More than ever, this is an important area for institutions with a lot of students wishing to obtain program- ming skills, and where it is difficult to provide personalized instruction needed [2].
The content of an on-line course usually can be represented in different ways: text, graphics, audio, animation and video [3]. The learning activities of most learning management systems include pre-test, on-line tutorials, exercises, quizzes, forums, etc. Web-based education is very popular and the environment needed for its setup is rather easy to be created by applying modern internet tech- nologies: dynamic Web pages, personal profile and media streaming. However, a programming language course relies more on hands-on training, the programming skills are developed through those activities of learning by practicing, learning by debugging and learning by samples. Therefore, it is more difficult to adapt learning management systems for a programming language course.
In this paper the Mag system has been proposed. It is designed to meet the requirements of a programming course and provides three types of learning activ- ities: automated tutoring, quiz-and-feedback and on-line programming through mentoring. A student can do hands-on practices as well as learning activities in the virtual environment.
The next section discusses the traditional learning objectives and learning strategies of a programming course. Section 3 is dedicated to the related work.
Section 4 describes the design and architecture of Mag system. Section 5 briefly describes knowledge representation and testing abilities of the system. Finally, conclusions are drawn and future work considered.
Traditional learning objectives and strategies of a programming course
[4]:
The objectives of learning a programming language includes several aspects
introducing the learner to the programming language and training to obtain abilities to correct syntax errors in source code,
bull;
- developing skills to fix bugs in a program and
- improving the logic analysis and reasoning abilities of problem solving.
In a programming course, one of the first things to learn is the syntax of the
language and the semantics of its constructs. If a programmer is unfamiliar with the syntax and semantics of the programming language, his/her program will contain syntax errors and it will be inefficient. Modern programming tools can speed program development with an integrated editor, compiler, debugger, GUI (Graphical User Interface) tools, code formatting, etc [4]. Without a development tool, programming is tiring and debugging is more difficult.
A compiler for a particular programming language helps the programmer to detect syntax errors, but semantic errors show up in a program when it runs after it is compiled. If a programmer has deficiencies in analyzing and reasoning, s/he will fail in coping with complex problems. Even more, the programmer will be unable to find bugs when semantic errors in his programs appear.
Improving the studentrsquo;s reasoning abilities in problem solving is the most important but diffi
剩余内容已隐藏,支付完成后下载完整资料
Annales Univ. Sci. Budapest., Sect. Comp. 31 (2009) 75-92
JAVA编程学习管理系统
B. Vesin,m . Ivanovi c,z . Budimac
(塞尔维亚诺维萨德)
抽象。万维网和互联网的日益普及已经影响了计算机辅助学习,这种学习现在正在转变为基于网络的学习。基于网络的学习可以在任何地方、任何时间、通过任何计算机进行,不一定需要有人类导师在场。
Mag是一个学习管理系统,设计用于学生的第一门编程课程。它提供三种类型的学习活动:辅导、问答和在线编程,以满足编程课程的需要。为学生提供了大量的Java服务器页面(JSP),用于学习和测试他们获得的技能。
Mag支持通过实践学习和通过示例学习。它将传统的课堂编程经验与通过辅导系统学习结合起来。该系统采用在线Java编程方法,为学习者提供了一种更高效、更方便的方法。
本文介绍了Mag的技术和教学目标,它的设计和建筑原则。
正式介绍
目前,对辅导系统的需求正以惊人的速度增长。
他们获得如此高的知名度和接受度是因为需要:
-
- 提高学生成绩,
- 提供加深认知发展的机会,以及
- 减少学生的获取时间。
学习编程语言的更广泛的目标包括以下内容:
-
- 让学习者熟悉编程语言,
- 为纠正源代码中的语法错误的能力提供培训
- 发展解决各种编程问题的技能。
在线学习是过去十年中发展最快的教育形式,也是最受欢迎的学习方式。学习管理系统在高等教育的学习技术中占有很高的地位。学习管理系统的目的是使管理员和导师能够管理学习过程。学习管理系统使用计算机网络作为一种传送机制,它们允许学生随时随地学习课程,因此它不仅广泛应用于课堂课程,也广泛应用于公司员工的再培训。
辅导系统在很多方面与人类导师非常相似。基于认知科学和人工智能,他们已经在教育的多个领域以多种方式证明了自己的价值[1]。对于有许多学生希望获得编程技能的机构来说,这比以往任何时候都更是一个重要的领域,在这里很难提供所需的个性化教学[2]。
在线课程的内容通常可以用不同的方式来表示:文本、图形、音频、动画和视频[3]。大多数学习管理系统的学习活动包括预测试、在线教程、练习、测验、论坛等。基于网络的教育非常受欢迎,并且通过应用现代互联网技术(动态网页、个人资料和媒体流)来创建其设置所需的环境相当容易。然而,一门编程语言课程更多地依赖于实践训练,编程技能是通过实践学习、调试学习和样例学习来发展的。因此,将学习管理系统用于编程语言课程更加困难。
本文提出了磁力搅拌系统。它旨在满足编程课程的要求,并提供三种类型的学习活动:自动辅导、测验和反馈以及通过辅导进行在线编程。学生可以在虚拟环境中进行实践和学习活动。
下一节讨论编程课程的传统学习目标和学习策略。第三节致力于相关工作。
第4节描述了Mag系统的设计和架构。第5节简要描述了系统的知识表示和测试能力。最后,得出结论,并对未来工作进行了思考。
程序设计课程的传统学习目标和策略
[4]:
学习编程语言的目标包括几个方面
向学习者介绍编程语言并进行培训以获得纠正源代码中的语法错误的能力,
bull;
- 开发修复程序错误的技能
- 提高解决问题的逻辑分析和推理能力。
在编程课程中,首先要学习的是
语言及其结构的语义。如果程序员不熟悉编程语言的语法和语义,他/她的程序将包含语法错误,并且效率低下。现代编程工具可以通过集成编辑器、编译器、调试器、图形用户界面(GUI)工具、代码格式化等来加速程序开发[4]。没有开发工具,编程很累,调试更困难。
特定编程语言的编译器帮助程序员检测语法错误,但是当程序编译后运行时,语义错误就会出现在程序中。如果一个程序员在分析和推理方面有缺陷,他/她将无法处理复杂的问题。更重要的是,当程序中出现语义错误时,程序员将无法发现错误。
提高学生解决问题的推理能力是编程课程最重要但也是最困难的目标[5]。实现这个目标没有捷径。编程技能只能通过反复练习编写、编译、调试和测试程序的编程周期来培养。我们的研究目标是汇集使用人工智能的在线教学系统领域的最新发展,构建一个有效的导师,帮助学生学习如何用Java编程语言编写程序。
相关著作
在过去的十年中,已经开发了许多新的教学系统,其中包括Pepite,数学学习环境,JITS -在Moodle中实现的学习Java编程基础的教学系统-这是一个成功使用学习管理系统的典型例子。Pepite软件[6]由三个模块组成:学生模块(PepiTest);分析模块(PepiDiag);教师模块。
在Mag中也开发了类似的模块,但是用于分析的模块和用于教师的模块在Mag中以Windows应用程序的形式结合在一起。它的主要目的是帮助老师监控学生,并为他们提供大量的反馈。
PepiTest是专门为学生设计的软件模块。它根据纸和笔的任务提出22个练习,并收集学生对特定问题的答案。它包含封闭式问题和多项选择题或更多交互式回答技巧(例如,将图形中可点击的部分与有限数量的可能答案进行匹配)。选择题也是测试学生Mag知识的主要机制之一。
PepiDiag是一个分析封闭自然语言答案和代数表达式的模块。Mag不包含自然语言答案,因此可以自动分析所有提供的答案,并自动对学生的知识进行评分(测试过程中不需要人工导师的帮助)。它还包含以Java服务器页面集合(JSP)形式的学生软件,学生可以在其中学习教程并测试他所获得的知识。
PepiProf建立学生的档案,并提交给老师。它还提供了一个界面来修改学生的答案,以便允许教师控制软件编码,并在必要时纠正或完成它。除此之外,Mag还为每个学生提供自动适应课程的可能性。适应的描述将在本文中进一步描述。还提供关于学生、小组和课程的不同类型的报告。
Java智能辅导系统——JITS是一个专为学习Java编程而设计的辅导系统[7]。JITS允许学习者进行动手实践以及异步辅导系统支持的学习活动。学习活动旨在实现以下三个目标:
-
- 通过模拟训练学生掌握开发工具,
通过不同类型的问答和反馈,训练学生熟悉Java语言
bull;
-
- 提高编程技能(Java小程序的编码、编译和测试)。
Mag执行JITS系统的辅导和测试原则,因为它被证明是成功和有效的。JITS系统的积极成果表明,它的课程形式用于创建一门课程在讲授Java编程语言时特别有效[8]。集中式体系结构在Mag中实现,与在JITS实现的分布式体系结构相反,以便从系统的服务器端启动所有系统操作[3]。Mag引入的主要改进是它是一个基于网络的辅导系统,指导学生完成课程。
Moodle是一个免费的学习管理系统,使用户能够创建强大、灵活和引人入胜的在线学习体验[9]。该系统为学生和教师在学习过程中提供了一个更加积极和参与的角色。它包含可以以任何顺序浏览的网页、学生和教师之间实时聊天的课程、用户可以对相关信息进行评分的论坛、使学生能够协作和评估彼此工作的在线研讨会、让教师评估学生对课程进度的看法的查询、为学生上传和共享文件留出的目录等。所有这些特点创造了一个积极的学习环境,充满了不同类型的学生对学生和学生对教师的互动。
与Moodle的功能相反,Mag系统的主要优势是Mag提供了在线编程的可能性,而不仅仅是向学生提供课程材料。学生可以编写程序代码,在远程计算机上编译和运行他的程序,而无需安装任何软件。
磁力系统的设计
Mag系统的初步设计是基于几个基本的系统要求,每个编程语言的在线学习系统都应该有[10]:
-
- 为学生和他们的导师提供独立的用户界面,
- 面向学生的易于访问的教程,
- 每个特定课程(学习模块)的各种示例,
每节课都有不同的测试,可以针对特定的学生进行调整,
bull;
-
- 在线编程、编译和运行程序,
- 学生工作总结和报告,
- 易于监控学生作业的功能,
- 添加新课程、示例和测试的功能,
- 学生和导师之间交流的可能性。
该系统旨在由两种类型的用户使用(存在两个主要角色):
学生–他们正在学习Java编程课程,并将使用该系统来获取某些知识
bull;
导师——他们的作用是管理课程和学生数据库,跟踪学生的学习进度,帮助他们完成作业。
bull;
系统结构
Mag的系统架构旨在满足上述所有要求(图1)。这是一种集中式架构,被证明是构建教学系统最有效的方式[3]。所有操作都在系统的服务器上完成,所有学生数据也保存在那里。
为学生(学习者)和他/她的导师提供了两个独立的用户界面。导师的界面是一个windows应用程序,具有管理学生数据和课程材料数据的功能。学生的界面是一系列的网页,提供了上课和测试学生知识的选项。所有关于学生及其课程进度的数据以及关于课程的数据都存储在系统的服务器中。
提议的架构有许多好处。它是独立于平台的、轻量级的和可扩展的。学生不需要在自己的机器上安装软件,也不需要高速网络连接来使用Mag。其他优势包括快速执行,因为所有处理都是在J2EE服务器上完成的,该服务器通常具有比典型电脑更快、更高效的硬件。
该架构使用JDBC (Java DataBase Connectivity)连接到一个外部数据库,该数据库存储和检索关于学生的特定信息,包括他们的进度历史和性能统计数据。
先前在辅导系统领域的研究已经确定了五个主要组件(图2)作为设计这些系统的最有效方式:学生模块、教学模块、领域知识模块、专家模块和通信模块[3]。系统Mag的建议架构包含各种形式的所有内容。
学生模块用于学生建模。它存储特定于每个学习者的信息。至少,这样的模块跟踪学生对所学材料的掌握程度。一个可能的补充是记录误解。由于学生模块的目的是为系统的教学模块提供数据,因此收集的所有信息都应该可供教学模块使用。
图1。Mag支持的方案
Mag系统的学生模块包含学生的个人数据以及他在课程中的进度数据。所有必要的数据都存储在服务器上:
-
-
- 学生的个人数据,
-
学生提交的每个特定测试的正确和错误答案的数量和百分比,
bull;
-
-
- 关于解决每一类特定问题的数据,
- 学生每门课的成绩。
-
图2。辅导系统中组件的交互
利用这些数据,系统可以通过选择给学生的几个不同类型问题的百分比来对每个特定的学生进行测试。测试适应的原则将在本文后面介绍。
教学模块。该组件通过控制何时复习、何时呈现新主题以及呈现哪个主题来提供教学过程的模型。如前所述,学生模块应该用作该组件的输入,因此系统的教学决策反映了每个学生的不同需求。关于学生的进步和解决各种类型任务的能力的数据用于决定系统将向学生呈现哪些课程和什么样的测试。
领域知识。该部分包含教学领域的知识。一般来说,它需要大量的知识工程来表示一个领域,以便教学模块的其他部分可以访问它。
Mag系统的领域知识包含19个课程的集合(学习模块)。课程根据其呈现的编程语言元素的类型分为几个部分。每节课包含三个基本部分:教程、示例和测试。导师对课程及其结构和基本要素完全负责。他/她不时地修改课程,可以决定增加新的课程,改进现有课程的要素:教程、例子和测试,也可以删除一些。
通信模块。与学习者的互动,包括对话和屏幕布局,都由这个组件控制。出现的主要问题是如何以最有效的方式向学生展示材料。
Mag包含一系列JSP页面,作为教程和测试学生的布局
知识。页面呈现顺序由通信模块提出。另一方面,学生可以随时改变顺序或选择接下来要进行什么活动。学生可以随时要求与导师沟通,并对当前进度进行详细审查。
专家模块。该模块类似于域模块。然而,它不仅仅是数据的表示;这是向学生展示知识的适当方式[11]。最常见的是,它是系统的一部分,能够从域中解决问题。通过使用专家模块,导师可以将学生的解决方案与预期的解决方案进行比较,确定学习者遇到困难的主题。
在很多编程问题中,往往有很多专家解答的可能性。导师可能会为问题提供一个解决方案,但可能会有几乎无限多的其他解决方案同样适用。Mag的专家模块试图评估学生的答案,而不是将这些答案与给定的解决方案进行比较。它的首要任务是发现学生代码中的语法错误,然后编译并运行程序,分析执行结果。
杂志用户界面
学生用户界面的设计是设计基于计算机的教学系统的一个重要因
剩余内容已隐藏,支付完成后下载完整资料
资料编号:[604653],资料为PDF文档或Word文档,PDF文档可免费转换为Word