CIS 17 - Java Programming
Section 6991 -
Thursday 6 PM - 8 PM - Room 2928
Goals and Objectives
The purpose of the course is to explore the Java programming language.
The skills and knowledge required to write applets and applications will be
developed. Specific objectives are to:
- understand the rationale of the Java language.
- contrast Java and C++.
- employ object-oriented design methods.
- work within an integrated development environment.
- use the Java class libraries.
- learn selected design patterns.
Prerequisites
Previous programming experience as evidenced by the completion of CIS 10,
Introduction to Programming, or CIS 10A,
Fundamentals of Computer Science I, or the
equivalent. Without a knowledge of C/C++ the course material will require
extra effort, especially in the early weeks.
An alternative to the course work is the self-study completion of Chuck
Allison's excellent Flash-based tutorial, Thinking in C:
Foundations for Java & C++. It can be obtained at no charge at
http://mindview.net/CDs/ThinkingInC/beta3.
Be aware that it's a 90 MB download. A minimum of five hours is required to
listen to Chapters 1 through 8a. Additional time should be devoted to working
through the exercises and reviewing the author's solutions.
Laboratory
The instructor will be available in the laboratory for the two hours
immediately after class. Although attendance is not required, students are
encouraged to work on their programming exercises at that time.
Text Book
Required - Eckel, Bruce 2006. Thinking in Java, 4/E. Prentice Hall. Boston. ISBN-10: 0-13-187248-6
ISBN-13: 978-0-13-187248-6 On line
resources
Recommended - Flanagan, David. 2005. Java in a Nutshell, Fifth
Edition. O'Reilly. Sebastopol. ISBN-10: 0-596-00773-6 ISBN-13:
978-0-596-00773-7
Requirements
- Expect to read about 55 pages of text per week.
- Programming exercises are to be completed according to the schedule provided.
- One multiple-choice test question must also be submitted for each
chapter. The web site includes a link to the submission page.
- Two examinations will be given, the second covering only the topics
studied since the previous test.
These are the percentages for
grades:
| 100%-90% |
A |
| 89%-80% |
B |
| 79%-70% |
C |
| 69%-60% |
D |
| less than 60% |
F |
|
Grading
Please note - No late work accepted.
The semester grade will be composed of two examinations (67%) and
eight programming exercises (33%).
Both examinations must be completed to earn a D or better. All programming
exercises must be completed and all test questions must be submitted to earn a B
or better.
A running total of the grades will be posted in the Grades
section of the web site.
IMPORTANT!
It is your responsibility to officially drop this class if you are
not going to complete it. Failure to do so will result in a
grade of "F" on your transcript. In addition, please note that
missing more than two class sessions will result in a non-passing grade.
Examinations are composed entirely of multiple choice questions. It is
expected that the average time to complete each will be about an hour.
Programming projects must be transmitted via SRJC's CATE (Center for
Advanced Technology in Education) system.
- Check in with CATE: Here, you will create your CATE system user name
and CATE password, which you will use to reach the entry forms for the
projects. Links to those forms appear in the schedule.
Be sure to fill in the section 6991 check-in form before submitting assignments.
- Programs must compile and run correctly.
- Submissions are not always compiled and tested as soon as they are
received. Please allow a few days to a week for verification of credit.
- If it is found that a program fails to meet specifications or runs
incorrectly, but compiles and runs without error, two opportunities for
correction will be available. There will, however, be a penalty for each
resubmission.
- Programs that produce run-time errors or fail to compile will not be
eligible for resubmission.
- Trivial submissions will not be considered.
- Projects must be completed by the due dates shown in the
schedule. No resubmissions will be accepted after
the absolute deadlines, also shown in the schedule. Please do not ask
for an extension.
- The gradebook will allow you to track your
progress through the course.
Academic Integrity: The development of programming skill is essential
for success in computer science. This requires self-reliance and independent
effort. Collaboration, on the other hand, is often appropriate in an educational
setting.
- Permitted Collaboration
- Software testing
- Algorithm development
- Program structure design
- Exam preparation
- Lecture notes exchange
- Prohibited Collaboration
- Joint or cooperative source code development
- Modification and/or use of another's source code
- Revealing and/or giving source code to another student
- Viewing and/or receiving source code from another student
- Consequences of Prohibited Collaboration
- The first offence will result in a penalty (rather than credit)
of ten points for the assignment in question.
- A second offence will cause the student to be dropped from the
course.
Communication:
- The best venue for communication is in person. Office and laboratory
times are available for the private discussion of grading, scoring,
administrative issues, course content and feedback on project work. Other
times can be arranged. Electronic correspondance, although not ideal, is
sometimes necessary. If it becomes unavoidable, please use the following
procedures.
- Use the Java email list for questions about course content and
programming projects. All students as well as the instructor will have the
opportunity to view your concerns and respond.
- Register at http://groups.yahoo.com/group/cis17_6991/
- Submit questions and responses at cis17_6991@yahoogroups.com
or via the web interface
- Course content questions sent to the instructor's email address will
not be answered.
- Remember that skill development in software engineering requires
self-reliance and independent effort. Please don't expect extraordinary
assistance from faculty or lab staff unless a project already has been
submitted and returned for refinment.
- Use the instructor's email
address for questions about grading, scoring, or administrative issues.
Please format the subject line as follows:
- The Subject: field must consist of
- the section number (6991)
- a period
- the letter Q
- For example, 6991.Q No other text
may appear in this field.
- Communications with ill-formed subject lines will not be answered.
Lab & Lab Policies
These labs all have Macs and PCs which contain the necessary software for the
class. We have zip drives, scanners, color printers, and laser writers as well.
You may also use your home computer.
The lab printers are for printing class assignments only!
Please do not use the printers to print out class notes or large web sites which
can consume several printed pages.
Cell Phone & Pager Policy
Turn them off or put them in silent mode. If you must take a call, step outside
the classroom.