|
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.
|