• Ingen resultater fundet

Pros and Cons of Using Graphics in Java

Visuals First Approach in an Introductory Web-based Programming Course

2.5 Pros and Cons of Using Graphics in Java

Our choice of using the graphics and event-driven approach has approved to be a correct one. The students at the programming course found that graphical programming was motivating. The students have been enthusiastic to complete the given assignments and they have given positive feedback about the content of the learning materials and examples.

However using graphical components unnecessarily add complexity. The programming assign-ments were designed to instruct students on specific concepts, and programming graphical components hampers inexperienced students from completing the required tasks. Some argue that the applets and graphical components should not be used to teach basics of programming. There are simply too many complex and confusing concepts to be mastered before they can be efficiently exploited during the courses. On the other hand there exists reports that describe the possible problems for using graphics in Java (Roberts and Picard, 1998). For example, despite Java’s claims of full-fledged system indepen-dence, often one can not be sure how threaded or windowed graphics programs will act on different platforms.

Naturally these factors have more weight at the distance learning situation. If the learning material consists of many confusing factors it can hinder the learning or even make it impossible. On the other hand simplified examples or use of predefined graphical components can ease the complexity, but at the same time we narrow the possibilities of visual objects and graphics and, thus frustrate an eager student.

Hence, finding the balance between complexity and other factors is crucial. In our opinion for example the theory-first approach is a little bit boring and heavy for novice programmers (see Section 3). Surely, solid theory and properly defined concepts help learner to understand features of Java language. On the other hand this can lead to situation where the students have to master various concepts and facts before they can start constructing meaningful applications. It is not certain that all students have motivation to do this. In our opinion the design and implementation of interactive graphical programs motivates students to use objects and write methods while constructing appealing pieces of software.

3 Visuals First Approach Compared to Other Methods

Because of the early stage of the Computer Science Education field, it is hard to find an appropriate taxonomy of different approaches to teach introductory programming. However, at least the following pedagogical starting points can be easily identified:

Theory-driven approach. A programming course builds on a certain programming paradigm.

Examples and exercises tend to be rather academic and serve a specific topic from the contents (Budd, 2000).

Language-specific approach. A course introduces the students to programming by presenting a language feature by feature (Kernighan and Ritchie, 1979).

Case-based approach. The expressive power of a language is described by starting from real-world cases which correspond to the major structures of the language (Ben-Ari, 1998).

Problem-based approach. Teaching starts by closed or open problems which a student solves by learning specific program concepts and applying them in an implementation (Morelli, 2002).

Tool-assisted approach. A course has been designed around a tool which the student is en-couraged to use throughout her learning process. The tool might be an entire programming environment, a debugger, or an animation tool. For example the software packages like BlueJ could be seen as en example of this approach (Barnes and K¨olling, 2003).

It is important to note that a student can probably reach the same “level” of expertise by following any of the approaches above. However, individual differences related to factors like learning style,

age, or prior programming skills might make one approach more appealing than others. Moreover, a given approach is not restricted to a specific educational theory, like behaviorism.

From the program visualization point of view, all the presented approaches would probably regard various visual or animation tools as opportunities to elaborate a code under study. In this respect, the introduced Visuals first approach is of a different origin. Here, the visual task is elaborated by a program, not vice versa. A student learns by using a programming language in a functional way:

as a tool to create visuals he cannot resist to see on the screen. From the educational point of view, therefore, the presented approach considers learning to program a side-effect of solving an inspiring visual assignment—thus emphasizing attitudinal issues like joy of learning, internal motivation, and solving cognitive dissonance.

Naturally the learning materials in programming courses have also some features that can be found basically in all the approaches above. For example we have used to some extent Jeliot 2000 program in order to receive its potentiality in distance education context (Haajanen et al., 1997). There were no direct instructions on how and when to use Jeliot. Students simply had an opportunity to make use of it, if they thought it would be useful for them. On the other hand we did not control the use of the program, there were only some indication at the discussion forum that some of the students had done some experiments with it. Furthermore, some of the materials are based on theory-driven approach, but the visual objects are presented at early stages of programming.

4 Conclusion

Visual objects-first approach presented in this paper is one solution to start building web-based pro-gramming courses. We saw in Chapter 3 that there exist various approaches that take another perspec-tive. We do not suggest that our way is the silver bullet that solves all the problems involved with teaching basics of programming. Nevertheless, we believe that visual and interactive examples and exercises play an important role in learning programming, especially in the distance learning context.

Visual objects and interactive programs have features that seem to motivate students to struggle with their studies. Of course we can use also sound or other medias in similar way, which expands the possible interest area of students. In an ideal situation the learning material could consist of examples and assignments that excite and motivate as wide population of students as possible.

5 Acknowledgements

Virtual Approbatur project is a part of Finnish Virtual University and it is co-funded by Ministry of Education.

References

J.M. Anderson and T.L. Naps. A context for the assessment of algorithm visualization systems as ped-agogical tools. In Sutinen E., editor,the Proceedings of the First Program Visualization Workshop, International Proceedings Series 1, pages 121–130, Porvoo, Finland, 2000.

D.J. Barnes and M. K¨olling. Objects First with Java - A Practical Introduction Using BlueJ. Pearson Education Limited, New Jersey, USA, 2003.

M. Ben-Ari. Ada for Software Engineers. John Wiley & Sons, New York, USA, 1998.

T Budd. Understanding Object Oriented Programming with Java. Addison Wesley, Boston, USA, 2000. 3rd Edition.

J. Haajanen, M. Pesonius, E. Sutinen, J. Tarhio, T. Ter¨asvirta, and P. Vanninen. Animation of user algorithms in web. Inthe Proceedings of VL’97 IEEE Symposium on Visual Languages, pages 360–367, Isle of Capri, Italy, 1997.

A. Haataja, J. Suhonen, E. Sutinen, and S. Torvinen. High school students learning computer science over the web.Interactive Multimedia Electronic Journal of Computer-Enhanced Learning (IMEJ), 3, October 2001. Available at: http://imej.wfu.edu/articles/2001/2/04/index.asp.

B.W. Kernighan and D. Ritchie. The C Programming Language. Prentice-Hall, New Jersey, USA, 1979.

R. Morelli. Java, Java, Java - Object Oriented Problem Solving. Prentice-Hall, New Jersey, USA, 2002.

E. Roberts and A. Picard. Designing a java graphics library for cs1. In ITiCSE’98, pages 215–218, Dublin, Ireland, 1998.

A New Approach to Variable Visualization: Roles as Visualization