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

e-mail:                        nhark@laverne.edu.gr

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

 

Textbook

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

Parameters

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

Homework: 

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.

Assignments.

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

Homework: 

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:

Debugging

Repetition statements – while, do ..while, for

Lab Activities:

Car payment application

Class average application

Interest calculator application

Homework: 

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:

Methods

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

Homework: 

Develop your own racecar for Coderally.

 

 

Week V.                                                                                 February 4, 2004

Theoretical Topics:       

Behavior.

Interfaces and implementations

Packages and import

Using maps for associations

Public versus private

Class variables and constants

Technical Topics:

Documentation.

Tokenizing strings

The Random class

Arrays

Lab Activities:

Craps game application

Flag quiz application

Student grades application

Introduction to Mindstorm Robotics invention

Homework: 

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

Homework: 

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

Extensions

Coupling

Responsibility-driven design

Cohesion and refactoring

Technical Topics:

Collections, ArrayList and Iterators

            Universal Modeling Language (UML)

Lab Activities:

Shipping hub application

Homework: 

Analyze and represent a real life scenario using UML diagrams

 

 

Week VIII.                                                                            February 25, 2004

Theoretical Topics:       

Inheritance

Subtyping

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

Homework: 

Enhance the calculator application with a Geometry module

 

 

Week IX.                                                                                           March 3, 2004

Theoretical Topics:       

Overriding

Dynamic method lookup

Super call in methods

Method polymorphism

Protected access

Technical Topics:

Exception handling

Lab Activities:

Enhanced car payment application

Homework: 

Add a paint module to the calculator application

 

 

Week X.                                                                                             March 10, 2004

Theoretical Topics:       

Abstraction techniques

Abstract classes and methods

Multiple inheritance

Interfaces

Technical Topics:

Sequential-access files

Lab Activities:

Ticket information application

Introduction to Tomcat server

Introduction to Cloudscape Object Relational DBMS

Homework: 

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

Homework: 

Develop a GUI interface to access Cloudscape.

 

 

Week XII.                                                                              March 24, 2004

Theoretical Topics:       

Designing applications

Analysis and design

Prototyping

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