Presentation is loading. Please wait.

Presentation is loading. Please wait.

DrJava A lightweight pedagogic environment for Java Eric Allen, Robert Cartwright, and Brian Stoler Rice University

Similar presentations


Presentation on theme: "DrJava A lightweight pedagogic environment for Java Eric Allen, Robert Cartwright, and Brian Stoler Rice University"— Presentation transcript:

1 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

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 for public static void main(String[] args) ! ' Teaching static and arrays can be postponed ' Convenient way to run preliminary 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 Directions Integrated testing and debugging  Seamless integration of JUnit  Debugger  Step into/out of/over methods  Use interactions pane at breakpoints, in scope

13 Future Directions Language 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


Download ppt "DrJava A lightweight pedagogic environment for Java Eric Allen, Robert Cartwright, and Brian Stoler Rice University"

Similar presentations


Ads by Google