June 22, 2008
June 22, 2008
June 25, 2008
13.1166.1 - 13.1166.9
Teaching Java – Objects First with BlueJ
The traditional way to teach computer languages such as C, C++ is to start with a simple program “Hello, world!”. Java derives much of its syntax from C and C++ but has a simpler object model and fewer low-level facilities. But Java uses the object-oriented programming methodology. To start teaching “Hello, world!” will not help students understand the object- oriented programming concept of Java. Therefore, it will be difficult for students to take advantage of object-oriented programming concepts. In this paper, an objects first Java teaching method with BlueJ, a simplified and virtualized development environment, is presented. A post- course assessment is conducted. The interpretation of the assessment results is also discussed.
Java was created by James Gosling at Sun Microsystems1. It combines object-oriented (OO) features such as data abstraction, inheritance, and dynamic binding with procedural features such as variables, assignment, and control structures. The result is a powerful but complex language that is difficult for beginning programmer to master.
The Java programming language has become increasingly popular in recent years because of its support for the platform independent, and the OO paradigm. Teaching Java is becoming more and more common in university departments2. There are two ways to teach OO computer languages such as Java3. The traditional way (objects later) is to start with data type, then control structures, eventually classes and objects. An alternative way is the ‘objects first’ approach, which is to start first with classes and objects, then move to source code. Java is not the introductory computer programming language for students at authors’ department. The students already took C++ in freshman or junior years. The students were taught C++ programming language concepts and skills without the object-oriented paradigm.
Java derives much of its syntax from C and C++ but has a simpler object model and fewer low- level facilities. Java programming language platform is based primarily on object-oriented structures. This makes the use of the language as a teaching tool much easier when teaching object-oriented concepts. The way to understand the OO paradigm is to deal with the fundamental concepts - classes and objects. The longer this is left, the more difficult the paradigm shift becomes.
The transition from the procedural programming paradigm to OO paradigm is very difficult4. Object-oriented development requires a new way of thinking5. The syntax-driven approach (objects later) can take students’ attention away from the underlying concepts and principles of OO6, 7. In the computing education community, a well-known educational design pattern exists that states that important concepts should be taught early and often8. Based on these concerns, the questions bringing which needs consideration are as follows: • Which textbook is suitable? • Which programming environment will be used?
Chen, X., & Olowokere, D., & Thomas, G. (2008, June), Teaching Java – Objects First With Bluej Paper presented at 2008 Annual Conference & Exposition, Pittsburgh, Pennsylvania. https://peer.asee.org/3789
ASEE holds the copyright on this document. It may be read by the public free of charge. Authors may archive their work on personal websites or in institutional repositories with the following citation: © 2008 American Society for Engineering Education. Other scholars may excerpt or quote from these materials with the same citation. When excerpting or quoting from Conference Proceedings, authors should, in addition to noting the ASEE copyright, list all the original authors and their institutions and name the host city of the conference. - Last updated April 1, 2015