csci 6234

16
Introduction George Blankenship 1 CSCI 6234 Object-Oriented Design George Blankenship Wednesday 6:10 pm – 8:40 pm Tompkins Hall 201

Upload: pearl

Post on 10-Jan-2016

34 views

Category:

Documents


1 download

DESCRIPTION

CSCI 6234. Object-Oriented Design George Blankenship Wednesday 6:10 pm – 8:40 pm Tompkins Hall 201. George Blankenship. Academics BS Georgetown university (mathematics) MS Marymount (computer science) DSC candidate at GWU - ABD (computer science) 40+ years in computer industry - PowerPoint PPT Presentation

TRANSCRIPT

CSCI 6234 - Introduction (spring 2011)

IntroductionGeorge Blankenship1CSCI 6234Object-Oriented DesignGeorge BlankenshipWednesday 6:10 pm 8:40 pmTompkins Hall 201

CSCI 6234 - Object-Oriented DesignIntroductionGeorge Blankenship1This is CSCI 6234, Object-Oriented Design (OOD). Object-oriented design is the discipline of defining the objects of a system and their interactions such that the major components of the design are encapsulated in objects aimed at solving common problems. The two basic elements of an object-oriented design are the use of patterns (or templates) for the solution of common problems encountered in the design of a system and frameworks that create a standard structure for the system.The class meets every Wednesday at 6:10 in Tompkins Hall room 201. Tompkins Hall is on 23rd Street. I plan to arrive at class by 6:00 pm; however, I might be delayed by traffic since I work in Silver Spring. I ask for your patience when I am delayed. I do not anticipate that I will every be delayed, but it might happen. If in doubt, please feel free to call me on my cell (703.622.2315).IntroductionGeorge Blankenship2George BlankenshipAcademicsBS Georgetown university (mathematics)MS Marymount (computer science)DSC candidate at GWU - ABD (computer science)40+ years in computer industryProtocol designSystems integration managerSystems programmer and consultant

CSCI 6234 - Object-Oriented DesignIntroductionGeorge Blankenship2I have a BS in Mathematics and a MS in Computer Science. I am ABD (All But Dissertation) in my pursuit of my DSC (Doctor of Science); a DSC is a form of PHD.I have spent over 40 years in the computer industry as a software developer and systems integrator. I started my career working for NASA on the Apollo program and have been involved in the design of system-to-system protocols or the use of standard protocols to integrate heterogeneous systems. At the current time I am working for the Veterans Administration integrating home medical systems with the medical systems used in the VA hospital system.IntroductionGeorge Blankenship3Pertinent InformationOffice hours: by arrangementTelephone: (301) 734-0227 (office) (703) 622-2315 (cell)Email: [email protected] site: http://GWU.GBlankenship.us

