{\rtf1\ansi\ansicpg1252\uc1 \deff0\deflang1033\deflangfe1033{\fonttbl{\f0\froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f1\fswiss\fcharset0\fprq2{\*\panose 020b0604020202020204}Arial;} {\f3\froman\fcharset2\fprq2{\*\panose 05050102010706020507}Symbol;}}{\colortbl;\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;\red0\green255\blue0;\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0;\red255\green255\blue255; \red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0;\red128\green0\blue128;\red128\green0\blue0;\red128\green128\blue0;\red128\green128\blue128;\red192\green192\blue192;}{\stylesheet{\widctlpar\adjustright \fs20\cgrid \snext0 Normal;}{\* \cs10 \additive Default Paragraph Font;}}{\info{\title Object-Oriented Programming: Principles}{\author Robert Voelcker}{\operator Robert Voelcker}{\creatim\yr2000\mo12\dy6\hr16\min45}{\revtim\yr2000\mo12\dy6\hr16\min45}{\version1}{\edmins0}{\nofpages1} {\nofwords0}{\nofchars0}{\*\company Ziff-Davis Education}{\nofcharsws0}{\vern113}}\margr1080\margt1555\margb1080 \widowctrl\ftnbj\aenddoc\formshade\viewkind4\viewscale100\pgbrdrhead\pgbrdrfoot \fet0\sectd \linex0\sectdefaultcl {\header \pard\plain \qr\li720\widctlpar\tx720\tqr\tx9360\adjustright \fs20\cgrid {\i\f1\fs16\cgrid0 Course Outline \par }{\f1\cgrid0 \par \par }}{\footer \pard\plain \qr\li720\widctlpar\adjustright \fs20\cgrid {\i\f1\fs18\cgrid0 Page }{\field\flddirty{\*\fldinst {\i\f1\fs18\cgrid0 page \\* arabic }}{\fldrslt }}{\i\f1\fs18\cgrid0 \par }{\f1\cgrid0 \par \par }}{\*\pnseclvl1\pnucrm\pnstart1\pnindent720\pnhang{\pntxta .}}{\*\pnseclvl2\pnucltr\pnstart1\pnindent720\pnhang{\pntxta .}}{\*\pnseclvl3\pndec\pnstart1\pnindent720\pnhang{\pntxta .}}{\*\pnseclvl4\pnlcltr\pnstart1\pnindent720\pnhang{\pntxta )}} {\*\pnseclvl5\pndec\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}{\*\pnseclvl6\pnlcltr\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}{\*\pnseclvl7\pnlcrm\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}{\*\pnseclvl8 \pnlcltr\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}{\*\pnseclvl9\pnlcrm\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}\pard\plain \widctlpar\adjustright \fs20\cgrid {\b\f1\fs28\cgrid0 Object-Oriented Programming: Principles \par \par }{\b\f1\fs24\cgrid0 Course specifications \par }{\f1\cgrid0 Course number: 77-906 \par Software version number: \par Course length: 1 day(s) \par \par }{\b\f1\fs24\cgrid0 Hardware/software required to run this course \par }\pard \fi-2520\li720\widctlpar\tx360\tx720\tx1440\adjustright {\f3\cgrid0 \tab \'b7\tab }{\f1\cgrid0 A computer with a Web browser and an Internet connection. A small number of activities require Microsoft Windows. \par \par }\pard \widctlpar\adjustright {\b\f1\fs24\cgrid0 Course description \par \par }{\b\f1\cgrid0 Overview:}{\f1\cgrid0 This course introduces you to general principles underlying the practice of object-oriented programming. The concepts and principles in this course are presented in a generic manner, and as such are intended to prepare the student for programming in virt ually any object-oriented programming language. Where specific illustrations are required, they are presented through pseudo-code. \par \par }{\b\f1\cgrid0 Prerequisites:}{\f1\cgrid0 Windows 95: Introduction or equivalent understanding of computers and operating systems. It is helpful to have already taken Introduction to Programming. \par \par }{\b\f1\cgrid0 Delivery method:}{\f1\cgrid0 Instructor-led, group-paced, classroom-delivery learning model with structured discussion activities. \par \par }{\b\f1\cgrid0 Benefits:}{\f1\cgrid0 Students will learn general programming concepts that provide a basis for object programming in many different languages \par \par }{\b\f1\cgrid0 Target student:}{\f1\cgrid0 The target student is interested in learning general object-oriented programming concepts. This course provides a foundation for students desiring to go on and learn one or more object-oriented progr amming languages. \par \par }{\b\f1\cgrid0 What's next:}{\f1\cgrid0 Any of Element K's introductory courses on object-oriented programming languages would be a good course to take after this one. For example, students wishing to learn C++ programming could take \ldblquote C++ Programming.\rdblquote \par \par \page \par }{\b\f1\fs28\cgrid0 Object-Oriented Programming: Principles \par \par }{\b\f1\fs24\cgrid0 Performance-based objectives \par }{\f1\cgrid0 Lesson objectives help students become comfortable with the course, and also provide a means to evaluate learning. Upon successful completion of this course, students will be able to: \par \par }\pard \fi-360\li720\widctlpar\adjustright {\f1\cgrid0 *\tab Explain what constitutes an object-oriented approach to programming, and identify potential benefits of object-oriented programming over other approaches. \par *\tab Describe the following aspects of object-oriented programming: objects, classes, subclassing, inheritance, and polymorphism. \par *\tab List and describe the steps and critical attributes involved in a good software project plan. \par *\tab List and describe key attributes of software analysis and design tools and methodologies. \par *\tab Briefly describe the general benefits of using an object-oriented approach to developing windowed applications, including the use of application frameworks and class libraries. \par *\tab Briefly describe the general benefits of using an object-oriented approach to developing Web applications. \par \par \par \page \par }\pard \widctlpar\adjustright {\b\f1\fs28\cgrid0 Object-Oriented Programming: Principles \par \par }{\b\f1\fs24\cgrid0 Course content \par \par }{\b\f1\cgrid0 Lesson 1: Overview and Benefits of Object-oriented Programming \par }\pard \li1080\widctlpar\adjustright {\f1\cgrid0 Approaches to Software Design \par Evolution of the Object Model \par Benefits of Object Programming \par \par }\pard \widctlpar\adjustright {\b\f1\cgrid0 Lesson 2: The Object Model \par }\pard \li1080\widctlpar\adjustright {\f1\cgrid0 Objects \par Classes \par Subclassing and Inheritance \par Polymorphism \par \par }\pard \widctlpar\adjustright {\b\f1\cgrid0 Lesson 3: From Plan to Product \par }\pard \li1080\widctlpar\adjustright {\f1\cgrid0 Developing a Plan \par Identifying Software Requirements \par Designing a General Class Structure \par Building a General Application Framework \par Implementing Features \par Final Polishing \par \par }\pard \widctlpar\adjustright {\b\f1\cgrid0 Lesson 4: Tools and Methodologies \par }\pard \li1080\widctlpar\adjustright {\f1\cgrid0 Analysis and Design Methodologies \par Notations \par \par }\pard \widctlpar\adjustright {\b\f1\cgrid0 Lesson 5: Object Programming in Windowed Environments \par }\pard \li1080\widctlpar\adjustright {\f1\cgrid0 Benefits of OOP in Windowed Application Environments \par Application Frameworks and Class Libraries \par \par }\pard \widctlpar\adjustright {\b\f1\cgrid0 Lesson 6: Object Programming for the Web \par }\pard \li1080\widctlpar\adjustright {\f1\cgrid0 How Web Applications Work \par Web Objects \par Building a Simple Object-oriented Program \par \par \par }\pard \widctlpar\adjustright { \par }}