7 Pages

IdiomsDesPattsStructural

Course: EECS 381, Fall 2007
School: Michigan
Rating:
 
 
 
 
 

Word Count: 1785

Document Preview

November IdiomsDesignPatternsStructural 16, 2006 Day: _________________________________ 1 Idioms & Design Patterns Structural Patterns and idioms can be grouped roughly into: Creational Patterns and idioms Singleton, Factory Method, Abstract Factory Named constructor Structural patterns and idioms Composite, Facade, Adapter Compiler Firewall Behavioral patterns and idioms Observer, MVC - more...

Register Now

Unformatted Document Excerpt

Coursehero >> Michigan >> Michigan >> EECS 381

Course Hero has millions of student submitted documents similar to the one
below including study guides, practice problems, reference materials, practice exams, textbook help and tutor support.

Course Hero has millions of student submitted documents similar to the one below including study guides, practice problems, reference materials, practice exams, textbook help and tutor support.
November IdiomsDesignPatternsStructural 16, 2006 Day: _________________________________ 1 Idioms & Design Patterns Structural Patterns and idioms can be grouped roughly into: Creational Patterns and idioms Singleton, Factory Method, Abstract Factory Named constructor Structural patterns and idioms Composite, Facade, Adapter Compiler Firewall Behavioral patterns and idioms Observer, MVC - more Double-dispatch Design patterns come in two basic flavors: Using one or more base classes to hide details from the client One thing about most of the design patterns: presented in a very general form E.g. normally everything has an abstract base class that defines the working interfaces between the parts of the pattern But an actuall implementation might not need this - the abstract base can be collapsed into a single concrete class E.g. Factory Other clever ideas using encapsulation, interfaces, class responsibilities to hide details from the client. e.g. Singleton Key concepts for using design patterns: Take the class relationships and the details seriously! You aren't taking advantage of the design pattern just by having some classes with the "buzzword" names organized kinda like the pattern. The exact way in which the classes relate to each other, and how key details are handled, is where the real power of the pattern is! The goal of many of the patterns is to achieve easy extensibility, at the expense of some verbosity and some run-time overhead. This means that a special case solution to a design problem will take less code, and maybe run faster, but it will be much harder to generalize when new features and capabilities get added to the code. The need to extend a program is very common, even if it wasn't planned for. Either use a design pattern from the beginning, to allow for future extensibility, or be ready to refactor the special case solution to make use of a design pattern so that future extensions will go more smoothly. So the goal of the patterns is not short code, or fast code, but easy-to-extend code. IdiomsDesignPatternsStructural November 16, 2006 Day: _________________________________ 2 Structural Patterns Idiom: Compiler Firewall: Separating interface from implementation interface is presented to other classes (public interface) derived classes (protected interface) implementation is how it gets done private members, contents of fucntions also by non-public inheritance adds capabilities without changing the interface separation of interface and implementation is critical expose only the minimum in the public interface do not provide direct access to private member data // e.g. from "Dungeons & Dragons" sort of Role-playing game class Player private: multimap<string, Item *> knapsack; // container of items public: // disaster waiting to happen multimap<string, Item *>& get_knapsack() {return knapsack;} // slightly better, but questionable - why is it needed? const multimap<string, Item *>& get_knapsack() C++ permits some of it directly source files supply the implementation header files provide access to the interface other module just includes it to use the class without being exposed to most of implementation details what has to be recompiled if what changes? unfortunately, some of implementation detail is exposed in the class declaration - the private or protected members, what gets inherited. These affect the size of the object. If object declared as local or member var, or allocatd with new, this must be known. means changes to implementation affect other modules ... force a recompile, even if public interface does not change Concept of insulation - insulating part of a system to changes in another part compiler firewall Idiom Provide insulation - set up classes so that change can't propagate past the "firewall". file Gizmo.h class Gizmo_Impl; // incomplete declaration class Gizmo { public: Gizmo(); ~Gizmo(); void start(); void stop(); private: Gizmo_Impl * pimpl; }; IdiomsDesignPatternsStructural November 16, 2006 Day: _________________________________ 3 This file never changes unless public interface changes file Gizmo.cpp #include "Gizmo_Impl.h" Gizmo::Gizmo() : pimpl(new Gizmo_Impl) {} Gizmo::~Gizmo() {delete pimpl;} Gizmo::start() {pimpl->start();} Gizmo::stop() {pimpl->stop();} this file will have to be recompiled if Gizmo_Impl.h changes, but change will not propagate further file Gizmo_Impl.h class Gizmo_Impl { ..... file Gizmo_Impl.cpp ..... class implementer can change Gizmo_Impl freely, without having to worry about forcing users (= "client") of Gizmo to recompile for every little change in the private members of Gizmo's implementation Wrapper Idiom Hide the details of a pre-existing facility inside a class, provide for initialization and deinitialization with constructors and destructors, and a better interface. Example: wrap C file I/O in a class: class Output_file { private: FILE * file_ptr; public: Output_file(const string& filename, const string& mode); // open the file with fopen() ~Output_file(); // close the file operator bool(); // test the state of the file stream Output_file& operator<< (int); // output an integer Output_file& operator<< (const string&) // output a string }; in fact, early implementations of iostream and fstream were just wrappers around the C's stdio Facade Pattern A larger-scale version of the wrapper idea. Wrap an entire subsystem in a class, hiding the whole subsystem, and providing a simpler interface to the subsystem and hide all of its details. The Facade class constructor might build and configure the subsystem. The public interface might do additional computation and multiple calls into the subsystem components. My production-system example. Basic interface is load, reset, and run, plus various mode/output settings. Internals involve a several dozen classes, a whole collection of templates, processing very complicated - all hidden. IdiomsDesignPatternsStructural November 16, 2006 Day: _________________________________ Adapter Pattern A wrapper that mates an odd-ball class or facility to a pre-defined interface. Used when you need everything to fit into a polymorphic class hierarchy. Adapter Pattern Base Class function1() function2() Concrete Class A function1() function2() Concrete Class B function1() function2() Object Adapter function1() function2() 1 adaptee 1 Adaptee operation_a() operation_b() function1: adaptee->operation_a() This is an object Adapter - works by delegating to a subobject (via composition). There is also a "class Adapter" - works by inheriting from an interface. e.g. see MVC example where a View base class is used to provide an interface for classes inheriting from GUI library, thereby allowing model to talk to GUI subclasses without becoming dependent on the GUI library details. 4 IdiomsDesignPatternsStructural November 16, 2006 Day: _________________________________ 5 Composite Pattern Problem: You have a collection of basic objects that can be grouped in arbitrary ways. However, the client code needs to be able to operate on all of the objects the same way, even if they are grouped together. Common example - a drawing program - can group shapes together, have them drawn, resized, moved, etc as a group.But individal objects still exist. Solution: A base class represents a component of the collection. The component is either a basic leaf object, or is a composite object. A composite object contains a list of components (its children). A typical structure of objects will have a composite component at the top, whose children are leaf objects or other composite components. You can operate on a component; if it is a leaf object, it does the operation. If it is a composite object, it does the operation on each of its children. Client Component * child Operation() AddComponent() RemoveComponent() GetChild(id) 1 Leaf Composite Operation() Operation() for each child, child->operation() parent AddComponent() RemoveComponent() GetChild(id) children There is a fat vs. thin interface issue in this pattern. What varies: Whether the child is a leaf or a composite, hidden under the component interface. Warning: It can be tempting to try to collapse two of the three classes (Component, Leaf, Composite) together into a single class. This is NOT a good idea - serious violations of the basic principle of inheritance can result, causes many bizarre problems in the design. IdiomsDesignPatternsStructural November 16, 2006 Day: _________________________________ 6 Example: Let leaf be an Agent in a game/simulation, in which the Client code controls the Agents (tells them what to do). Then Component represents the "controllable" things - the things that the client can control, by virtue of the Component interface. Composite then represents a group of controllable things. The controllable things are either groups of controllable things or individual Agents. Consider what happens if you combine some of these classes: If you make Leaf into the Component, you are saying that a group of Agents IS-A Agent. which can't be true. While a football team consists of football players, a team is not an individual person. If you make Composite into the Component, You are saying that an individual Agent IS-A group of Agents, which can't be true. The person playing quarterback is not a football team. Keep the classes distinct: Component provides the common interface to both individuals (leaf) and groups (composite), and allows the client to communicate with either individuals or groups in the same way. A group contains a collection of Components, which in turn are either individual or groups. Flyweight Use object-oriented techniques for a very large number of objects, without incurring storage overhead for a large number of objects. Abstracting what to do from the specifics. The Flyweight object is a package of functionality with no data. Example: display complex formatted text on the screen by having an object for each character and telling it to draw itself - It draws the appropriate pixel pattern with the appropriate shape and location. Drawing code doesn't have to know what character is being displayed. But number of objects is huge - if they contain their own data (e.g. location), storage becomes ridiculous. Pattern solution Separate intrinsic from extrinsic state; put extrinsic state elsewhere Instrinsic state can be shared by all objects of that type. Extrinsic state can be stored elsewhere or computed as needed. Create one shared object of each type needed, keep multiple pointers to multiple shared objects in appropriate containers. To accomplish something, call a virtual function for each pointed-to object, and supply the extrinsic information. Virtual function for that type of object does the appropriate thing with the supplied information. Example of complex text display: Create one sharable object (the Flyweight) for each ASCII character code. Maximum is total number of distinct character codes. Use a factory: If flyweight already exists, simply return pointer to it. If not, create it and add it to a Pool of flyweights. Each line of text represented by a container of pointers to shared objects. To display the line, compute the position of each character, and give that to each objects Drawself function. Fancy text editors have been built this way; worked well. IdiomsDesignPatternsStructural November 16, 2006 Day: _________________________________ 7 Other applications for graphical programs are possible Especially in MVC Data about a bunch of objects is often held independently of how they need to be drawn on the screen - the Model vs. the View Useful way to reduce the redundancy between the "real" objects in the Model data and the View objects. Some others in Gang of Four book Decorator Proxy Bridge
Find millions of documents on Course Hero - Study Guides, Lecture Notes, Reference Materials, Practice Exams and more. Course Hero has millions of course specific materials providing students with the best way to expand their education.