CSCI 6234 - Object-Oriented DesignIntroductionGeorge Blankenship3Since Im an Adjunct Professor, GWU does not furnish an office and expect that office arrangements be made on an as needed basis. For those that wish to meet before class, I can usually arrange to arrive at GWU early. For those that wish to meet after class, I can almost always stay late after class. I can usually meet a reasonable request for a meeting outside of our Wednesday class period. Please call on my cell, if you wish to have a meeting.You are welcome to call me at my office, but please do not leave a message. I am not notified of messages on my office phone and only work at the office between two and four days a week. My cell phone does take messages and notifies me of those messages. Perhaps the easiest way to contact me is by email. I look at my email multiple times during the day. My GWU email ([email protected]) is captured by my cell phone and home system. My home email address ([email protected]) is captured by my cell phone and home system. My office email address ([email protected]) is only captured by my office system. Please use my GWU email address for all email. Please make sure that all email has CSCI 6234 in the subject line. I use the Outlook email sorting to place my email in folders. I use strong spam filters and peruse the spam email folder only periodically.The class web site (http://GWU.GBlankenship.us ) is on a server in my laboratory at home. If the web site is not available, please send me an email.IntroductionGeorge Blankenship4Class Web Pagehttp://GWU.GBlankenship.usSyllabusLecture notesHomework assignmentsSupplementary materials

CSCI 6234 - Object-Oriented DesignIntroductionGeorge Blankenship4The class web site (http://GWU.GBlankenship.us ) is on a server in my laboratory at home. There are links to all of my classes, but I have a tendency to clear the links to classes of prior years.The class web site has links to the class syllabus; please read the syllabus. The syllabus contains the class schedule and the grading algorithm. The web site also has links to the text book web site along with the web sites for other books of interest in the study of OOD.The class web site body is arranged by class day. Each day has links to a discussion of the objectives of the day, the notes used for the day, and the homework assignment for the day. The homework assignment section of the web page is the authoritative source for the definition of the assignment. If there are any question on a homework assignment, please bring them up in class or by email.At the top of the web page is a line with the text of Please click here to subscribe to the class mailing list in yellow. Please click on the line; it should link to your email client to send me an email. I need an email address that you really use to give you information on the class.At the bottom of the web page, there are many links on topics of interest in the field of OOD.

Class Web Page (top)IntroductionGeorge Blankenship5

Class Web Page (Lesson Plan)IntroductionGeorge Blankenship6

Class Web Page (Lesson Content)IntroductionGeorge Blankenship7

Class Web Page (Research Project)IntroductionGeorge Blankenship8

Class Web Page (Related Links)IntroductionGeorge Blankenship9

IntroductionGeorge Blankenship10Lecture FormatQuestions from previous classDiscussion of previous homeworkNew lecture materialHomework assignment discussion

CSCI 6234 - Object-Oriented DesignIntroductionGeorge Blankenship10The weekly lecture is the perfect time to ask questions. Generally, I have found that a question by one student is of interest to many students. Some students feel that their questions are not very interesting or some students feel that their questions are too basic. Either of these reasons should not prevent you from asking questions. The objective of this class (or any class) to allow you to learn the topic and questions brush back impediments to learning. Since the homework for this class is a class presentation, I will discuss the presentations as they are made. If a student wishes to ask a question of a presenter, it should be done during or at the end of the presentation. (Second best is to as the question at the beginning of the next class.) At the end of the class, I will try to review any upcoming homework assignments. This review is an appropriate time for the student to ask questions about the upcoming assignment.IntroductionGeorge Blankenship11Objective of CourseOverview of the fundamental models that are used to organize of objects in a object oriented approach to a problem solutionThe student will be introduced to basic models used in the construction of objects, structure of objects, and behavior of objectsThe class will examine examples of the basic models in code samples

CSCI 6234 - Object-Oriented DesignIntroductionGeorge Blankenship11This class is a study of the basic patterns used for the individual components of a system. Stated differently it is the study of use of subsystems in the creation of a system. A system can be pictured as a building. The building is a set of windows to let in light, walls to keep out the cold, a roof to keep out the rain and doors to allow entry and exit. The building has similar constructs inside to create rooms that have ceilings to keep objects above up where they belong, walls for privacy, and doors for entry and exit. A building architect will study doors to come up with a pattern for the construction of a door that reflects the requirements that must be met by a door. This class is a study of the basic functions that commonly occur in systems. Not all systems contain all of the basic functions, but every system uses a number of the basic functions we will study. There are many reasons to recognize these basic functions and use a standardized approach to creating the implementation of the function. While the standardized approach might be disparaged by some, it is easier to allow common use to improve an approach than depend upon the initial implementer to develop the most efficient or effective approach. The basic assumption of this approach is that the ability of the group exceed the ability of any individual.This is class in design. I feel that the best way to learn the critical items of design are to actually use the items in a design. This is also the most obvious method to reveal the understanding of the critical items.IntroductionGeorge Blankenship12Course OutlineFive sectionsOne lecture on the fundamental conceptsThree lectures Java reviewOne lecture on frameworksThree lectures on each of the three pattern classes with examination of code using the patternsStudent presentations of projects using the conceptsHomework and research projectsResearch paper

CSCI 6234 - Object-Oriented DesignIntroductionGeorge Blankenship12The semester will be divided into five distinct elements or sections. The first section is fundamental concepts. This section discusses the objectives and methodology behind Object-Oriented Design. The second section is a review of Java with an emphasis of the attributes of interest in the realm of OOD. The third section examines frameworks. A framework lays out or constrains the overall structure and components of a system. The fourth section examines the three basic perspectives for the elements of an object base design. The three perspectives are the creation of the system objects, the structure of the system object relationships, and the communication between objects. The fifth section is the presentation of the class project. Each student must develop an OOD based approach to a system.All homework will be delivered orally in class. Each student will be expected to present an example of two or three design patterns. If there are more than 20 students in the class, the assignment will be for two design patterns presentations; otherwise, each student will present three design pattern examples.Each student will develop the design of a system. The design will be the subject of a class presentation and a research paper.IntroductionGeorge Blankenship13LecturesDateMaterial to be covered (or other task)1/12IntroductionJava review1/19Java review1/26Java reviewUML overviewFrameworks2/2, 2/9, 2/16Creational patterns2/23, 3/2, 3/9Structural patterns3/23, 3/30, 4/6Behavioral patterns4/13, 4/20Presentations5/4Presentations (if necessary)

CSCI 6234 - Object-Oriented DesignIntroductionGeorge Blankenship13The lecture will be given according to this schedule. The week of March 10 is the Spring Break. The last Wednesday (April 27) is defined as a Monday in the GWU calendar. The class period May 4 will only be used if two days is not sufficient for the student project presentations.IntroductionGeorge Blankenship14HomeworkThe homework assignments in the class are orally presented in classEach student will be expected to present either 2 or 3 times depending upon the number of students in the classThe class is broken into three presentation sessionsPlease be prepared in the assigned time period

CSCI 6234 - Object-Oriented DesignIntroductionGeorge Blankenship14The meat of the class is the discussion of the three design pattern classes (Creation, Structure, and Behavior). Each student must find a example of the use of one of the individual patterns in each pattern class for presentation. For example, on February 2nd, the five creational patterns will be discussed. Each student will select one of the five patterns and present an example of the use. The student will be expected to clearly explain how the example uses the design pattern. The presentations will be made on February 9th and February 16th. Time will be limited, so it is very important that each student be prepared to present on the day assigned.IntroductionGeorge Blankenship15Honesty and IntegrityIt is expected that all will discuss the homework problemsQuestions can be submitted by email, responses will be to the whole class via emailAll responses that seem to be from one source will be discardedCooperative understanding, independent solutions

CSCI 6234 - Object-Oriented DesignIntroductionGeorge Blankenship15Education is a cooperative task. Knowledge is a personal task. It is extremely important that each student demonstrates an understanding of the class topics. As part of the demonstration, the student may draw upon the knowledge of others, but the student must not claim to be the source of the knowledge. A clear explanation of a topic is generally a legitimate demonstration of understanding. We are all called upon the demonstration that we have captured the information that our ancestors collected.IntroductionGeorge Blankenship16Reading and ThoughtInspect the class web pageInspect the links from the class web pageSupplementary readings are suggested to help understanding

CSCI 6234 - Object-Oriented DesignIntroductionGeorge Blankenship16Please look at the web site. I have collected a number of sources that should help understand the concepts and basic elements of OOD. This subject contains many difficult concepts that can only be understood by seeing and attempting to use the concepts.