Information Technology Reference
In-Depth Information
letting the students learn by example and by using a system tentatively called the Educational
Software Process (ESP), which teaches industry best practices and has students assess their
own processes in order to learn from their mistakes.
Roberts (2001) also pointed out a number of weaknesses in teaching Java at the
introductory level, including the size of the language and its libraries, the instability of its
platform, the complexity of input operations, the forced use of exception handling for even
simple programs, the need for wrapper classes to represent primitive types as objects, and
a graphics model that is difficult to teach in introductory courses. To combat these problems,
Roberts described the use of the MiniJava environment, which contains a subset of the
standard Java release along with simplifying enhancements that make it easier to use.
MiniJava has only 17 classes in its standard core, as opposed to over 2600 in version 1.4 of
the Java 2 Platform, Standard Edition (J2SE v1.4), does not allow the use of inner classes, limits
the variety of control statements, and treats all values, even primitives, as objects. MiniJava
also provides a console window that reads and evaluates expressions from the user and prints
the result, and an interactive graphical environment. Once students become proficient in the
programming concepts, they can then work without these simplifications.
Kölling and Rosenberg (2000) noted that Java development environments are often
designed for professional programmers and have a steep learning curve for novice program-
mers. In addition, most do not take an object-oriented approach, forcing users to deal with
files and directories rather than classes, objects, and relationships. The BlueJ Java develop-
ment environment (available free of charge from http://www.bluej.org/) was specifically
designed with teaching in mind (Kölling & Rosenberg, 2000; Sanders, Heeler, & Spradling,
2001). It provides an easy-to-use interface with customizable templates for class skeletons,
and lets the user instantiate objects and test methods without having to write a driver program.
Kölling and Rosenberg (2001) used the BlueJ system in class during three semesters of an
introductory object-oriented programming course. Because it is designed specifically for
beginners, students were able to use BlueJ competently after a brief tutorial. The system
supports an “objects first” approach, as it works around the need for a main method by letting
students interact directly with classes and objects. It also provides visual representations
that help students understand the relationship between classes and objects, and supports
student experimentation, thereby promoting frequent and early testing of code.
All of the above examples describe the use of Java in introductory programming courses
for computer science (CS) students. Little research exists on the use of Java as a first
programming language in graduate information systems (IS) or information technology (IT)
programs. While we face a number of the same issues that have been described here, there
are differences between IT Masters-level students and undergraduate CS majors that affect
the delivery of Java in an introductory programming course. For IS and IT students, their first
programming course may well be the only one they take. In addition, many of these students
have significant work experience and expect to see environments and applications that reflect
what they have been exposed to in the workplace. Some of the students may have extensive
procedural programming experience, some may have had exposure to object-oriented
concepts, and others may never have programmed before. While the lessons learned from
introductory CS courses provided valuable guidance, it was necessary to take the differences
inherent to graduate IT students into account when designing the course described next.
Search WWH ::




Custom Search