CSE687 - Object Oriented Design
Lecture #1 - Introduction to OOD
Revised: 15 January 2008
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
Content:
This lecture is an introduction to the CSE687 course. Today we discuss topics to be covered
in this course, its
projects, examinations, and grading. We then introduce the notion of modules and discuss
common notation to be used throughout the course.
-
Office Hours
-
Starting Friday, January 16, I will hold help sessions from 9:00am until 11:45am each Friday in CST 4-201.
Starting Friday, January 23, the TA's will also hold
"surviving OOD help sessions each Friday from 4:00pm for an hour or two, also in CST 4-201.
-
Survey student background
-
Strategy versus Tactics
-
Why C++? Why not C#?
-
C++, An Assessment
-
Syllabus
Describes topics to be covered,
reading material for you to digest before coming to class, and due dates
for the assigned projects.
-
Lecture #1 folder
Contains a page of links to
presentations and code discussed in this class. The Lecture folders will occasionally
hold physical files of interest as well. Usually, however, all the materials
of interest to the class are in the presentations
and code folders. The contents of these folders will grow
as you progress through the course.
-
FTP using IE
Here is an easy way to transfer code folders from our website to your desktop.
-
Project #1 Specification
-
Visual Studio Help Notes
-
Visual Studio Help Session Notes
-
ECS (College of Engineering and Computer Science) Computer clusters:
-
Visual Studio 2008 will be used in this class, and it is installed on all the ECS Clusters, but
may not be on other university clusters. So:
-
You need an account - ECS Help Desk.
-
Operational Quirks:
Your home account is hosted on a drive mapped to H:. However, Visual Studio thinks mapped
drives are not secure, and does not happily let you work there.
You can do all your work on the C: drive of whatever machine you are using, but that is always wiped
clean when you log-off. Thus, you may wish to work on the C: drive, save frequently to your home H:,
and especially, save just before logging off.
-
Help Session in MadLab.
-
Code Grade Sheet
-
Submission Requirements
-
Parsing Prototype code - help for Project #1
This demonstration code illustrates how to use modules, gives several good examples of modules,
and may be of significant help to you in developing Project #1.
-
Parsing Prototype Structure
-
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).
A simple module example is provided in the code directory:
HiResTimer
-
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