Because of the great similarity between the C++ and Java languages, much of the information covered in C++ will be included here with the necessary modifications made. Those aspects of the Java language that are unique to it and different from C++ will be added to the list of topics as well as the list of skills.
An overview of the language is provided which includes a brief history of the development of the language, a specification of its capabilities and strengths, and its importance in current applications and systems development. The following major topics are covered in the curriculum:
Using the Sun Java Compiler as implemented in the Sun Java Workshop, the basic elements and components of a Java program, keyboard input, displaying information to the screen, the creation and use of variables, basic math operations, logical operators, conditional branching, the creation and implementation of loops, the design and creation of functions, polymorphism, overloaded functions and operators, single and multidimensional arrays, strings, defining and implementing classes, member data and member functions, constructors, static functions and data members, inheritance, and multiple interfaces.
Java archive files (JARS), multiple threads in applications and applets, animation with multiple threads, graphic images, sound files, class interfaces, mouse operations – mouse events and mouse movements, dialog box operations – displaying and responding to: buttons, checkboxes, radio buttons and menus, using frames, keyboard operations, Java packages, and Java beans.
Upon successful completion of this module, students will be able to demonstrate the following skills by being able to:
Identify and apply the basic elements of Java programs in creating software applications.
Master and apply the concepts of object oriented analysis and design.
When given a problem statement, heuristic or algorithm , identify the basic functional units required, i.e., classes, member variables, and member functions.
Design and implement all of the classes and objects needed to meet a program’s specifications.
Apply all of the fundamental methods of controlling the flow of a program including all forms of conditional branching and all variations of loops.
Implement data file input/output processing capability in the development of software applications.
Maximize code reuse through careful design and implementation of classes and the inheritance of those classes.
Create robust software that will handle exceptions and errors efficiently.
Use HTML to interact with applets.
Develop applets and applications with multimedia capabilities.
Develop applets and applications using multiple threads.
Include interactive visual components such as buttons, list boxes, and text areas in applications and applets.