Feb 19, 2020  
2019 - 2020 Cowley College Academic Catalog 
    
2019 - 2020 Cowley College Academic Catalog

CIS1870 ADVANCED JAVA PROGRAMMING COURSE PROCEDURE


CIS1870 ADVANCED JAVA PROGRAMMING

3 Credit Hours

Student Level:

This course is open to students on the college level in either freshman or sophomore year.

Catalog Description: 

CIS1870 - Advanced Java Programming (3 hrs.)

An introductory course to give computer science majors an introduction to programming in Java. Advanced topics will be covered: Swing to create graphical user interfaces, the model-view-controller, graphics programming, JavaBeans, concepts of security, Java Database Connectivity, servlets, Java Server pages, RMI, EJBs, JMS, and Jini. 

Course Classification:

Lecture

Prerequisite:

CIS1868 Java Programming

Controlling Purpose:

This course is offered to teach advanced programming skills in Java to students.  The topics learned in this course will allow the student to explore some of the various uses for Java.

Learner Outcomes:

Upon completion of this course, the student should be able to write more advanced Java applications.  The student will learn Swing to create graphical user interfaces, the model-view-controller, graphics programming, JavaBeans, concepts of security, Java Database Connectivity, servlets, Java Server pages, RMI, EJBs, JMS, and Jini.  Some of these concepts will be taught but not necessarily programmed.

Unit Outcomes for Criterion Based Evaluation:

The following defines the minimum core content not including the final examination period. Instructors may add other content as time allows.

UNIT 1: Advanced Swing Graphical User Interface Components

Outcomes: Upon completion of this unit, the student will understand how to design

Java GUI’s using advanced swing components

  • Be able to use Swing components to enhance application GUIs.
  • Be able to use Swing text components to view styled documents.
  • Understand the Command design pattern and its implementation in Swing.
  • Be able to develop applications with multiple-document interfaces.
  • Understand how to implement drag-and-drop support.
  • Learn how to prepare internationalized applications.
  • Understand how to use Swing to create accessible applications for people with disabilities.

UNIT 2: Model View Controller

Outcomes: Upon completion of this unit, the student will understand how to use model-view-controller architecture to represent data in an application

  • Understand the model-view-controller (MVC) architecture for separating data, presentation and user input logic.
  • Understand the Observer design pattern.
  • Understand MVC’s use in Java’s Swing GUI components.
  • Understand the default model implementations for Swing components.
  • Understand the use of Table Models to represent tabular data for J tables.
  • Understand tree data structures and their use as Tree Models for J trees.

UNIT 3: Graphics Programming with Java 2D and Java 3D

 Outcomes: Upon completion of this unit, the student will understand how to use the

Java 2D and 3D API to draw basic shapes

  • Be able to use the Java 2D API to draw various shapes and general paths.
  • Be able to specify Paint and Stroke characteristics of shapes displayed with Graphics2D.
  • Be able to manipulate images using Java 2D image processing.
  • Use the Java 3D API and Java 3D Utility classes to create three-dimensional graphics scenes.
  • Manipulate the texture and lighting of three-dimensional objects with Java 3D.

UNIT 4: JavaBeans Component Model

Outcomes: Upon completion of this unit, the student will understand how to write programs that implement JavaBeans 

  • Understand JavaBeans and how they facilitate component-oriented software construction.
  • Understand how to use Forte for Java Community Edition to build JavaBeans-based applications.
  • Be able to wrap class definitions as JAR files for use as JavaBeans and stand-alone applications.
  • Be able to define JavaBean properties and events.

UNIT 5: Security

Outcomes: Upon completion of this unit, the student will understand how to writh programs that implement basic security and cryptography 

  • Understand the basic concepts of security.
  • Understand public-key/private-key cryptography.
  • Learn about popular security protocols, such as SSL.
  • Understand digital signatures, digital certificates and certification authorities.
  • Learn how Java provides solutions to security problems.
  • Learn how to produce secure code with Java technology.

UNIT 6: Java Database Connectivity (JDBC)

Outcomes: Upon completion of this unit, the student will understand how to write programs that access databases through the Java Database connectivity package

  • Understand the relational-database model.
  • Understand basic database queries using Structured Query Language (SQL).
  • Use the classes and interfaces of package java.sql to manipulate databases.
  • Use transaction processing to prevent database updates from modifying the database if an error occurs during a transaction.
  • Introduce the JDBC 2.0 optional package javax.sql’s capabilities for obtaining database connections, creating connection pools and treating result sets as JavaBeans.

