CSIS 370 - Object-Oriented Programming
Course Description
-
This course covers the fundamental concepts of object-oriented
programming languages, including data abstraction and typing,
class inheritance and generic types, prototypes and delegation,
concurrency control and distribution, object-oriented databases,
and implementation. Object-oriented solutions will be developed
in one or more high-level object-oriented programming languages.
Instructor
- Dr. David M.
Hansen
Texts
-
- Required
-
- Fowler, Martin.
UML Distilled.
Reading, Massachesetts: Addison-Wesley, Inc.
- Weiss, Mark Allen.
C++ for Java Programmers.
Upper Saddle River, NJ: Prentice Hall.
- Recommended
-
- Schildt, Herbert.
C++ The Complete Reference.
McGraw Hill Inc.
Objectives
-
This course explores the object-oriented programming paradigm
in detail. Object-oriented programming is a shift
in the way programs are design as well as implemented. Thus:
- Students will understand the difference between traditional
"structured programming" design and implementation
and object-oriented design and implementation. Specifically,
students will understand and be capable of appropriately
using:
- Classes
- Objects
- Messages (aka methods)
- Inheritance
- Polymorphism
- Genericty
- Students will be familiar with an object-oriented
design methodology (e.g, the Unified Modeling Language - UML).
- Students will utilize one or more "object-oriented"
programming languages to develop object-oriented
solutions to programming problems.
Course Organization
-
Object-oriented programming is both a way of thinking and
conceptually designing software, as well as a programming
methodology. Thus this course will devote an equal
amount of time to understanding the object-oriented design
paradigm and object-oriented programming.
A well-designed object-oriented model is easily
translated into any number of programming languages that
support object-oriented concepts while a poorly-designed
model can result in endless difficulties regardless of
the power of the implementation language or the skill of
the programmer.
The course will include regular homework and programming
assignments (please see my
comments on collaboration and
programming). There will be
NO CREDIT given for late assignments (without
an official excused absence) -
turn in as much as you can.
Reading assignments should be completed
before the lecture covering the material.
Not all reading material will be covered in the lectures,
but you will be responsible for the material on homework
and exams.
Quizes over the assigned reading
may be given at any time.
If you have specific physical, psychiatric, or learning disabilities and
require accommodations, please contact the Disability Services Office as
early as possible so that your learning needs may be appropriately met.
You will need to provide current documentation of your disability to the
Disability Services Office. For more information, go to
ds.georgefox.edu
or contact Rick Muthiah, Dean
of the Center for Teaching and Learning (ext. 2314)
Grading
- Grading Scale
The final grade will be based on:
Tentative Schedule
-