Standard

  

CIS 2421 – Intermediate Java Programming

Course Description:

Programmers familiar with object-oriented concepts will learn how to develop Java[tm] applications. This course is used to teach students the syntax of the Java programming language and object-oriented programming with the Java programming language. The course uses the Java 2 Software Development Kit (SDK).

 

Competency Areas:

Hours:

Understand JAVA virtual machine

Class

4

Able to understand classes and packages

D. Lab

6

Using JAVA identifiers, keywords, data types, and comments

P. Lab/O.B.I.

0

Able to use Boolean and arithmetic expressions, loops decisions, and switches

Credit

7

Ability to create and use JAVA array techniques

 

 

Ability to code methods and constructors using objects and classes

 

 

Ability to override methods and constructors, use of static and final variables and methods as well as wrapper classes

 

Ability to handle JAVA exceptions

 

 

 

 

 

Prerequisite:  CIS 2401, CIS 2411

Corequisite:

 

 

Course Guide

 

 

 

Competency

After completing this section, the student will:

Hours

Class

D. Lab

P. Lab/

O.B.I.

UNDERSTAND JAVA VIRTUAL MACHINE

2

3

0

 

List the key features of the Java programming language

 

 

 

 

Describe the Java Virtual Machine

 

 

 

 

Explain how garbage collection works

 

 

 

 

Describe how security features work

 

 

 

ABLE TO UNDERSTAND CLASSES AND PACKAGES

2

3

0

 

Define classes and packages

 

 

 

 

Write a simple Java application, compile and run it

 

 

 

 

Use the Java Applicaton Programming Interface (API) on-line documentation

 

 

 

USING JAVA IDENTIFIERS, KEYWORDS, DATA TYPES, AND COMMENTS

4

6

0

 

Use comments in a program

 

 

 

 

Distinguish between valid and invalid identifiers

 

 

 

 

Recognize the keywords in the Java programming language

 

 

 

 

List the eight primitive types

 

 

 

 

Define literal values for numeric and textual types

 

 

 

 

Describe the coding conventions for classes, interfaces, methods, variables, constants, and control structures

 

 

 

 

Describe the terms class, object, member variable, and reference

 

 

 

 

Create a class definition for a simple class containing primitive member variables

 

 

 

 

Declare variables of class type

 

 

 

 

Construct an object using the keyword new

 

 

 

 

Access the member variables of an object using the dot notation

 

 

 

 

Describe the significance of a reference variable and state the consequences of assignment between variables of class type

 

 

 

ABLE TO USE BOOLEAN AND ARITHMETIC EXPRESSIONS, LOOPS DECISIONS, AND SWITCHES

4

6

0

 

Distinguish between member and automatic variables

 

 

 

 

Describe the initialization of member variables

 

 

 

 

Recognize and correct a "Possible reference before assignment" compiler error

 

 

 

 

Recognize, describe, and use operators

 

 

 

 

Distinguish between legal and illegal assignments of primitive types

 

 

 

 

Recognize Boolean expressions and state the requirement for these in control constructs

 

 

 

 

Recognize assignment compatibility and required casts in fundamental types

 

 

 

 

Make appropriate use of if, switch, for, while, and do constructions and the labeled forms of break and continue

 

 

 

ABILITY TO CREATE AND USE JAVA ARRAY TECHNIQUES

4

6

0

 

Declare and create arrays of primitive, class, or array types

 

 

 

 

Explain why and show how to initialize the elements of an array

 

 

 

 

Determine the number of elements in any array

 

 

 

 

Write code to copy arrays

 

 

 

ABILITY TO CODE METHODS AND CONSTRUCTORS USING OBJECTS AND CLASSES

8

12

0

 

Describe encapsulation, polymorphism, and inheritance

 

 

 

 

Write code to define a method

 

 

 

 

Write code to create and initialize an object

 

 

 

 

Use the this keyword to access the "current" object

 

 

 

 

Use private and public access modifiers

 

 

 

 

Write code to invoke a method on a particular object

 

 

 

 

Write class constructors and invoke particular constructors using new with arguments

 

 

 

 

Invoke overloaded methods and constructors

 

 

 

 

Use subclassing

 

 

 

 

Create and use heterogeneous collections

 

 

 

 

Create and use methods that accept generic argument types

 

 

 

 

Write overriding methods in a subclass and describe execution flow when executing an overridden method

 

 

 

 

Invoke overridden methods and describe how the method is chosen

 

 

 

 

Understand the use of import statements for library access

 

 

 

ABILITY TO OVERRIDE METHODS AND CONSTRUCTORS, USE OF STATIC AND FINAL VARIABLES AND METHODS AS WELL AS WRAPPER CLASSES

8

12

0

 

Develop overriding methods and invoke overridden methods

 

 

 

 

Invoke overridden constructors

 

 

 

 

Control invocation of parent class constructors

 

 

 

 

Declare and use static variables and methods

 

 

 

 

Declare and use final classes, methods, and variables

 

 

 

 

Use abstract methods and interfaces

 

 

 

 

Use access control levels

 

 

 

 

Identify deprecated classes and describe how to handle them during migration to Java 2 SDK

 

 

 

 

Use inner classes

 

 

 

 

Use wrapper classes

 

 

 

 

Describe collections

 

 

 

 

Describe reflection

 

 

 

ABILITY TO HANDLE JAVA EXCEPTIONS

8

12

0

 

Define exceptions

 

 

 

 

Describe the usage of the keywords try, catch, and finally

 

 

 

 

Describe exception categories

 

 

 

 

Identify common exceptions

 

 

 

 

Write code to handle your own exceptions

 

 

 

 

Suggested Resources

 

Books:

 

Deitel and Deitel, Java how to Program, 0-13-0345151-7, Prewntice-Hall, 2002.

Farrell, Java Programming: Comprehensive, 0-7600-1070-6 , Course Technology, 1999.