skip to main content
10.1145/1067445.1067552acmconferencesArticle/Chapter ViewAbstractPublication PagesiticseConference Proceedingsconference-collections
Article

Weathering MindStorms with drizzle and DIODE in CS0

Authors Info & Claims
Published:27 June 2005Publication History

ABSTRACT

We introduce Drizzle, our new simple object-oriented scripting language for programming LEGO MindStorms robots, and DIODE, the Drizzle Integrated Object-Oriented Development Environment. Drizzle and DIODE have evolved from a student project into useful resources for our CS0 course. In this work we describe Drizzle and DIODE and discuss our experiences with them in our CS0 course.We are dismayed by the low retention rates of undergraduate majors in CS1 and CS2. To attempt to alleviate this problem, we introduced a new required CS0 course in Fall 2004. Its goals are to give students a breadth-first overview of CS and to expose them to algorithmic problem solving before immersing them in Java. We decided to use the MindStorms robots to accommodate student diversity, to introduce a fun element to the course, and to force the students to focus on problem analysis instead of detailed syntax. Our approach complements [2].Drizzle is a simple object-oriented scripting language. It supports repetition, selection, simple assignment statements, logical operators, numeric variables, and predefined objects representing components of a robot, i.e., sensors, motors, and the LCD display. Drizzle is purposely minimal to be suitable for students without prior programming experience. To encourage documentation, Drizzle supports comments.DIODE is the IDE that allows a MindStorms robot to be programmed in Drizzle. To achieve this, we used the leJOS API [3] to implement method call abstractions supporting the predefined objects. The IDE includes an intuitive GUI. It allows for automatic compilation of Drizzle code, including a translator from Drizzle to Java utilizing the predefined MindStorms objects. DIODE also directly interfaces to the robot's IR device. We provided these features because our typical user was familiar with text editing but was not familiar with command-line tools.Our CS0 course is currently taught in one 120-student section and meets 3 hours per week for 14 weeks. At least 3 hours are spent on each of algorithmic thinking and concepts of programming languages before Drizzle and DIODE are formally presented. The students see an actual problem with pseudocode and the corresponding Drizzle solution. A problem is then posed as a "Drizzle Team Challenge". Students must complete individual solution plans. The instructor then forms the student groups. Next, the teams produce solution plans. Finally, they are allowed to program with the actual robot. The lab has 3 computers with DIODE installed and 6 robots with 6 tracks. During the Fall 2004 offering, the 14 teams consisted of between 5 and 8 students. The large class size and small number of robots made smaller groups infeasible. No team solved the problem totally correctly during the first lab session. Not surprisingly, the smaller groups were more effective. All teams submitted at least a partial solution to the problem; 12 completed the solution. Students were excited about working with the robots.We are using Drizzle (and DIODE) again during Spring 2005. We expect to have smaller groups. We hope to evaluate the effectiveness of Drizzle; some possible approaches are additional questions in the course evaluation, surveys at the beginning and end of CS1, and analyses of CS1/CS2 retention rates. We may also compare the usage of Drizzle with the standard MindStorms approach and Alice [1].

References

  1. Cooper, S., Dann, W., Pausch, R. Teaching Objects-first in Introductory Computer Science, SIGCSE Bulletin, 35(1), 2003, 191--195. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Lawhead, P.B., Duncan, M.E., Bland, C.G., Goldweber, M., Schep, M., Barnes, D.J., Hollingsworth, R.G., A Road Map for Teaching Introductory Programming Using LEGO Mindstorms Robots. SIGCSE Bulletin, 35(2), 2003, 191--201. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Solorzano, J. leJOS: Java based OS for Lego RCX. Online. Internet. {January 29, 2005}. Available WWW: http://www.lejos.org/.Google ScholarGoogle Scholar

Index Terms

  1. Weathering MindStorms with drizzle and DIODE in CS0

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in
    • Published in

      cover image ACM Conferences
      ITiCSE '05: Proceedings of the 10th annual SIGCSE conference on Innovation and technology in computer science education
      June 2005
      440 pages
      ISBN:1595930248
      DOI:10.1145/1067445

      Copyright © 2005 ACM

      Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 27 June 2005

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Author Tags

      Qualifiers

      • Article

      Acceptance Rates

      Overall Acceptance Rate552of1,613submissions,34%

      Upcoming Conference

      ITiCSE 2024

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader