Syllabus
Description:
A computer program is a set of instructions that a
computer can execute. Programming is the process of
creating a computer program. This course is about programming in
object-oriented programming languages and covers both introductory
and advanced topics. It also provides an introduction to
elementary abstract data types such as lists, stacks, and queues.
Textbook:
The primary textbook for this course is:
Gaddis,
Tony
(2008)
Starting Out with Java
, Pearson Education
, Boston, MA.
(Order from
amazon
, order from
Barnes and Noble
, compare at
bigwords
, compare at
CampusBooks4Less
, or search
eFollett
)
You are expected to complete all reading assignments
before the
first day they are discussed in class.
Outline: This course is organized as follows (though specific topics and dates may change):
You are expected to come to class prepared to ask and
answer questions on the topics above. Attendance is not
mandatory but is strongly encouraged.
Grading:
Final grades will be based on your performance on:
1
first exam (15% total)
,
1
second exam (20% total)
,
1
final exam (25% total)
,
several
programming assignments (30% total)
and
several
labs (10% total).
Note:
Students who do not earn 60% of the points on the final
exam will receive a letter grade no higher than D+ for the
course.
Programming Assignments: 7
programming assignments will be
assigned during the semester.
Programming Assignment 1
, Due: 1/31 11:00PM
(Review)
Programming Assignment 2
, Due: 2/14 11:00PM
(Implementing Simple Classes)
Programming Assignment 3
, Due: Stubs 2/22, Implementation 2/28 at 11:00PM, Drivers with Hardcopy
(Designing and Implementing Classes)
Programming Assignment 4
, Due: Design (in UML) 3/15, Implementation 3/21 at 11:00PM
(Abstract Classes and Interfaces)
Programming Assignment 5
, Due: 3/28 11:00PM
(Recursion)
Programming Assignment 6
, Due: 4/15 5:00PM
(Arrays of Arrays)
Programming Assignment 7
, Due: 4/26 1:00AM - No Late Submissions
(Collections)
Make sure you read and understand all of the policies
related to programming assignments.
Laboratory Exercises:
There will be two lab periods every week. During most lab
periods you will be given a step-by-step exercise to complete.
Some laboratory exercises will be experimental in nature (i.e.,
help you "discover" various things), some will help you gain
experience with things you already know, and some will
help you improve your programming-related skills (rather than
knowledge).
Course Policies:
Your are responsible for reading, understanding, and following
all
course policies.