| Design First With Java | ![]() |
Can we help you teach Java and object-oriented design? |
|
| Our philosophy: what first semester programming (CS1) students need to learn, first
and foremost, is how to understand a customer’s problem, then design
a solution, using modern software engineering methods and tools. Programming
language syntax, coding, compiling, are means to an end. Students learn
OO design by identifying and gathering requirements as use cases, and
then representing these requirements as class diagrams. Once the students
have a working design of the solution, they can start coding it, in Java.
Project-oriented learning: the instructor guides students through the process of modeling a real world problem, such as a movie ticket machine (at right). Then the students develop their own solution for a similar problem, such as an ATM. |
![]() |
| Our software support: we have also developed an intelligent tutoring system (ITS) that is embedded in an Eclipse plug-in. Eclipse is an open-source (and free) integrated development environment, now the most widely used in industry. Our LehighUML plug-in (see a screen capture) lets students design class diagrams that conform to the Unified Modeling Language (UML) standard. It also reports on the student’s progress to our ITS, which analyzes their work on in-class and homework assignments and provides real-time guidance when they make mistakes. The plug-in also automatically generates Java code from their class diagrams. Thus they are able to concentrate on designing a solution in terms of classes, attributes and methods without worrying so much about syntactic details. A stand-alone version of LehighUML is now also available, if you'd rather not work in the Eclipse environment (i.e., work with DrJava, NetBeans, etc.). Freely available for your school! Resources available online:
If you are interested in using our materials
or have questions, please contact: |
|