使用基于 NXT 的机器人教授 Java 并发性:研究
1. 研究背景和目标
近年来,计算机编程领域的教育面临诸多挑战,尤其是在教授非计算机科学专业的学生复杂问题时。Java 编程语言因其广泛应用和复杂性,成为了编程教育中的一个重要工具。并发编程,作为 Java 编程中的一个复杂主题,涉及到线程、资源共享、锁和信号量等概念,这些概念可能会导致学生在代码中出现大量未识别的错误。为了帮助学生更好地理解和掌握并发编程,研究人员提出了一种创新的教学方法:使用基于 NXT 的机器人。NXT 机器人通过其直观的硬件和软件交互,为学生提供了一个可视化的学习环境,使他们能够实时观察和调试代码。
2. 研究对象和方法
这项研究的对象是来自波兹南经济大学信息科技系的 11 名非计算机科学专业的学生。这些学生参加了跨学科的硕士课程,课程内容涵盖了经济学、计算机科学、电信和物理学等多个领域。为了评估学生在实验前后的并发编程能力,研究者设计了一系列测试,包括入门测试和退出测试。测试内容涵盖了 Java 类和方法、并发线程执行的指令序列、中断线程、多个线程共享变量以及执行线程等知识点。
研究环境
研究环境的主要组成部分是一台由乐高 Mindstorms NXT 2.0 8547 积木套装构建的机器人。该机器人配备了三个电机、一个超声波传感器、一个触摸传感器和一个颜色(RGB,光线)传感器。NXT 固件被 LeJOS 替换,使得机器人可以用 Java 编程。此外,研究还需要 32 位 Java 开发工具包和 32 位 Eclipse IDE。Eclipse 通过 LeJOs 插件进行了扩展,该插件允许与 LeJOS 库自动集成,并方便地在 NXT 积木中编译、传