CMP211 J1 - Fall 2009

Professor: Darci L. Burdge
Phone: 572-7976
Office: C3064
Office Hours: Tuesday (10:00 – 11:15) and Thursday (1:00 - 2:15) or By Appointment
E-mail:  Darci.Burdge@ncc.edu

Class Meets:
Monday – 12:30 - 1:45 (B213)
Tuesday – 1:00 - 2:15 (B213)
Wednesday - 11:00 - 1:45 (B221)

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.

Computer Center Requirement:
As part of this course, you should avail yourselves of further study and/or educational assistance available in the Computer Learning Center: B225. These activities and use of the resources provided are deemed an integral part of the course, and will help you master necessary knowledge and skills. NOTE: In order to use the Learning Center you must present a valid NCC identification card.

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:

  • Exam's 1, 2, and 3 - 15% each
  • Final Exam - 20%
  • Projects - 20%
  • Laboratory Assignments and Homework - 15%

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

Return to Fall 2009 Schedule