CMP210 K1 - Spring 2007

CMP210 D1 - 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 - 9:30 - 12:15 - B221
Wednesday - 9:30 - 10:45 – B113
Thursday - 10:00 - 11:15 – A215

Prerequisite:
At least a C in CMP 104 or equivalent, or prior programming experience including HS programming courses, or MAT 111 or equivalent including HS pre-calculus, or permission of department.

Textbook:
Java Software Solutions: Foundations of Program Design, 6th Edition by Lewis, J. & Loftus, W., Addison-Wesley, 2009

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, located in room 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 Nov. 4. You must decide by Nov. 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 7 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. 3

Introduction, course outline and policies, What is a program? Reading a program, the main method

Sept. 9

Primitive data types, Variables, Assignment statements and mathematical operations, Pair programming homework assigned

Sept. 10

Output, Input, Pair programming discussion

Sept. 14

Lab #1 - Setting up accounts, Exploring program execution, The Development Environment: an introduction to Eclipse

Sept. 16

Introduction to classes and objects: the String class, Declaring reference variables and instantiating objects. Project 1 Assigned.

Sept. 17

Introduction to String methods; String group exercise

Sept. 21

Lab #2 - Using methods defined in the String class

Sept. 23

Additional String methods and understanding a method header. Project 1 Due. Project 2 Assigned.

Sept. 24

Labeling the parts of a program, Reading documentation

Sept. 28

No Classes

Sept. 29

Day Classes Follow a Monday Schedule--Lab #3 - Exploring programmer defined classes: the Card class

Sept. 30

Variables (reference vs. primitive), Constructors, Methods, Simple if/else statements

Oct. 1

Terminology, Reading documentation, Introduction to programmer defined classes

Oct. 5

Lab #4 – Writing programmer defined classes; the Card class. Project 2 Due.

Oct. 7

Writing programmer defined classes

Oct. 8

Review For Exam 1

Oct. 12

Exam 1

Oct. 14

Writing methods that return a value, Scope of variables. Project 3 Assigned.

Oct. 15

Parts of a programmer defined class, Writing methods

Oct. 19

Lab #5 – Writing programmer defined classes; the Dice class

Oct. 21

Tracing code in a programmer defined class, Introduction to the PokerHand class

Oct. 22

Writing methods that return a value. Project 3 Due. Project 4 Assigned.

Oct. 26

Lab#6  – Writing programmer defined classes: the PokerHand class

Oct. 28

Introduction to the for loop, Nested loops

Oct. 29

Introduction to arrays of primitives

Nov. 2

Lab #7 - Writing programmer defined classes: the Student class. Project 4 Due. Project 5 Assigned.

Nov. 4

Arrays of primitives continued, Methods that process arrays of primitives

Nov. 5

Review for Exam 2

Nov. 9

Exam 2

Nov. 11

No Classes

Nov. 12

Labeling the parts of a class, Calling methods on array elements, Error types, Scope. Project 5 Due. Project 6 Assigned.

Nov. 16

Lab #8 – Programmer defined classes with arrays; the Dice class

Nov. 18

Introduction to while loops

Nov. 19

Arrays of objects: the Course class

Nov. 23

Lab #9 - Writing the Course class

Nov. 25

Arrays of objects and Methods that process arrays of objects. Project 6 Due. Project 7 Assigned.

Nov. 30

Lab #10 - Arrays of objects; the Course class

Dec. 2

Processing a list of objects; inserting, deleting, searching

Dec. 3

Processing a list of objects continued…

Dec. 7

Lab #11 – The Course class continued…

Dec. 9

Processing a list of objects continued…

Dec. 10

Review for Exam 3. Project 7 Due.

Dec. 14

Exam 3

Dec. 16

Inheritance

Dec. 17

Review for Final Exam

Dec. 21, 23

Final Exam

Return to Fall 2009 Schedule