UNIT 7: Servlets

Outcomes: Upon completion of this unit, the student will understand how to write programs that run on the server.

  • Understand how to execute servlets with the Apache Tomcat server.
  • Be able to respond to HTTP requests from an HttpServlet.
  • Be able to redirect requests to static and dynamic Web resources.
  • Be able to maintain session information with cookies and HttpSession objects.
  • Be able to access a database from a servlet.

UNIT 8: Java Server Pages (JSP)

Outcomes: Upon completion of this unit, the student will understand how to write java server pages

  • Be able to create and deploy Java Server Pages.
  • Use JSP’s implicit objects and Java to create dynamic Web pages.
  • Specify global JSP information with directives.
  • Use actions to manipulate JavaBeans in a JSP, to include resources dynamically and to forward requests to other JSPs.
  • Create custom tag libraries that encapsulate complex functionality in new tags that can be reused by JSP programmers and Web-page designers

UNIT 9: Remote Method Invocation

Outcomes: Upon completion of this unit, the student will understand how to write basic programs that implement distributed services 

  • Understand the distributed computing concepts.
  • Understand the architecture of RMI.
  • Be able to use activatable RMI objects to build resilient distributed systems.
  • Understand how to use RMI callbacks.
  • Be able to build RMI clients that download necessary classes dynamically.
  • Be able to build activatable RMI objects.

UNIT 10: Session EJBs and Distributed Transactions

Outcomes:  Upon completion of this unit, the student will understand how to write basic programs that process distributed transactions.

  • Understand EJBs as business-logic components.
  • Understand JNDI’s role in enterprise Java applications.
  • Understand distributed transactions.
  • Understand the advantages and disadvantages of container-managed and bean-managed transaction demarcation.

UNIT 11: Entity EJBs

Outcomes: Upon completion of this unit, the student will understand the concept of entity EJs 

  • Understand how entity EJBs represent persistent data.
  • Understand synchronization issues between EJBs and database data.
  • Understand the life cycle of an entity EJB.
  • Understand the advantages and disadvantages of container-managed and bean-managed persistence.

UNIT 12: Messaging with JMS

Outcomes: Upon completion of this unit, the student will understand how to write programs that implement the Java Message Service API 

  • Understand message-oriented middleware.
  • Understand the point-to-point messaging model.
  • Understand the publish/subscribe messaging model.
  • Understand the difference between the two messaging models and when it is appropriate to use each.
  • Understand how to use the Java Message Service (JMS) API to build messaging applications in Java.
  • Introduce message-driven EJBs.

UNIT 13: Jini

Outcomes: Upon completion of this unit, the student will understand how to write programs that implement Jini Technology Architecture

  • Understand the Jini Technology Architecture.
  • Be able to identify the major components of a Jini solution.
  • Be able to implement Jini services and register those services with Jini lookup services.
  • Be able to write a Jini client.
  • Be able to use Jini helper classes to simplify service implementations.  

Projects Required:

Projects will vary according to the instructor.

Text Book:

Contact bookstore for current textbook information.

Materials/Equipment Required:

None

Attendance Policy:

Students will adhere to the attendance policy outlined by the instructor in the course syllabus.

Grading Policy:

Grading procedures will vary according to the instructor.

Maximum Class Size: 

Based on classroom occupancy

Course Time Frame:

The U.S. Department of Education, Higher Learning Commission and the Kansas Board of Regents define credit hour and have specific regulations that the college must follow when developing, teaching and assessing the educational aspects of the college. A credit hour is an amount of work represented in intended learning outcomes and verified by evidence of student achievement that is an institutionally established equivalency that reasonably approximates not less than one hour of classroom or direct faculty instruction and a minimum of two hours of out-of-class student work for approximately fifteen weeks for one semester hour of credit or an equivalent amount of work over a different amount of time,  The number of semester hours of credit allowed for each distance education or blended hybrid courses shall be assigned by the college based on the amount of time needed to achieve the same course outcomes in a purely face to-face format.

Refer to the following policies:

402.00 Academic Code of Conduct

263.00 Student Appeal of Course Grades

403.00 Student Code of Conduct

Disability Services Program:

Cowley College, in recognition of state and federal laws, will accommodate a student with a documented disability.  If a student has a disability, which may impact work in this class, which requires accommodations, contact the Disability Services Coordinator.