Home Skills Resume Portfolio Contact
 

 

 

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