1.  General Information

1.    General Information

 

Course

CPTR427 – Object Oriented Programming

Term

Fall 2004

Credits

3

Time & Days

2:00 – 3:15 MW

Office Hours

3:30 to 5:00 pm MTWR

Location

HYH307

Instructor

Nadine Shillingford

Email

shilling@andrews.edu

Office Location

HYH320C

Telephone (Office)

269-471-3890

Online Gradebook

http://www.andrews.edu/~ordonez/HOTClass

 

2.  Course Description: Emphasizes the study of object oriented analysis and design methodologies and the application of these to the development of advanced software.  Includes survey of object-oriented programming languages and environments.  A major programming project is required.

Outline

Thinking Object-Oriented

Object-Oriented Design

Classes and Methods

Messages, Instances and Initialization

Case Study: The Eight-Queens Game

Inheritance and Substitution

Case Study: The Card Game

Subclasses and Subtypes

Static and Dynamic Behavior

Implications of Substitution

Multiple Inheritance

Midterm – October 22, 2004 (regular class time)

Polymorphism and Software Reuse

Overloading

Overriding

Polymorphic Variable

Generics

Frameworks

Design Patterns

Final – December 16. 2004 (12:45 – 2:45)

 

Prerequisites: CPTR152 (or approval by the instructor).

3.  Objectives: This course emphasizes the analysis, design and implementation of systems using object oriented (OO) methodologies. This knowledge is applied to the writing of programs involving advanced data structures and libraries in various OOPLs (Java, C++, Smalltalk) Some optional languages will be surveyed (Delphi,Eiffel). Upon successfully completing this course, you, the student, will be able to

·       Demonstrate knowledge of the syntax and semantics of several object-oriented programming languages by writing programs in those languages;

4.  Textbooks & Resources:

Required

Budd, Tim. Introduction to Object-Oriented Programming, 3e. Addison-Wesley, 1997. (Available at the book store)

Recommended

·       Lee, Richard.  UML and C++.  Prentice Hall ISBN 0-13-029040-8

·       Coad, Peter et al. Java Design.  Prentice Hall.  ISBN 0-13-911181-6

·       Winston, Patrick Henry. On to Smalltalk.  Addison Wesley.  ISBN 0-201-49827-8

·       Meyer, Bertrand. Eiffel: The Language.  Prentice Hall. ISBN 0-13-247925-7

·       Meyer, Bertrand.  Object Oriented Software Construction.  Prentice Hall.  ISBN 0-13-629155-4

·       Horstmann Cay et al. Core Java Vol.  Prentice Hall. ISBN 0-13-081933-6

Software:

UML Diagramming

Together Control Center  - available on request

Smalltalk

VisualWorks – available on request

Squeak – available for download at www.squeak.org

The following IDE’s may be used or you may use the compilers on the Edmund or Orion servers

Java

Forte for Java – available for download at www.sun.com

Jbuilder – available for download at http://www.borland.com/downloads

C++

Visual C++ - available in the labs

C++ Builder – available for download at http://www.borland.com/downloads

Delphi

Delphi 6 – available for download at http://www.borland.com/downloads

Eiffel

ISE Eiffel – available for download at http://www.eiffel.com/eiffel/download/page.html

 

Grading System, Evaluation Procedures, and Examinations:

Assignments: There are several types of assignments in this course, listed below.

·       Reading assignments: You should read the sections pertaining to each particular topic before class on that date, as class discussions and quizzes will usually be derived directly from it.

·       Quizzes: Short, unannounced, 5- to 50-point quizzes covering any prior reading and lecture material, as well as programming assignments, may be given at any time. These, along with attendance and class participation, will be worth 10% of the final grade.

·       Programs: Programming assignments will be worth 30% of the final grade.

·       Project: There will be a final programming project, which will be described in class, due at the end of the term, and worth 30% of the final grade.

·       Tests: There will be a midterm test  and a final (cumulative) exam covering the lecture and reading material as well as exercises, which together will be worth 30% of the final grades

Grading: Grades are weighted as specified above. Within each category, the partial score is calculated by simply adding up the number of points you have earned and dividing by the total number of points possible. Final letter grades are computed from your final percentage grade (rounded to the nearest whole number) as follows.

%

Letter

95 – 100

A

90 – 94

A-

85 – 89

B+

80 – 84

B

75 – 79

B-

70 – 74

C+

65 – 69

C

60 – 64

C-

55 – 59

D

0 – 54

F



6.  Course Procedures

 

Regular attendance at all classes, laboratories, and other academic appointments is required of each student.

Absences:   Whenever the number of absences exceeds 20% of the total course appointments, the teacher may give a failing grade.  Merely being absent from campus does not exempt the student from this policy.  Absences recorded because of late registration, suspension, and early/late vacation leaves are not excused.  The class work missed may be made up only if the teacher allows.  Three tardies are equal to one absence.

Excused Absences:  Excuses for absences due to illness are granted by the teacher.  Proof of illness is required.  Residence-hall students are required to see the nurse on the first day of any illness which interferes with class attendance.  Non-residence-hall students should show written verification of illness obtained from their own physician.  Excuses for absences not due to illness are issued directly from the dean’s office.  Excused absences do not remove the student’s responsibility to complete all requirements of the course.  Class work is made up by permission of the teacher.

Late Assignments:  Late assignments will be accepted with a penalty

7.  Course Requirements and Directions

Survival Hints: To do well in this class, you should

    1. Thoroughly read the pertinent sections in the book both before class and again throughout the week, as some points may not become clear until they have been explained and discussed in class.
    2. Do exercises (you should attempt to do problems not assigned by the instructor).
    3. Feel free to stop the instructor and ask questions when questions arise during class discussions.
    4. Know the theory as well as the practice (i.e., resist the urge to simply learn little snippets of code--learn how to come up with those pieces instead).
    5. Practice! Programming is as much an art as it is a science, and it does not come quickly unless you take the time to practice often

8.  Academic Honesty

Please refer to page 26 of the current bulletin for issues on academic dishonesty.

9.  Disability Accomodations:  If you qualify for accommodations under the American Disabilities Act, please see the instructor as soon as possible for referral and assistance in arranging such accommodations

 

 

_________________________________________________

 

Disclaimer: Please read the syllabus very carefully.  The syllabus is meant as an educational aid.  There may be times when the contents of the syllabus may be changed as seen necessary by your instructor.