University of LaVerne-Athens Campus

Department of Science, Computer Science and Mathematics

Winter 2004


CMPS 279 – Java for E-Commerce 


Semester Hours:      4

Pre-requisites:          None

Requirement:           E-Commerce, B.S.

Instructor:                 Nicholas Harkiolakis, Ph.D.

Associate Professor,

Chair, Dept. of Science, Computer Science and Mathematics

Class Sessions:         Wednesday 18:00 – 22:00

Location:                   Main Computer Lab

Office Hours:            Monday – Wednesday 9:00 – 3:00 by appointment


Message phone:       210-6898850



Course Description: 

Covers the principles of object-oriented programming language using Java. Includes classes, methods, graphical user interface (GUI), multimedia, Java database connectivity (JDBC), and Web-application development.


Learning Objectives:

·        To introduce a software development environment.

·        To familiarize the student with programming concepts and algorithm development.

·        To apply programming for the solution of real life problems.


Course Requirements:

·      Class attendance and participation

·      Weekly homework assignments

·      In class assignments

Default Assumptions

1.      Unfinished lab activities will always be added to homework

2.      All homework and projects are due on the next scheduled Wednesday session



Objects First With Java

Barnes and Kolling, Prentice Hall, 2003


Supporting Textbook

Simply Java Programmng

Deitel, Prentice Hall, 2003


Weekly Schedule


Week I.                                                                                  January 7, 2004

Theoretical Topics:

Introduction to classes

What is an object?

Creating Objects

Calling methods


Data types

Multiple instances

Return values

Technical Topics:

Introducing computers, the Internet and Java programming with GUI elements.

Lab Activities:

Moving shapes application

Welcome application

Inventory application


Develop a simple calculator with addition, subtraction, multiplication and division operations.



Week II.                                                                                 January 14, 2004

Theoretical Topics:

Class definitions. Fields, Constructors and methods.

Passing data via parameters.


Accessor methods.

Mutator methods. Local variables.

Technical Topics:

Variables, memory concepts, event programming.

Algorithms and pseudocode

Program control statements – if, if .. else, switch

Message dialogs and logical operators.

Lab Activities:

Dental payment application

Wage calculator application

Security panel application

GUI development for the simple calculator


Enhance the calculator with error correction/prevention code



Week III.                                                                               January 21, 2004

Theoretical Topics:       

Abstraction and modularization

Object interaction

Class diagrams versus object diagrams.

Primitive types and object types

Multiple constructors

Method calls

Technical Topics:


Repetition statements – while, do ..while, for

Lab Activities:

Car payment application

Class average application

Interest calculator application


Enhance the calculator with a Statistics module



Week IV                                                                                January 28, 2004

Theoretical Topics:       

Grouping objects in collections

Numbering with collections

Processing collections

Fixed – size collections

Technical Topics:


Event handling

Scope and conversion of primitive types

Lab Activities:

Enhancing the wage calculator application

Enhancing the interest calculator application

Fundraiser application

Introduction to Coderally


Develop your own racecar for Coderally.



Week V.                                                                                 February 4, 2004

Theoretical Topics:       


Interfaces and implementations

Packages and import

Using maps for associations

Public versus private

Class variables and constants

Technical Topics:


Tokenizing strings

The Random class


Lab Activities:

Craps game application

Flag quiz application

Student grades application

Introduction to Mindstorm Robotics invention


Program the Mindstorm robot to follow a closed dark line



Week VI.                                                                               February 11, 2004

Theoretical Topics:       

Well-behaved objects

Unit testing

Test automation

Modularization and interfaces

Commenting and style

Technical Topics:

Building classes and objects

Lab Activities:

Microwave oven application

Practice with Mindstorm robot


Refine both Coderally racecar and Mindstorm robot

Enhance the calculator application with menu drive controls



Week VII.                                                                              February 18, 2004

Theoretical Topics:       

Designing classes

Introduction to coupling and cohesion

Code duplication



Responsibility-driven design

Cohesion and refactoring

Technical Topics:

Collections, ArrayList and Iterators

            Universal Modeling Language (UML)

Lab Activities:

Shipping hub application


Analyze and represent a real life scenario using UML diagrams



Week VIII.                                                                            February 25, 2004

Theoretical Topics:       



Polymorphic collections

Technical Topics:

The Object class

Inheritance and graphics

Mouse, keyboard input and event handling

Lab Activities:

Screen saver application

“Cat and Mouse” painter application

Typing skills developer application


Enhance the calculator application with a Geometry module



Week IX.                                                                                           March 3, 2004

Theoretical Topics:       


Dynamic method lookup

Super call in methods

Method polymorphism

Protected access

Technical Topics:

Exception handling

Lab Activities:

Enhanced car payment application


Add a paint module to the calculator application



Week X.                                                                                             March 10, 2004

Theoretical Topics:       

Abstraction techniques

Abstract classes and methods

Multiple inheritance


Technical Topics:

Sequential-access files

Lab Activities:

Ticket information application

Introduction to Tomcat server

Introduction to Cloudscape Object Relational DBMS


Create a Cloudscape Database and execute simple queries



Week XI.                                                                                           March 17, 2004

Theoretical Topics:       

Handling errors

Defensive programming

Exception-throwing principles

Exception handling and error recovery

Technical Topics:

Database programming

Command line arguments

Java Speech API

Lab Activities:

ATM application

Phone book application


Develop a GUI interface to access Cloudscape.



Week XII.                                                                              March 24, 2004

Theoretical Topics:       

Designing applications

Analysis and design


Design patterns

Technical Topics:

Web application development

Client tier

Information tier

Middle tier

Lab Activities:

Bookstore application.



Method of Evaluation

·      Class Attendance and Participation:                                                    20%

·      Calculator assignments:                                                                         40%

·      Coderally assignment:                                                                           20%

The winner gets an extra 10% towards his/hers final grade

·      Robocode assignment                                                                            20%

The winner gets an extra 10% towards his/hers final grade



Plagiarism Policy 

Students are responsible for performing academic tasks in such a way that honesty in not in question.  Please refer to the Academic Honesty Policy in the University Catalog for the full detailed policy on this matter.



Attendance Policy

Attendance is Compulsory.  Contact  instructor for any absence.  Final student grade will be reduced by 10% for every absence made above three. Course must be dropped if missing more than five class sessions



Class Participation

Students are expected to follow the professor’s guidelines for working classroom assignments.



Make-up and late assignments

Students are expected to manage their time appropriately so as to submit their assignments on time. Late assignments will receive no credit. Exceptions to this rule will be considered on an individual basis.



This course may be modified, verbally or in writing, at any time during the term at the discretion of the instructor or department