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.
Additional Topics:
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.