CSE687 - Object Oriented Design

Lecture #4 - Abstract Data Types

Revised: 26 January 2008
Home Courses Code Handouts CoreTech Books Articles Math Research Masters Projects SWDev WebDev News OtherLinks SiteDesign Graduates AllPages Office Hours Notices Contents

CSE681-SWMAA CSE686-IP CSE687-OOD CSE775-DO CSE776-DP CSE778-AWP CSE784-SWS

Lecture #01 Lecture #02 Lecture #03 Lecture #04 Lecture #05 Lecture #06 Lecture #07
Lecture #08 Lecture #09 Lecture #10 Lecture #11 Lecture #12 Lecture #13 Lecture #14
Lecture #15 Lecture #16 Lecture #17 Lecture #18 Lecture #19 Lecture #20 Lecture #21
Lecture #22 Lecture #23 Lecture #24 Lecture #25 Lecture #26 Lecture #27 Lecture #28

Contents Syllabus SG - Design SG - Templates SG - Class Relationships

Web Resources:

Stroustrup's Home Page, Assoc. of C/C++ Users, C++ at Microsoft, Code Project, Sells Brothers, Guru of the Week, C/C++ User's Journal, devCentral, Dr. Dobb's Journal, Boost Library, techNetCast

Office Hours: Instructor & TAs

Content:

This lecture discusses the notion of an Abstract Data Type. We demonstrate how to use the C++ language to implement an ADT.
  1. Syllabus
    Describes topics to be covered, reading material for you to digest before coming to class, and due dates for the assigned projects.
  2. The book C++ Primer Plus, by Stephen Prata, is now in the Sci-Tech library, on reserve, for your use. You will find this text very readable, with tons of small code fragments that show you how to do almost any basic operation you may need to do. You can not take this book home, but may use it in the library for several hours.
  3. Code Page
    This link takes you to a web-page index into code resources.
  4. Project #1
    This project introduces you to C++ scopes, modules, encapsulation, and code analysis applications.
  5. Project #2
    This project introduces you to graphs and XML processing.
  6. Build Tools, startup.bat, VS Help
  7. Equivalent Syntaxes
    Shows how to call constructors in a variety of contexts.
  8. object layout
    Fundamental information about how objects work.
  9. Abstract Data Types Presentation
    What does it take to make objects of your class behave like built in types?
  10. STR class
    This is a good example of an ADT. It is presented as a nice example. You should prefer the std::string class for all your development work.
  11. C++ Operators
  12. vector3D
    An example of an Abstract Data Type that is rich in operators. Shows the accepted style for building ADT classes with mathematical operations.
  13. Modules
    A module is a physical package of code in files. In this course, by module, we mean those source code files that constitute a compilable entity. The result of compilation may be an execution image (exe), a dynamic link library (dll), or an object file (obj).
  14. Notation
    When discussing object oriented designs, we will often use a subset of the Universal Modeling Language (UML), described briefly in these notes. You also may wish to consult UML Tutorial