1 / 17

DrJava A lightweight pedagogic environment for Java

DrJava A lightweight pedagogic environment for Java. Eric Allen, Robert Cartwright, and Brian Stoler Rice University {eallen,cork,bstoler}@rice.edu http://drjava.sourceforge.net. DrJava is:. A Java IDE Free Open source (GPL) An extreme programming project. Teaching Programming is Hard.

kyle
Download Presentation

DrJava A lightweight pedagogic environment for Java

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. DrJavaA lightweight pedagogic environment for Java Eric Allen, Robert Cartwright, and Brian Stoler Rice University {eallen,cork,bstoler}@rice.edu http://drjava.sourceforge.net

  2. DrJava is: • A Java IDE • Free • Open source (GPL) • An extreme programming project

  3. Teaching Programming is Hard • Three complimentary concerns • Concepts • Syntax • Tools

  4. Editor/command prompt • Learning curve • Editing, compiling, executing separated • Frustrating!

  5. Standard IDEs(JBuilder, Forte/Netbeans, etc.) • Learning curve (too many features!) • Hide the language • Cost/availibility

  6. Solution: DrJava • Simple and intuitive • Leverages students' understanding of language • Don't hide the code, embrace it! • Allow students to interactively evaluate expressions and statements • Small (800k .jar file!)

  7. Editor • Transparent interface • Consistent, automatic indenting • Correct syntax highlighting • Updated at keystroke granularity • Automatic paren balancing

  8. Integrated Compiler • List of errors integrated with editor • Compiler is a plugin • javac 1.3 • javac 1.4 • JSR-14 prototype • gjc

  9. Interactions Pane • Supports a read/eval/print loop • No need forpublic static void main(String[] args)! • Teaching static and arrays can be postponed • Convenient way to runpreliminary tests

  10. Interactions Pane (cont.) • Great for exploring the language

  11. Applications • Introductory CS classes • Great for in­class demos • Upper­level courses • Distinctive features useful for all developers • We use it in developing DrJava!

  12. Future DirectionsIntegrated testing and debugging • Seamless integration of JUnit • Debugger • Step into/out of/over methods • Use interactions pane at breakpoints, in scope

  13. Future DirectionsLanguage levels ® incremental presentation of syntax • Tailor environment to support teaching language constructs in stages (like in DrScheme) • Prevents generating bogus error messages, e.g., accidental definition of inner clases

  14. Implementation • 30,000 lines of Java code (Java 1.3 or 1.4) • Incorporates DynamicJava (open source) • Runs on any Java 1.3 or 1.4 VM (Windows, MacOS X, Linux, Solaris)

  15. A case study in XP software development • Pair programming • Unit tests • 31% of code in tests • Must pass all tests to commit code • Incremental specification and implementation • Frequent releases (>1 daily) • Program has advanced substantially since we wrote the paper

  16. A case study in XP software development (cont.) • Developed first generation system in three months with 5 students • Continuing development in a software engineering class • New students contributed within three weeks • Benefits of open source • Everyone welcome to propose source code changes (but they better have unit tests!) • sourceforge.net helps manage open-source projects

  17. Download DrJava! http://drjava.sf.net

More Related