Below is a small sample set of documents:

Michigan - EECS - 381
Inheritance&amp;VirtualFunctions.oo311/1/07 2:51:49 PMLecture Outline Inheritance &amp; virtual functionsStroustrup Ch. 12Basic concept of inheritanceYou specify inheritance by listing whether it is public, private, or protected, and the class fromwhich thi
Michigan - EECS - 381
LibraryOrgStdContainers.oo310/4/07 2:27:32 PMLibrary Organization and Standard ContainersStroustrup ch. 16Container highlightsterminologyoften write std:container_name&lt;&gt; to refer to one of the standard container templatese.g. std:list&lt;&gt; or std:map&lt;
Michigan - EECS - 381
MultipleInheritanceRTTI.oo311/6/07 2:53:55 PMLecture Outline - Multiple Inheritance and RTTIStroustrup Ch 15.Basic concept of multiple inheritanceInherit from more than one classclass Derived : public Base1, public Base2 cfw_Derived object has Base
Michigan - EECS - 381
MultipleSources_Linker.oo3 9/11/07 2:13:54 PMMultiple source les and the linkerIntroReal C and C+ programs have a large number of source les, not just oneE.g. a typical Windows application might have something like 100 source leseach le corresponds t
Michigan - EECS - 381
Lecture NotesNote: This page links to lecture outlines. They will be provided only when feasible and useful. Lectureoutlines are my raw outlines. I can quickly put these on the web site, but they are not written out, like abook or handout. The topics a
Michigan - EECS - 381
Objectdynmemory.oo310/3/06 2:03:35 PMObjects with dynamic memory contentsIntroductionObjects that contain a pointer to dynamic memoryConstructor usually allocates itSome additional member functions involvedDestructor - deallocate the memoryautomat
Michigan - EECS - 381
Strings&amp;Streams.oo32/15/07 4:30:08 PMStrings and streamsStroustrup Chs. 20, 21 - highlightsstring classcan get c_str() char * pointer, but note limitationsuse it just long enough to copy it out to somewhere else,once string has been changed, or cea
Michigan - EECS - 381
StroustrupIntro.oo310/3/06 2:57:40 PMStroustrup Introduction: Prefaces, 1-3all three prefaces, skim #2, #3PrefacesNote emphasis on enjoyment of programming3rd edition - standardized, and standard library allows programmer to start from a higher leve
Michigan - EECS - 381
StroustrupReview.oo310/3/06 12:31:04 PMStroustrup review S 4 Types and Declarations:declaration terminology (4.9.1)optional specifier, base type, declarator, initializerspecifier is non-type modifierbase type is the typedeclarator is a name and opt
Michigan - EECS - 381
Basic Class Design September 29, 2005Day: _1Basic Class DesignGoal of OOP: Reduce complexity of software development by keeping details, andespecially changes to details, from spreading throughout the entire program.Definitions Client Code - the co
Michigan - EECS - 381
Basic C+ Stream I/ODavid Kieras, EECS Dept., Univ. of MichiganRevised for EECS 3811/4/2004Stream BasicsWhat's a stream?A stream is a popular concept for how to do input/output. Basically, a stream is a sequence of characters withfunctions to take c
Michigan - EECS - 381
Why std:binary_search of std:list works, sorta .David Kieras, University of MichiganPrepared for EECS 381, April 2006You can indeed apply the Standard Library binary_search and lower_bound algorithms toany sorted sequence container, including std:list
Michigan - EECS - 381
R ecommended B ooks o n C /C+ P rogrammingBasic B ooks:B. Kernighan &amp; Ritchie. The C Programming Language (2nd edition), Prentice Hall, 1988.This is the bible of the C language by the people who invented the language. It is a beautiful, condensed descr
Michigan - EECS - 381
Character Library FunctionsExcept where noted, these functions are declared in &lt;ctype.h&gt; (for C) or &lt;cctype&gt; (for C+). The following test the supplied character and return 1 for true, 0 for false. In Standard C+, the returned valuecan be immediately con
Michigan - EECS - 381
Selected Functions in the C String LibraryExcept where noted, these functions are declared in &lt;string.h&gt; (for C) or &lt;cstring&gt; (for C+)The C String Library operates on &quot;C-strings&quot; - char arrays with a terminal null byte (\0). Do not confuse thesefacilit
Michigan - EECS - 381
C Header File GuidelinesDavid Kieras, EECS Dept., University of MichiganPrepared for EECS 381, Fall 2006This document is similar to the corresponding document for C+ but refers only to C.What should be in the header les for a complex project? C and C+
Michigan - EECS - 381
C+ Header File GuidelinesDavid Kieras, EECS Dept., University of MichiganPrepared for EECS 381, Fall 2006This document is similar to the corresponding document for C, but includes some material specic to C+.What should be in the header les for a compl
Michigan - EECS - 381
Using C+ File StreamsDavid Kieras, EECS Dept., Univ. of MichiganRevised for EECS 381, 1/4/2004File streams are a lot like cin and coutIn Standard C+, you can do I/O to and from disk files very much like the ordinary console I/O streams cin andcout. T
Michigan - EECS - 381
Filler Up: Winners and Losers forFilling an Ordered ContainerDavid Kieras &amp; Steve Plaza, EECS Department, University of MichiganA handy and common component is an ordered container, one that contains items maintained in some order such asalphabetical.
Michigan - EECS - 381
Formatting Numbers with C+ Output StreamsDavid Kieras, EECS Dept., Univ. of MichiganRevised for EECS 381, Winter 2004.Using the output operator with C+ streams is generally easy as pie, with the only hard part being controlling the format ofthe output
Michigan - EECS - 381
Handy Handouts about C and C+GuidelinesC Header File Guidelines (pdf)C+ Header File Guidelines (pdf)Using &quot;using&quot;: How to Use the std Namespace (pdf)Sample Code Quality Checklist (pdf)When your code is evaluated for quality, it will be done using a
Michigan - EECS - 381
How the Adapters and Binders WorkDavid KierasPrepared for EECS 381, Fall 2004What code gets generated when we write#include &lt;vector&gt;#include &lt;algorithm&gt;#include &lt;functional&gt;using namespace std;.vector&lt;int&gt; v;void foo(char, int);for_each(v.begin
Michigan - EECS - 381
How Inserters WorkDavid KierasPrepared for EECS 381, Fall 2004A back_inserter allows you to copy into an empty vector using the copy algorithm as follows:#include &lt;vector&gt;#include &lt;iterator&gt;#include &lt;algorithm&gt;vector&lt;int&gt; src, dest;/ fill src with
Michigan - EECS - 381
Using Incomplete (Forward) DeclarationsDavid Kieras, EECS Dept., Univ. of MichiganPrepared for EECS 381, Fall 2004An incomplete declaration is the keyword &quot;class&quot; or &quot;struct&quot; followed by the name of a class or structure type. It tells the compilerthat
Michigan - EECS - 381
Selected Math Library FunctionsThe following are declared in &lt;math.h&gt; (for C) or &lt;cmath&gt; (for C+)double exp(double x)returns the value of e raised to the x powerdouble log(double x)returns natural log of x; x must be zero or positivedouble log10(dou
Michigan - EECS - 381
Using using - How to Use the std NamespaceDavid KierasEECS Department, University of MichiganPrepared for EECS 381, Fall 2006Why Namespaces?When programs get very large and complex, and make heavy use of libraries from a variety of sources, the possi
Michigan - EECS - 381
A Summary of Operator Overloading and Conversion FunctionsDavid Kieras, EECS Dept., Univ. of MichiganPrepared for EECS 381, Fall 2007Basic ideaYou overload an operator in C+ by defining a function for the operator. Every operator in thelanguage has a
Michigan - EECS - 381
Using Pointers to Member FunctionsDavid Kieras, EECS Dept.Prepared for EECS 381, Winter 2001Pointers to member functions are not like regular pointers to functions, because member functionshave a hidden &quot;this&quot; parameter, and so can only be called if y
Michigan - EECS - 381
EECSE ECS 3 81 E xample C ode Q uality C heck L ist - C v ersionExplanation and guidance for some items is shown in italicsStudent:Student:A G s core:_General c ode q uality(2) Appropriate commenting.Function prototypes first, functions in readabl
Michigan - EECS - 381
Static (Class-wide) MembersDavid KierasPrepared for EECS 381, Fall 2004Non-static (ordinary) member variablesRegular member variables of a class exist in every object. That is, when you declare a class and listthe member variables, you are saying tha
Michigan - EECS - 381
Using TR1s bind with Containers and AlgorithmsDavid Kieras, EECS Department, University of MichiganFebruary, 2007Since the rst C+ Standard was approved in 1998, a group of C+ wizards have been working on the opensource Boost library (www.boost.org), wi
Michigan - EECS - 381
Basic UML Class Diagram NotationAbstract classClassNameNameattributesNamecfw_Abstractvirtual method()method()(member variables)Inheritance (is-a) relationshipBaseDerived2 is-a Basemethods(member functions)+ public_method()# protected_meth
Prairie View A & M - ENGL - 1123
Aaron Preston4/4/12Engl.1123Prof. VarnerHomework Assignment1. Wheatley stated when he feels that technology is a necessity is whenever that personsjob requires it. Examples: photographers using digital cameras, marketers using handheldphones.2. Do
Baylor - CSS - 1302
Speech 5 An International Problem and SolutionOverviewSpeech describing an international problem, its cause, and offering a solutionPersuasive5-7 minutesNo visual aid required, but can be used. (let me know)7 sources requiredBe well reasoned, and t
Baylor - CSS - 1302
Speech 6 Checklist_ Speech outline with title of presentation and subject sentence labeled._ Annotated speech bibliography_ Confirmation that your outline and bibliography have been submitted to TurnItIn.Com(I would recommend taking a screenshot, copy
Baylor - CSS - 1302
Auburn - ACCT - 1311
Page 1EXAM 3 REVIEW: PROBLEMSComplete these sample exam problems and check your answers with the solutions at the end of the reviewfile, and identify where you need additional study before the exam.I.Property, Plant, and EquipmentKleener Co. acquire
Oregon State - H - 312
HIV/AIDS:- Human Immunodeficiency Virus (HIV) that causes Acquired Immunodeficiency Syndrome (AIDS).- Immune System:o A network of cells, tissues and organs that work together to defend the body against foreigninvaders.o Comprised of specific organs
Oregon State - H - 312
The focus of public health is on prevention of disease (vs. treatment) and reduction ofhealth inequalities in populations (vs. individuals). The STIs are among those 1524.Definitions:Is a state of complete physical, mental and social well-being and n
Oregon State - H - 312
Vocabulary and concepts you want make yourself aware of.Note of Caution: This list does not preclude you from reading the book as part of the preparation forthis exam. Readings assigned will also be sources of test questions. That includes all PowerPoin
Oregon State - H - 312
Viral STIs-Viruses have no metabolismTotal dependence on living cells (HOST) for reproductionViral STIs are difficult to eradicate - the virus remain in the body even after symptoms subside.Over 70 types of HSV existSTIGenital Herpes(Herpes Simple
UConn - ACCT - 5123
Financial ProblemThe Sippican Corporation is losing profitability. The March 2006 data from theiroperating results, profitability analysis, product data and monthly production statistics helpsto support this. We believe that Sippicans current accountin
University of Texas - MATH - 408 L
adamo (aa29988) HW01 kalahurka (55230)This print-out should have 24 questions.Multiple-choice questions may continue onthe next column or page nd all choicesbefore answering.0014. limit = 4x + 25. limit = 6x + 2 correct10.0 points6. limit does no
Waterloo - STAT - 443
STAT 443: Assignment 2: SolutionsOnly mark the parts of the assignments which are indicated in this markscheme. The total mark for this assignment is 62.Please indicate to the students where they are losing marks and put yourinitials at the top of eac
Waterloo - STAT - 443
STAT 443: Assignment 3:SolutionsOnly mark the parts of the assignments which are indicated in this markscheme. The total mark for this assignment is 60.Please indicate to the students where they are losing marks and put yourinitials at the top of eac
mpc.edu - ENG - 18
HolderChristen HolderDr. Anita JohnsonEnglish 18: The Bible as Literature15 April 2012Reading Response Paper #1 (Option 2: Interview of Joseph)In an effort to better understand the Abraham's family and dependants' migration intoEgypt prior to their
mpc.edu - ENG - 18
English 18: The Bible as LiteratureLiterary Analysis Essay, due 9/25Essay One GuidelinesFall 201150 pointsYour literary analysis essay is due on Sunday, 9/25, and must be based on English 18selected readings in the textbook The Bible as Literature a
mpc.edu - ENG - 18
Holder 1Christen HolderDr. Anita JohnsonEnglish 18: The Bible as Literature15 April 2012Hagar and Ishmael: A story of Merciful Faith (Option 2)The Biblical story of Hagar and Ishmael reinforce a consistent theme about faith and theperils of disobed
mpc.edu - ENG - 18
Holder 1Christen HolderDr. Anita JohnsonEnglish 18: The Bible as Literature15 April 2012Ecclesiastes Chapter 3: (Option 3)Ecclesiastes Chapter 3 conveys a more temporal idea that while God is eternal andomnipotent humankind is mortal left to a diff
mpc.edu - ENG - 18
8: OPTIONAL: Discussion Forum Review for the Midterm ExamThe Forum this week is designed to give you an opportunity to share questions,reflections and observations about the readings so far this semester; you could add aquestion that you are curious ab
mpc.edu - ENG - 18
4) One key passage in Jeremiah is Ch. 31: 31-34; review this passage and reflectback on the discussion of the Mosaic covenant (from Exodus and Deuteronomy) andthe Davidic covenant. What does this passage suggest about a change in theunderstanding of th
mpc.edu - ENG - 18
Christen HolderDr. Anita JohnsonEnglish 18: The Bible as LiteratureReading Response Paper #315 April 2012TOPIC #2: Ezekiel 38I chose Ezekiel 38 because it is a significant passage in one of the propheticworks from Ezekiel. I read the passage in 3 d
mpc.edu - ENG - 18
English 18: The Bible as LiteratureReading Response Paper #3: Due 10/3020 pointsTOPIC #2:2)Choose a chapter or significant passage in one of the prophetic works (from Jonah,Amos, Isaiah, Jeremiah, or Ezekiel) and read the passage in 3 or more differ
mpc.edu - ENG - 18
TheGospels:TheirNarratives,Parables,andEventsChristopher MortonGTW Falls Session 2: Week 1Similarities and Differences in the Four GospelsChristians love Paul. They enjoy books like 1 John, Psalms, and Isaiah. But if you look aroundtown on any given
mpc.edu - ENG - 18
3. The book of Acts is a narrative, historical, and explanatory book; there is a cast ofcharacters and a carefully organized series of events designed by Luke toemphasize the concepts, as noted above, the challenges for the early Christiancommunity, de
mpc.edu - ENG - 18
Holder p.1Christen HolderDr. Anita JohnsonEnglish 18: The Bible as Literature15 April 2012Research Paper Proposal (Topic 10)TheI propose to prepare a Research Project that explores, analyzes and describes what thesymbol of &quot;the word&quot; and &quot;the ligh
mpc.edu - ENG - 18
English 18: The Bible as LiteratureReading Response Paper #4: Due 11/28Art and the Bible20 pointsThe Reading Response papers are designed to focus your attention on a specific literaryor interpretive aspect of the selected texts. Please choose a resou
mpc.edu - ENG - 18
Christen HolderDr. Anita JohnsonEnglish 18: The Bible as LiteratureReading Response Paper #415 April 2012Option 1: Biblical storytelling as a Visual ArtI visited the Vatican Museums' online collection to study &quot;The Flood&quot; painting onthe ceiling's c
mpc.edu - ENG - 18
Holder p.1Christen HolderDr. Anita JohnsonEnglish 18: The Bible as Literature15 April 2012Annotated BibliographyBraden, Gregg. The Lost Mode of Prayer: The Hidden Power of Beauty, Blessing, Wisdom,and Hurt. Hay House, 2006, CDThis audio book was v
University of Phoenix - COM - 156
CHAPTER11Writing from Research1. THE PURPOSE OF RESEARCH WRITING: ASKINGQUESTIONS AND SHARING THE ANSWERSLEARNINGOBJECTIVES1. Identify reasons for researching writing projects2. Outline the steps of the research writing processWhy was the Great W
University of Phoenix - COM - 156
Appendix GCOM/156 Version 5Associate Level MaterialAppendix GThesis StatementsWhat Is a Thesis Statement?If you have ever worked in an office with computers, your computer was probably connected to anetwork. In a network, there is one main computer