One of the fundamental paradigms early Computer Science / Software Engineering classes seek to teach students is object oriented programming. Typically this is done using Java, an object oriented programming language. Part of Java is JavaFX, a graphics library that allows programmers to create graphical applications using Java. While it would be beneficial to use this graphics package to help demonstrate object oriented concepts, a student starting out with Java will not have the necessary knowledge to implement this package in their programs. This paper discusses a JavaFX based graphics library students can easily use with little to no prior experience coding in Java to get exposed to object oriented concepts in a graphical way.
One library that was of particular interest in the development of this library was the Wheels library created by Sanders and van Dam and was an easy way for students starting out learning object oriented programming to create graphical programs with little to no previous programming knowledge. This library was built on the AWT graphics package which limited the number of shapes that were available to students as well as the color pallet they could easily pick from. This creates an issue as Wheels was based off AWT it is now obsolete as AWT has been replaced by JavaFX.
The new library detailed here, named WheelsFX, is a Java library that is based off of the current JavaFX graphics library. It is designed to wrap JavaFX in a much more approachable set of methods and objects that students can interact with starting the first week of an object oriented programming course. This means students do not need to know concepts such as inheritance which is needed to work with JavaFX.
Aside from ease of use, this library was also designed to be easily extensible by heavily utilizing polymorphism and current best practices in programming including the use of Maven for dependency management. This results in a package that can be easily enhanced to add in additional functionality in the future and easily redeployed to provide students the enhanced functionality in a timely manner. This paper discusses a graphics library implemented in Java that students can easily use with little to no prior experience coding in Java or object oriented programming to get exposed to object oriented concepts in a graphical way
Are you a researcher? Would you like to cite this paper? Visit the ASEE document repository at peer.asee.org for more tools and easy citations.