Dr Java A lightweight pedagogic environment for Java

















- Slides: 17
Dr. Java A lightweight pedagogic environment for Java Eric Allen, Robert Cartwright, and Brian Stoler Rice University {eallen, cork, bstoler}@rice. edu http: //drjava. sourceforge. net
Dr. Java is: ' A Java IDE ' Free ' Open source (GPL) ' An extreme programming project
Teaching Programming is Hard Three complimentary concerns ' ' Concepts ' Syntax ' Tools
Editor/command prompt ' Learning curve ' Editing, compiling, executing separated ' Frustrating!
Standard IDEs (JBuilder, Forte/Netbeans, etc. ) ' Learning curve (too many features!) ' Hide the language ' Cost/availibility
Solution: Dr. Java ' Simple and intuitive ' Leverages students' understanding of language ' ' Don't hide the code, embrace it! ' Allow students to interactively evaluate expressions and statements Small (800 k. jar file!)
Editor ' Transparent interface ' Consistent, automatic indenting ' Correct syntax highlighting ' Updated at keystroke granularity ' Automatic paren balancing
Integrated Compiler ' List of errors integrated with editor ' Compiler is a plugin ' javac 1. 3 ' javac 1. 4 ' JSR-14 prototype ' gjc
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
Interactions Pane (cont. ) ' Great for exploring the language
Applications Introductory CS classes ' ' Great for in class demos ' Upper level courses ' Distinctive features useful for all developers ' We use it in developing Dr. Java!
Future Directions Integrated testing and debugging ' Seamless integration of JUnit ' Debugger ' Step into/out of/over methods ' Use interactions pane at breakpoints, in scope
Future Directions Language levels ® incremental presentation of syntax ' Tailor environment to support teaching language constructs in stages (like in Dr. Scheme) ' Prevents generating bogus error messages, e. g. , accidental definition of inner clases
Implementation ' 30, 000 lines of Java code (Java 1. 3 or 1. 4) ' Incorporates Dynamic. Java (open source) ' Runs on any Java 1. 3 or 1. 4 VM (Windows, Mac. OS X, Linux, Solaris)
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
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
Download Dr. Java! http: //drjava. sf. net