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:
- know how to program in the Java programming language
- understand the Object Oriented Programming (OOP) paradigm
- 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
- 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.
- 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.
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 |
| 1
08/31 |
Syllabus;
Introduction to Java |
|
| 2
09/07 |
2 - Introduction
to Java Applications |
lab01 |
| 3
09/14 |
3 - Introduction
to Java Applets |
lab02 |
| 4
09/21 |
4 - Control
Structures: Part 1
Test 1
Team projects: form teams, exchange email
addresses, brainstorm ideas for apps |
lab03 |
| 5
09/28 |
5 - Control
Structures: Part 2 |
lab04 |
| 6
10/05 |
6 - Methods |
lab05 |
| 7 10/12 |
7 - Arrays |
lab06 |
| 8 10/19 |
8 - Object-Based Programming
Test 2
Team Projects Part 1 - status report |
lab07 |
| 9 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