HUMBER SCHOOL OF INFORMATION TECHNOLOGY
COURSE OUTLINE
ACADEMIC YEAR FALL '02 TO SUMMER '03
COURSE NUMBER |
CPAN 322 |
|
|
COURSE NAME |
Java Application
Programming |
|
(formerly Advanced Java) |
|
|
CREDITS |
4 |
|
|
PRE-REQUISITES |
CPAN 221 Object Oriented Programming Using
Java |
|
(formerly Intermediate
Java) |
|
|
TEXT REQUIRED |
Java: How To Program |
|
Third Edition, 1999 |
|
Deitel & Deitel |
|
Prentice Hall |
ISBN |
0-13-012507-5 |
|
|
REFERENCE TEXT |
Java 2 Platform Unleashed |
|
First Edition, 1999 |
|
Jamie Jaworski |
|
Sams Publishing |
ISBN |
0-672-31631-5 |
ORIGINATED BY: |
|
DATE: |
|
|
|
REVISED BY: |
Tom Box |
DATE: June, 2002 |
|
|
|
COURSE DESCRIPTION
This course covers advanced Java Programming topics
including nested and inner classes, multithreading, multimedia, random-access
files, servlets, Remote Method Invocation (RMI), networking, Java Archive (JAR),
Java beans, and Java security.
LEARNING OUTCOMES
Upon completion of this course, the successful
student will be able to:
1. |
Operate with IO, data, and filter
streams. |
2. |
Create and update random-access
files. |
3. |
Create and start a new thread of
execution. |
4. |
Synchronize threads and perform
inter-thread communication. |
5. |
Create GUIs and applications with different
multimedia elements. |
6. |
Understand and use object serialization.
|
7. |
Use RMI to implement a three-tier
client/server distributed application. |
8. |
Implement Java networking applications using
connection-oriented and connectionless protocols. |
9. |
Use Jar files to reduce data transmission
time when loading applets/applications over a network. |
10. |
Use existing beans and create your own basic
beans using JavaBeans Development Kit. |
11. |
Write servlets and execute them with Java
Servlet Development Kit (JSDK). |
12. |
Document code with javadoc and present the
solutions in legible and maintainable fashion. |
GENERIC SKILLS
The following generic skills will be acquired and/or
enhanced:
COMMUNICATION
- Interpret a broad range of technical instructions (e.g.
program specifications).
MATHEMATICS
- Apply the fundamentals of mathematics (addition, subtraction,
division and 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. |
Files and Streams
- Review of Basic IO streams.
- Utilize byte-oriented and character-oriented
streams.
- Create random-access files.
- Implement serialization
|
17 |
2. |
Multithreading
- Understand thread life cycles
- Utilize the class Thread
- Manipulate thread priorities and scheduling
- Using thread Synchronization
- Create Producer/Consumer relationships
- Understand the use of daemon threads
- Utilize the Runnable interface
|
15 |
3. |
Multimedia
- Loading, scaling and displaying graphical images
- Loading and playing audio clips
- Using the Java Media Player
|
16 |
4. |
Java Database Connectivity
- Understand the connectivity to JDBC
- Review of the Relational Database Model including
SQL
|
18 |
5. |
Networking
- Creation of sockets steams
- Creation of a simple socket server
- Understand the Client/Server model
- Understand the use of Datagrams
|
21 |
6. |
Servlets
- Explore the Servlet API
- Handle HTTP GET and POST requests
- Understand Cookies
|
19 |
7. |
Remote Method Invocation (RMI)
Implement the remote interface
|
20 |
ASSESSMENT AND EVALUATION
This course has been designated as a programming
course. In all programming courses, a portion of the marks on assignments will
be allocated to program structure, screen layout and print layout, as
applicable. An average of 60% must be achieved on the tests for the
assignments to be counted for the final mark.
The Marking distribution is as follows:
ASSIGNMENTS |
33% |
MIDTERM |
33% |
FINAL |
34% |
Two exams will be online and of open-book type and will verify
the understanding of the material in situations which involve the development of
applications similar but not identical to those discussed in the lectures and
labs.
POLICY ON COLLABORATION ON PROGRAMMING ASSIGNMENTS AND
ACADEMIC INTEGRITY
- Unless otherwise specified by the professor, each student
must write the programs and reports independently. Sharing of code is not
allowed.
- In addition to the actual sharing of code, if students
develop an outline together of an approach to a problem (application logic)
that yields code that is substantially identical between the students, the
students will be considered to have improperly collaborated, even if no actual
transfer of code took place.
- At no time should you copy any part of another student's work
or permit someone else to copy any part of your work. For example, work done
on campus or other computers should not be made available so that another
student could copy any part of your work. It is your responsibility to protect
your work.
- When two or more students are determined to have improperly
collaborated, all students involved in the incident will not receive credit
for the assignment. Repetitive case of academic dishonesty may result in
failure of the course along with disciplinary action.
- If at any time you are not sure what constitutes
"appropriate'' collaboration, it is your responsibility to clarify it with the
professor.
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
|