Download presentation
Presentation is loading. Please wait.
Published byDarcy Phillips Modified over 9 years ago
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.