CMP211 J1 - Fall 2009
Professor: Darci L. Burdge
Phone: 572-7976
Office: C3064
Office Hours: Tuesday (
E-mail: Darci.Burdge@ncc.edu
![]()
Class Meets:
Monday –
Tuesday –
Wednesday -
Prerequisite:
Students must have completed CMP210 (or equivalent) prior to taking this class
and obtained a grade of C or better.
Textbook:
Java Software Structures – Designing and Using Data Structures, Lewis
& Chase; 3rd edition, Addison-Wesley
Electronic Resources:
Students will use email and Blackboard (an online course management tool)
throughout this course. Students are expected to read their NCC email
accounts (http://www.ncc.edu/studentemail)
daily and to check Blackboard for notification of assignments and to submit
their work for grading.
As part of this course, you should avail yourselves of further study and/or
educational assistance available in the
Students with Disabilities:
If you have - or suspect you have – a physical, psychological, medical,
learning disability, or other health impairment that may impact on your ability
to carry out assigned coursework, I urge you to contact the staff at the Center
for Students with Disabilities (CSD), Bldg. U, 572-7241, TTY 572-7616. The
counselors at CSD will review your concerns and determine with you what
accommodations are necessary and appropriate. All information and documentation
will be kept confidential. I encourage students with disabilities to discuss
accommodations with me.
Withdrawal Policy:
I will grant a grade of "W" any time through November 4. You must
decide by November 4 whether or not you wish to withdraw from this class. It is
the student’s responsibility to file a signed, drop/add form with the
registrar if you wish to withdraw from this class. I will not withdraw any
student for excessive absences or failure to take the final exam. Consideration
will be given to students who request a "W" after the withdrawal
date.
Projects:
There will be approximately 6 programming projects. All projects are expected
to be handed in on time. You will lose considerable points for late projects.
You are required to submit a program that is syntax free and producing some
output, even if the output is incorrect. I will not grade programs which
contain syntax errors or run-time errors. On the day a project is due you must
submit the appropriate files prior to the beginning of class. You must
also submit a printed listing of all source files at the beginning of class.
Exams:
There will be 3 exams given throughout the semester in addition to a cumulative
final exam. Make-up exams will not be given. Consideration will be given to
those students who contact me before the exam (via e-mail or phone) and provide
a valid, documented reason for missing the exam.
Hands-On:
There will be approximately 11 Laboratory meetings. Students will work
in pairs on the assignment distributed at each of these meetings and will be
responsible for completing and submitting these assignments by the end of
class. Due to the fact that you will be working in pairs, it is essential that
you be present and on time for all laboratory meetings.
Attendance:
Attendance is a critical aspect of this course. As such, attendance will be taken
every day at the beginning of class. Please note that every two late arrivals
will count as an absence. Since attendance is so critical to learning, students
who attend class will be given special consideration at the end of the
semester. The final exam will be optional for students who have no more than 3
absences and have maintained an overall average of 90 or above. Students who
have no more than 6 absences and have not exempted the final exam will have
their lowest programming project grade and 1 laboratory assignment dropped in
the calculation of their final grade. Students are responsible for all material
missed due to absence and should contact me or another student prior to the
next scheduled class meeting to determine what was covered and/or assigned.
Grading Policy:
Your final grade is determined by the following:
![]()
Outline:
The following is intended to provide you with an outline of how this course
will progress. Dates of exams, project assignments, and project due dates may
be adjusted to account for progress of the class as a whole. The Laboratory
component of this course should re-enforce material presented in the classroom.
|
Sept. 8 |
Introduction, course outline and policies; Review of classes, objects, methods, and arrays |
|
Sept. 9 |
Lab #1 - Classes, objects, methods and arrays |
|
Sept. 14, 15 |
Inheritance. Sept 15: Project 1 Assigned. |
|
Sept. 16 |
Lab #2 – Inheritance |
|
Sept. 21, 22 |
Exception handling |
|
Sept. 23 |
Lab #3 – Exception handling. Project 1 Due. Project 2 Assigned. |
|
Sept.
29 |
Introduction to linked structures |
|
Sept. 30 |
Lab #4 –The LinkedSet class |
|
Oct. 5 |
Sets continued: The ArraySet class |
|
Oct. 6 |
Review for exam 1. Project 2 Due. |
|
Oct. 7 |
Exam 1 |
|
Oct. 12, 13 |
Stacks |
|
Oct. 14 |
Lab #5 – Extending the Stack class. Project 3 Assigned. |
|
Oct. 19, 20 |
Queues |
|
Oct. 21 |
Lab #6 – Extending the Queue class |
|
Oct. 26, 27 |
Unordered Lists: an array-based implementation |
|
Oct. 28 |
Lab #7 – Array-based Unordered Lists. Project 3 Due. Project 4
Assigned. |
|
Nov. 2 |
Ordered Lists: an array-based implementation |
|
Nov. 3 |
Review for exam 2 |
|
Nov. 4 |
Exam 2 |
|
Nov.
9, 10, 16, 17 |
Unordered Lists:
a linked implementation. Nov. 16: Project 4 Due. Project 5
Assigned. |
|
Nov. 18 |
Lab #8 – Unordered linked lists |
|
Nov. 23, 24 |
Ordered Lists: a linked implementation |
|
Nov. 25 |
Lab #9 – Ordered linked and array-based lists |
|
Nov. 30, Dec. 1 |
Introduction to recursion. Nov. 30: Project 5 Due. Project 6 Assigned. |
|
Dec. 2 |
Lab #10 – Recursion |
|
Dec. 7, 8 |
Binary trees and binary search trees |
|
Dec. 9 |
Lab #11 – Binary search trees |
|
Dec.
14 |
Binary search
trees |
|
Dec. 15 |
Review for exam 3. Project 6 Due. |
|
Dec. 16 |
Exam 3 |
|
Dec. 21 |
Review for final exam |
|
Dec. 22, 23 |
Final Exam |