Fall 2009
:
Tuesday, 11:30-1:30, Friday, 9:30-12:30, or by appointment or email.
The following days, I will be on furlough, and not available:
August 28 (Friday)
September 4 (Friday) and 22 (Tuesday)
October 14 (Wednesday) and 19 (Monday)
November 13 (Friday) and 25 (Wednesday)
December 8 (Tuesday) and 18 (Friday)
Section 1: Clark 111, Mon/Wed 9:00-10:15 a.m.
Lab Section 11: Science Building 311, Monday 15:00-15:50
Section 2: MacQuarrie Hall 225, Mon/Wed 10:30-11:45 a.m.
Lab Section 12: Science Building 311, Wendesday 15:00-15:50
Course Website
The course website can be found at http://www.cs.sjsu.edu/faculty/taylor/term/fall08/CS46a/.
This site contains a link to this greensheet, a schedule of
classes thus far, and a tentative schedule of future class topics,
along with other information and announcements. The course schedule
may change frequently, please check it before each class meeting.
Description
Basic skills and concepts of computer programming in an
object-oriented
approach using Java. Classes, methods and argument passing, control
structures,
iteration. Basic graphical user interface programming. Problem
solving, class
discovery and stepwise refinement. Programming and documentation
style. Weekly
hands-on activity.
Eligibility for Math 30 or Math 30P or instructor consent.
Textbook
Cay S. Horstmann, Java Concepts 5th Edition with Wiley
Plus. ISBN
978-0-470-11210-6. Please check the ISBN carefully, and make sure the
book
includes a Wiley Plus login code. If you buy a used book, you will
need to buy
a reg code for Wiley Plus separately.
Student Learning Outcomes
Upon successful completion of this course, students should be able
to:
Analyze and explain the behavior of programs involving the
fundamental
program constructs
Write short programs that use the fundamental program constructs
including standard conditional and iterative control
structures
Identify and correct syntax and logic errors in short
programs
Choose arrays or array lists for a given problem and write short
programs
that use arrays or array lists
Design and implement a class based on attributes and behaviors
of
objects
Construct objects using a class and activate methods on
them
Use static and instance members of a class properly
Identify and describe the properties of a variable such as its
associated
value, scope and lifetime
Describe the parameter passing mechanisms in terms of formal
parameters,
actual parameters, non-object parameters and object
parameters
Write a graphics program that draws simple shapes
Analyze and explain the is-a relationships among objects using a
class
hierarchy and inheritance
Compare and contrast the notions of overloading and overriding
methods in
an object-oriented language
Write short programs that read and/or write text files
Analyze or explain the behavior of a simple exception handler
involving a
try-catch or throws clause
Write javadoc comments for classes and methods
Use an integrated development environment and a debugger
Course Requirements
Exams
Two in-class exams (15% per exam) and a final exam
(20%). Exams cannot
be made up, except for reasons of illness, as certified by a
doctor, or
documentable extreme emergency. Makeup exams may be oral.
Programming Assignments
Ten assignments (30%). Schedule your time well to protect
yourself
against unexpected problems. I suggest you ignore the
official
deadlines and complete the assignments 48 hours earlier. Late
work is not
accepted, and there is no extra credit or makeup work.
Project
One team project (10%), assigned by the instructor. Late work
is not
accepted, and there is no extra credit or makeup work.
Class Attendance and Participation
I expect each student to be present, punctual, and prepared at
every
scheduled class and lab session. 10% of your grade is for
particpation in
class and online discussions, and your performance on quizzes
that check
the assigned pre-class reading.
Laptops
You will be required to bring a wireless laptop to all
(!)
classes and exams.
Grading Policy
Exams are curved and given letter grades with + or -. Each graded
task
(assignment, project, etc.) is graded as a letter grade, using the
following
scale.
A = all (or almost all) of the task solved and delivered in a
professional
manner
B = most of the task solved, but at least one key issue missing, or
significant
issues with delivery
C = some of the task solved, with at least half of the key issues
resolved, but
at least two key issues missing
D = a solution has been attempted, with at least one but but less than
half of
the key issues resolved
F = no solution has been attempted, or the attempted solution did not
resolve
any of the key issues of the task
Letter grades are converted into number grades and weighted with
the
percentages given in the Course Requirements section. The weighted
average is
rounded towards the nearest letter grade, which is your class
grade.
Miscellaneous Policies
Add Policy: There may be few add codes given out this
semester, due to caps in department enrollment. I will randomly
choose among add requests that I receive before the second class
meeting time, and in the order of receipt thereafter, subject to
priorities specified by the department and university (Graduating
Seniors, with paperwork, first).
If there is space, I will reply to your email with an add code. You
must use
your add code within 48 hours and email me to confirm that you added
the class,
or the add code will be reassigned to someone else.
Publicly Viewable Work: Your class work (including homework,
exam,
and project work) may be viewable by other students of this
course. Your grades
will not be viewable by others.
Copyright of Materials: All materials created by the
instructor for this course, including lectures, handouts, homeworks,
exams, solutions, projects, and so on, are copyrighted property of the
instructor, or of Cay Horstmann (used with permission by the
instructor). You may transscribe or record lectures or copy course
materials for the use of yourself and other students registered in
this course. You may not sell or give transscriptions or recordings of
lectures or copies of course materials to others without the prior
written consent of the instructor.
Academic Honesty
No homework assignment answers should be gotten from the web, or from
previous courses. All collaboration must be reported.
Students caught cheating may fail the course and should expect to be
reported appropriately.
If you would like to include in your homework any material you have
submitted, or plan to submit, for another class, please note that SJSU's
Academic Integrity policy S04-12 requires approval by instructors.