HUMBER SCHOOL OF INFORMATION TECHNOLOGY
COURSE OUTLINE
ACADEMIC YEAR FALL '02 TO SUMMER '03
COURSE NUMBER |
CPAN 221 |
|
|
COURSE NAME |
Object Oriented Programming
Using Java |
|
(Formerly Intermediate Java) |
|
|
CREDITS |
4 |
|
|
PRE-REQUISITES |
CPAN 100 Information Technology
Foundations |
|
CPAN 120 Fundamentals of
Programming and Design Using Java |
|
|
TEXT REQUIRED |
Big Java |
|
Cay Horstman |
|
Wiley |
|
|
ISBN |
0-471-40248-6 |
|
|
SOFTWARE |
JDK1.3 running on DOS/UNIX,
JBuilder 4 |
|
|
|
|
ORIGINATED BY: |
|
DATE: |
|
|
|
REVISED BY: |
Fielder/C. Shin |
DATE: June
2002 |
|
|
|
COURSE DESCRIPTION
This course is the
introduction to Object Oriented Programming. At the end of this course, a student
is expected to have knowledge of the basic components of Java, Object Oriented
approach of programming, Graphics, Applets and I/O Streams. Java will be taught
during lectures and used as the language for programming assignments.
LEARNING OUTCOMES
Upon completion of this course, the successful
student will be able to:
1. |
Apply a systematic approach
to problem solving by using OOP concepts: object composition, encapsulation,
inheritance, and polymorphism. |
2. |
Demonstrate skills in problem
analysis, logic development, program design and implementation that can
be applied in a wide variety of programming situations. |
3. |
Apply concepts of modular program
design and component re-usability in Java. |
4. |
Demonstrate an understanding
of Java syntax, including usage of Java API to implement GUI applications |
5. |
Write programs in Java to solve
business type data processing problems |
6. |
Test and debug Java programs
effectively. |
7. |
Demonstrate the ability to think
critically and logically by developing algorithms |
GENERIC SKILLS
The following generic skills will be acquired and/or
enhanced:
COMMUNICATION
- Interpret and write Java programs for a broad range
of technical instructions and program specifications.
MATHEMATICS
- Apply the fundamentals of mathematics (addition, subtraction,
division, multiplication, integers, signed integers, averages, fractions and
percentages) to the solution of routine problems.
- Apply appropriate formulae to solve common business
problems.
- Define precision and accuracy in mathematical calculations
and use the rules for significant figures.
CURRICULUM DETAIL:
1. |
Object Oriented Programming
- Understand abstract data types
- Use constructors for initialization
- Understand class variables
- Instantiate a class
- Set and get methods
- Scope of methods and variables
- Static methods and fields
|
Ch 2, 7 |
2. |
Graphics and Applets
- Create applets
- Obtain and understand graphics contexts
- Set font and color
- Draw geometric shapes
- Coordinate transforms
|
Ch 4 |
3. |
Testing and Debugging
- Describe the principles of test case selection
and evaluation
- Use logging and assertions
- Become familiar with the debugger in JBuilder4
- Discuss strategies for effective debugging
|
Ch 8 |
4. |
Interfaces and Polymorphism
- Define and implement an interface
- Explain the concept of polymorphism
- Use interfaces to decouple classes
- Implement helper classes as inner classes
- Access variables of surrounding scope from inner
class
- Discuss syntax of anonymous inner class
- Implement event listeners for timer events
|
Ch 9 |
5. |
Event Handling and Basic Graphical User Interface
(GUI) Components
- Create JButtons and associated Listeners
- Process mouse events
- Differentiating between multiple buttons
- Handle text-based components
- Create JFrame windows
|
Ch 10 |
6. |
Inheritance
- Discuss access control
- Construct superclass and subclasses
- Inherit instance fields and methods
- Abstract classes
- Final methods and classes
|
Ch 11 |
7. |
Advanced Graphical User Interface
- Utilize labels, text fields, buttons, check boxes,
radio buttons & list boxes
- Handle events
- Utilize adapter classes
- Benefit from layout managers
- Apply panels, sliders, popup menus, and desktop
panes
- Explore advanced layout managers
|
Ch 13 |
8. |
Exception Handling
- Implement error handling techniques
- Employ try-catch-finally blocks
- Throw exceptions
- Apply throws clause in a method declaration
- Understand exceptions and inheritance
- Handle the finally clause
|
Ch 14 |
ASSESSMENT AND EVALUATION
An average of 60% must be achieved
on the tests and on the final exam for the lab assignments to be counted in
the final mark.
The Marking distribution is as follows:
ASSIGNMENTS |
30%
|
TEST 1 |
35%
|
FINAL EXAM
(Comprehensive |
35%
|
This course has been designated a programming
course. In all of the programming courses, a portion of the marks for assignments
will be allocated to program structure, screen layout and print layout.
Please note: The Distance Learning version of this course
(if available) may have a different grading scheme than the classroom version.
Check the information page of the Distance Learning version for details. Students
must pass the proctored final exam for any other test and lab assignments to
count towards their final mark.
PRIOR LEARNING ASSESSMENT
(PLA) College PLA requirements must be followed. PLA consists
of an oral qualifying interview and, if successful, a challenge exam. Depending
on the level of success on the challenge exam, a case study may be assigned.
ACADEMIC REGULATIONS
It is the responsibility of each student to be knowledgeable
of the Humber College Academic Regulations and the School of Information Technology
Academic Standards and Regulations. Copies of the standards are available in
the School of Information Technology main office H221. It is the student's responsibility
to retain course outlines for possible future use in support of applications
for transfer credit to other educational institutions. **A charge of $5.00 per
course outline may apply for additional copies.**
DISCLAIMER
Every effort will be made by the instructor of the course to
cover all the material listed. However, in the event of special circumstances
(i.e. time constraints due to inclement weather, sickness, technology problems
or changes, etc) the order, content and/or evaluation may be changed with prior
notification to students and approval from the Dean/Associate Dean
|