* Object-Oriented
Intermediate Programming: Comsc102, Fall 2009*
*Course Description: *
This class will introduce
you to intermediate-level programming concepts.
You will practice and apply these concepts by developing programs in
JAVA. We will focus on understanding how to design classes well, how to
implement classes in Java, and how to ensure correctness via reasoning and
testing. In addition, we will learn
about some common data structures such as stacks and queues.
*Prerequisites*
Introduction to Problem
Solving and Object Oriented Programming (Comsc101)
*Textbook*:
Java: An Eventful Approach, Kim Bruce, Andrea Danyluk and Thomas Murtagh.
(JAEA)
Supplemental readings on reserve:
Java Software Solutions, Lewis & Loftus. (L&L)
*Course Meeting Times:*
Lectures:
T,Th 11-12:15 in Clapp 401.
Fourth
Hour: W, 3:15-4:05, Clapp 401
*Instructor:*
Professor Lisa Ballesteros
Office: 220 Clapp
Email: lballest@mtholyoke.edu
If at any time, you have
any problems, concerns, or issues you would like to discuss, come to office
hours or contact me via email to make an appointment. I check email regularly. I am always available during office hours
and am happy to schedule appointments outside those times when necessary.
*Course Structure*
There will be 1 mid-term
exam, 1 final exam, weekly lab assignments, mini-problem problem sets, and 2
test programs.
The 4th hour
will be used for short introductions to labs or as additional time to ask
questions. It will be treated as a
regularly scheduled class or lab period, so
attendance is expected. Bring a USB
memory stick with you to the laboratory in order to save project files. This protects you in the event that the
network goes down and your home directory cannot be accessed. Inability to
access your account is not an acceptable excuse for not finishing a programming
assignment.
Test programs will be
similar to lab assignments, but their primary purpose is to evaluate how well
you have learned the material in previous classes and labs. For this reason, test programs will be
treated as take-home exams and are to be done individually.
One’s participation grade
includes attendance, engagement in class discussions, asking questions, and
answering questions. Answers need not be
correct, but should be based on thoughtful consideration of the problem.
Grading:
Attendance:
Announcements made during
normal class meetings are official communications for this course. Although I may not take attendance daily,
regular attendance is expected.
Consequently, absence is no excuse for failure to act in accordance with
class announcements. If you miss class,
talk with your classmates to find out what you missed. The course website is also a good location to
get course materials as it contains an updated version of the syllabus as well
as links to lecture notes, labs, and handouts.
Deadlines
Because it is extremely
important to keep up with the material in this class, all assignments are due
on the dates specified. Late labs will
not be accepted unless some other arrangement has been made with me in advance,
so plan ahead. If extenuating circumstances
arise which will make it difficult to meet a deadline, come talk to me and I
will work with you to find a solution.
*It is extremely important to keep up to date in this
class.* The lectures and labs are integral parts of this
course. In order to understand the
material covered in a given day, it is important that you understand the
material and concepts covered on previous days.
The most successful approach to this course is to work regularly on
readings and assignments. Don’t put
things off until you feel pressured by a deadline, as problem solving typically
takes longer than expected. I am happy
to answer any questions and to give feedback in class and during office
hours. There are NO silly
questions. If you are unsure about a
concept we are discussing or about an assignment, do not wait to ask
questions. If you get behind, don’t
wait to get help. Ask questions in
class, come to office hours, and attend TA sessions.
Comments about working together:
Discussion is an important
aspect of learning. I encourage you to
form study groups to discuss concepts related to course materials. However, there is a fine line between
discussing a concept and solving a problem together. *It is
not O.K. to write programs together and it is not O.K. to solve assignments
together unless it is specified as a group assignment.* You may discuss assignments at a high level,
but the actual solution and the write-up or coding of that solution must be
done independently. All of your
resources for solving homework or programming problems *must be cited*. This means
that if you use other books or reference materials to solve a problem, you must
indicate the name of the reference used and the page on which the solution was
found. If you work in a study group, the
names of your study partners must be included on all assignments. Failing
to appropriately cite any and all resources used to complete an assignment is a
violation of the honor code*.