CS 55   Java Programming

Fall 2004

J. Ken Geddes, Jr.  310/434-4628  BUS 220T
Office Hours:  see Fall 2004 Schedule; also by appointment and email
geddes_james@smc.edu     http://home.earthlink.net/~kengeddes/

Class Info

Section 4167    6:45p - 9:50p T        BUS 251  BUS 250
Arrange - 2 hours    3 units    Transfer: UC, CSU    Prerequisites: Computer Science 19 or 50

Course Description

Java is a general-purpose language for writing platform-independent, robust, secure programs. This course is intended for students who have completed a course in C programming. Students will learn how to develop Java applications and applets. Topics covered include the Java programming language, object-oriented programming (OOP), the Java applications programming interface (API), and graphical user interfaces (GUI’s).

Course Objectives

Upon successful completion of this course students will:
  1. know how to program in the Java programming language
  2. understand the Object Oriented Programming (OOP) paradigm
  3. know some of the core Java API

CS 55 Website

Point your browser to my homepage  http://home.earthlink.net/~kengeddes  Then take the link to CS 55  Java Programming.  This website contains this syllabus, assignment information, announcements and reminders, examples, links to Java development resources, and other pertinent information. I will make extensive use of the website to communicate with you. You are responsible for awareness of the information posted there.

Sending Email To Me

The Subject line shall be  cs55 4167 lastName, firstName
E.g., Subject: cs55 4167 Smith, James

Required Text

Java How to Program, 5th edition, Deitel and Deitel, ISBN: 0-13-101621-0; Publisher: Prentice Hall; Copyright: 2003; 1536 pp; Published: 12/16/2002; Price: $88.00

Note: The 4th and 3rd editions are also acceptable.

References

  1. Thinking in Java, Bruce Eckel, Prentice Hall PTR.  This is considered by many to be the best book there is on Java. There are over 400 examples, all clearly explained line by line in the text.  You can download both the text and the examples for free.
  2. The Java Tutorial: Object-Oriented Programming for the Internet, Mary Campione and Kathy Walrath. Addison-Wesley. Also available for free online at  http://java.sun.com/docs/books/tutorial/. Both a reference and a tutorial, it was originally designed to be read online and is continually being updated.  Very well-written, detailed explanations make this book especially good for less experienced programmers.

Prerequisite Concepts and Lab Skills

While this course is an introduction to the Java programming language, it is not an introductory programming course.  You should feel comfortable with the following topics.  It is your responsibility to acquire any lacking knowledge outside of class.
 
data types - integer, real, boolean, character, etc. arrays and structures/records
operators file input and output
expressions use of a text editor
control flow - sequence, selection, and repetition compiling and running a program
functions and procedures file management - Windows Explorer
Internet browsers basic DOS and Windows usage

Tests

There will be four tests. They will be based on material from the textbook, lectures, and assignments. If you must miss a test, you shall notify the instructor prior to the test (preferably by email).
 
Grading
4 tests
70%
homework
20%
team project
10%
Total
100%
Letter Grade
90 - 100% A
80 - 89% B
70 - 79% C
60 - 69% D
0 - 59% F

Attendance

There will be assigned seating and attendance will be taken.  Very important:  If you miss class, it is your responsibility to find out what you missed.  It would be very helpful to get the phone numbers or email addresses of a few classmates so you can get missed information.  Everything is subject to change and will be announced in class.  Please do not expect the instructor to repeat lecture material because you missed a class.

Lab / Homework Assignments

Each assignment is due at the start of class one week after it was assigned. You may turn in an assignment up to one week late; the lateness penalty is three points. Any assignment turned in after that will receive no credit. You are encouraged to help each other with the lab assignments; however, if you simply copy someone else's work, points will be deducted from both students' scores for plagiarism. The maximum possible points for an assignment is 10; points are deducted for failing to meet the requirements of the exercise and/or failing to follow closely all instructions.

Method of Presentation

Lecture and discussion solving problems from original statement to solution, demonstration and analysis of existing problem solutions through flowcharting and tracing,  and discussion of the strengths and weaknesses of different algorithms.

Academic Honesty

The academic honesty policy of Santa Monica College will be strictly enforced. See Code of Academic Conduct in the Student Planning Guide for Success.

Disabilities, Medical Problems

Accommodations will be made for disabilities; see me regarding such or medical problems.

Team Projects

You get to do a team project. A team would ideally consist of about four members, but may have as few as one or as many as six members. This is an excellent opportunity to improve your skills as a team player, a highly-desirable type of worker in the real world.

The project will consist of the design, development, test, debug, and presentation to the class of some Java program of your choice. Here you get to solve a problem of interest to you, to be creative, and to show the fruits of your labor to the class. The project doesn’t have to be anything fancy, just whatever you can do with about five hours of work from each member of the team.  It can be anything you like.  Be creative and have fun.  Your team shall make two presentations to the class.  

Week Date
Chapter / Topic
Lab
Due
08/31
Syllabus; Introduction to Java  
09/07
2 - Introduction to Java Applications lab01
09/14
3 - Introduction to Java Applets lab02
09/21
4 - Control Structures: Part 1
Test 1
Team projects: form teams, exchange email addresses, brainstorm ideas for apps
lab03
09/28
5 - Control Structures: Part 2 lab04
10/05
6 - Methods lab05
10/12
7 - Arrays lab06
10/19
8 - Object-Based Programming
Test 2
Team Projects Part 1 - status report
lab07
10/26
9 - Object-Oriented Programming lab08
10  11/02
10 - Strings and Characters lab09
11  11/09
11 - Graphics and Java2D lab10
12  11/16
12 - Basic Graphical User Interface Components
Test 3
Team Projects Part 1 - status report
lab11
13  11/23
12 continued lab12
14  11/30

13 - Advanced Graphical User Interfaces

 
15  12/07
13 continued lab13

16 12/14

Final Exam activities:
1. Test 4
2. Team Projects Part 2 - file(s) on Zeus, paper, presentation
 
Course Topics and Tentative Schedule
CS 55 Home Email Last Modified September 13, 2004