From: Greg W. <Gre...@ba...> - 2003-03-14 19:27:18
|
Hi, everyone. I am a DrJava newbie, but a colleague (Paul Gries) at the University of Toronto is going to start using it in the first-year course this fall, and I am looking at its suitability for a second-year course on software development. (I've included a list of the course's lecture titles at the end of this message to give a flavor for what the course is about.) Based on what I've seen so far, I would like to see the following features in DrJava. I realize everyone's needs are different, and that DrJava is meant to be small and simple, so before I start filing tons of RFE's I would be interested in other people's feedback. Would your students ever use these features? Would they understand them? And so on... Thanks, Greg 1. On-the-fly configuration Many of the examples and programming projects in CSC207 have their own requirements for CLASSPATH. Currently, DrJava manages this globally. Charlie Reis has said that it wouldn't be that big a thing to allow DrJava to re-load its settings (from .drjava files) on the fly, so that users could switch from one set to another more easily. 2. Reaching through to Ant CSC207's examples and assignments currently use Make, rather than Ant. Partly, this is because the course spends three lectures showing students how to build Make (which motivates text file parsing, some simple graph algorithms, and a few other things). I also use Make to manage tests, so that "make test014" builds software (if necessary) and then runs a particular test case. I would like to be able to "reach through" DrJava to the underlying Ant build files and do these sorts of things; I would also like to use the Ant files as a (kind of) "project" file, so that students could work on multi-directory projects (which they ought to be doing in a second-year course). 3. Version control I tell my students in CSC207 that a version control system should be their third tool after an editor and compiler --- it's even more important than a symbolic debugger. I would really like to see DrJava integrate somehow with version control, so that (for example) the editing pane can show diffs, and be used for writing log messages when checking files in. If this is done, I would personally prefer to see it done with a modern version control system like Subversion, which has transactions and versioned meta-data, for the same reason that I prefer students to learn Ant rather than Make. Thanks very much in advance for your feedback, Greg Wilson ------------------------------------------------------ CSC207 Topics - Introduction - Version Control - Introducing Make - Parsing Text Files - Working With Graphs - Building Make - Specification - Systematic Testing - Unit Testing - Debugging - Analysis & Estimation - Logging - The Document Object Model - Reflection - Configuring Software [1] - Design Patterns - Refactoring - Introducing Python [2] - Python Sequences - Python Dictionaries and Functions - Object-Oriented Python - Regular Expressions - Persistence - Comparing Object Models - Looking Forward [1] This lecture builds on what students have learned about working with XML, and about dynamic class loading and invocation, by showing them how to create a configuration system for a logging utility that specifies class names and parameters in XML. [2] This course teaches Python both so that they have another tool in their toolbox (one that's better suited to systems programming than Java), and so that they can see how fundamental ideas recur in all languages. It also allows us to compare the languages' object models, so that they can see that languages are designed, and can be analyzed and critiqued, like other software. ----------------------------------------------------------------------------------------------------------------- The information contained in this message is confidential and is intended for the addressee(s) only. If you have received this message in error or there are any problems please notify the originator immediately. The unauthorised use, disclosure, copying or alteration of this message is strictly forbidden. Baltimore Technologies plc will not be liable for direct, special, indirect or consequential damages arising from alteration of the contents of this message by a third party or as a result of any virus being passed on. This footnote confirms that this email message has been swept for Content Security threats, including computer viruses. http://www.baltimore.com This footnote confirms that this email message has been swept by Baltimore MIMEsweeper for Content Security threats, including computer viruses. |