26 Pages

C15

Course: CS 2704, Summer 2002
School: Virginia Tech
Rating:
 
 
 
 
 

Word Count: 2715

Document Preview

1 Definition polymorphism Polymorphism the ability to manipulate objects of distinct classes using only knowledge of their common properties without regard for their exact class (Kafura) Note that polymorphism involves both algorithms and types of data (classes). Computer Science Dept Va Tech January 2002 OO Software Design and Construction 2002 McQuain WD & Keller BJ Class Hierarchy Recall the...

Register Now

Unformatted Document Excerpt

Coursehero >> Virginia >> Virginia Tech >> CS 2704

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.
1 Definition polymorphism Polymorphism the ability to manipulate objects of distinct classes using only knowledge of their common properties without regard for their exact class (Kafura) Note that polymorphism involves both algorithms and types of data (classes). Computer Science Dept Va Tech January 2002 OO Software Design and Construction 2002 McQuain WD & Keller BJ Class Hierarchy Recall the inheritance hierarchy from earlier notes: Person 1 1 Polymorphism 2 Name 1 1 Address Student Employee Staff Professor Assume that a member function Print() has been added to Person, and overriden with custom versions in Student, Staff and Professor. Computer Science Dept Va Tech January 2002 OO Software Design and Construction 2002 McQuain WD & Keller BJ Base Function and Specializations Polymorphism 3 The base print function uses an overloading of operator<< for the class Address: void Person::Print(ostream& Out) { Out << "Name: " << Nom.formattedName() << endl << Addr << endl; } void Professor::Print(ostream& Out) { Person::Print(Out); Out << "Dept: " << getDept() << endl; Out << "ID: " << getID() << endl; Out << "Salary: " << fixed << showpoint << setw(10) << setprecision(2) << Salary << endl; } Professor::Print() invokes the base function and extends it. Student::Print()and Staff::Print() are similar. Computer Science Dept Va Tech January 2002 OO Software Design and Construction 2002 McQuain WD & Keller BJ Organizing Objects of Related Types Polymorphism 4 It is somewhat reasonable to want to have a single data structure that holds objects of any type derived from Person. For example: Professor JoeBob(/* . . . */); Student HaskellHoo(/* . . . */); Staff JillAnne(/* . . . */); Person People[3]; People[0] = JoeBob; People[1] = HaskellHoo; People[2] = JillAnne; We may achieve this by using a structure, such as an array, declared to hold objects of the base type, Person in this case. Since it is legal to assign a derived type object to an object of its base type, the storage statements here are legal however, the effect is not ideal Computer Science Dept Va Tech January 2002 OO Software Design and Construction 2002 McQuain WD & Keller BJ Slicing Again Polymorphism 5 As noted earlier, the assignment of a derived object to a base variable results in "slicing"; the non-base elements are lost in the copying. Thus: Person People[3]; People[0] = JoeBob; People[1] = HaskellHoo; People[2] = JillAnne; People[0].Print(cout); People[1].Print(cout); People[2].Print(cout); The three invocations of Print() act on objects of type Person, and the resulting output shows only the data elements of a Person object. Of course, you can't expect anything better because the elements of the array People[] are simply objects of type Person. Computer Science Dept Va Tech January 2002 OO Software Design and Construction 2002 McQuain WD & Keller BJ Using Pointers to Avoid Slicing Polymorphism 6 Actually the results are not really acceptable. There are times when we definitely want to be able to use a single data structure to hold objects of related but different types, and have the resulting behavior reflect the type of the actual object. The first question: is how can we avoid slicing? The answer is: dont make a copy Professor JoeBob(/* . . . */); Student HaskellHoo(/* . . . */); Staff JillAnne(/* . . . */); Person* People[3]; People[0] = &JoeBob; People[1] = &HaskellHoo; People[2] = &JillAnne; If our data structure stores pointers to the objects, then no slicing will occur. But is this legal? And what is the effect now if we access the objects? Computer Science Dept Va Tech January 2002 OO Software Design and Construction 2002 McQuain WD & Keller BJ Pointer Access to Objects in a Hierarchy Polymorphism 7 The code just shown is legal. A base-type pointer may store the address of a derived-type object. The effect, however, is no better than before. The following statement will still invoke Person::Print() and display only the data members that belong to the Person layer of the object. People[0]->Print(cout); The base pointer does point to an object of type Professor (see the original declaration and assignment), but the derived layer with its extended functionality is still inaccessible but this illustrates two of the three steps that are necessary to achieve our goal. Computer Science Dept Va Tech January 2002 OO Software Design and Construction 2002 McQuain WD & Keller BJ C++ Support for Polymorphism In C++, polymorphic behavior can be attained by combining: - an inheritance hierarchy - object accesses via pointers - use of virtual member functions in base classes Polymorphism 8 class Person { // . . . public: Professor JoeBob( . . . ); Person(. . .); // . . . // . . . virtual void Print(ostream& Out); Person* People[3]; People[0] = &JoeBob; }; // . . . People[0]->Print(cout); A member function is declared virtual by simply preceding its prototype with the keyword virtual. By declaring Person::Print() as virtual, we complete the enabling of the mechanism used in C++ to achieve polymorphic behavior. Computer Science Dept Va Tech January 2002 OO Software Design and Construction 2002 McQuain WD & Keller BJ Virtual Functions and Binding Polymorphism 9 A member function is declared to be virtual by using the keyword virtual. Normally functions are declared virtual in a base class and then overridden in each derived class for which the function should have a specialized implementation. This modifies the rules whereby a function call is bound to a specific function implementation. In normal circumstances (i.e., what weve done before) the compiler determines how to bind each function call to a specific implementation by searching within the current scope for a function whose signature matches the call, and then expanding that search to enclosing scopes if necessary. With an inheritance hierarchy, that expansion involves moving back up through the inheritance tree until a matching function implementation is found. Computer Science Dept Va Tech January 2002 OO Software Design and Construction 2002 McQuain WD & Keller BJ Early Binding Polymorphism 10 When the binding of call to implementation takes place at compile-time we say we have early binding (aka static binding). This call binds to the local implementation of Print() given in the class Professor which overrides the one inherited from the base class Person Professor P(/*. . .*/); P.Print(cout); cout << P.getAddress(); and this binds to the implementation of getAddress() inherited from the class Person. Early binding is always used if the invocation is direct (via the name of an object using the dot operator), whether virtual functions are used or not. The search for a matching function begins with the actual object type and proceeds up the inheritance hierarchy until a match is found. Computer Science Dept Va Tech January 2002 OO Software Design and Construction 2002 McQuain WD & Keller BJ Invocation via a Pointer w/o Virtuality Polymorphism 11 When a function call is made using a pointer, and no virtual functions are involved, the binding of the call to an implementation is based upon the type of the pointer (not the actual type of its target). This call binds to the local implementation of setID() given in the class Employee. Professor P(/*. . .*/); P.setID(/*. . .*/); Employee* pEmp = &P; pEmp->setID(/*. . .*/); Person* pPer = &p; pPer->setID(/*. . .*/); This call would bind to the implementation of setID() inherited from the class Person, if there were one. As it is, this will generate an error at compile time. Note: the last call produces a compile-time error because the class Person does not provide a member function that matches the call. Computer Science Dept Va Tech January 2002 OO Software Design and Construction 2002 McQuain WD & Keller BJ Enabling Polymorphism with Virtual Functions Polymorphism 12 However, when a function call is made using a pointer, and virtual functions are involved, the binding of the call to an implementation is based upon the type of the target object (not the declared type of the pointer). Modify the declaration of Employee to make setID() a virtual function: class Employee : public Person { private: string Dept; string ID; public: // . . . virtual Employee& setID(const string& I); ~Employee(); }; Note this doesn't change the implementation of Employee::setID(). Computer Science Dept Va Tech January 2002 OO Software Design and Construction 2002 McQuain WD & Keller BJ Invocation via a Pointer with Virtuality Polymorphism 13 Now, if we access objects in this inheritance hierarchy via pointers, we get polymorphic behavior. That is, the results are consistent with the type of the target, rather than the type of the pointer: This call now binds to the overriding implementation of setID() given in the class Professor. because *pEmp is an object of type. Professor that P(/*. . .*/); P.setID(/*. . .*/); Employee* pEmp = &P; pEmp->setID(/*. . .*/); If you dont think thats cool... The point is that we trigger the behavior of the actual object, even though we can't tell what that type is from the invocation. Computer Science Dept Va Tech January 2002 OO Software Design and Construction 2002 McQuain WD & Keller BJ Late Binding Polymorphism 14 When the binding of call to implementation takes place at runtime we say we have late binding (aka dynamic binding). Professor Prof(/*. . .*/); Staff Stff(/*. . .*/); Person* pPer; char ch; cout << "Enter choice: "; cin >> ch; if (ch == 'y') pPer = &Prof; else pPer = &Stff; pPer->Print(cout); Theres no way to know the type of the target of pPer until runtime. However, the call to the virtual member function Print() will be bound to the correct implementation regardless. But HOW is this done? See Stroustrup 2.5.5 and 12.2.6. Computer Science Dept Va Tech January 2002 OO Software Design and Construction 2002 McQuain WD & Keller BJ Virtual Function Tables Polymorphism 15 When the binding of call to implementation takes place at runtime, the address of the called function must be managed dynamically. The presence of a virtual function in a class causes the generation of a virtual function table (vtbl) for the class, and an association to that table in each object of that type: Nom Addr Person object Print Person vtbl Person::Print() Code This increases the size of each object, but only by the size of one pointer. Key fact: if a function is virtual in a base class, it's also virtual in the derived class, whether it's declared virtual there or not. Computer Science Dept Va Tech January 2002 OO Software Design and Construction 2002 McQuain WD & Keller BJ Derived Class View So for a Professor object we'd have: Polymorphism 16 Nom Addr . . . Professor object Print Professor::Print() Code Professor vtbl In this simple case, the derived object has its own implementation to replace the single virtual function inherited from the base class. That's often NOT the case. Then, one or more of the derived class vtbl pointers will target the base class implementation but first we have another problem to address. Computer Science Dept Va Tech January 2002 OO Software Design and Construction 2002 McQuain WD & Keller BJ Base Class Shortcomings Polymorphism 17 The attempt to call Professor::setID() below is illegal because the class that corresponds to the pointer type doesn't have a matching function: Professor JoeBob(/*. . .*/); Person* pPer = &JoeBob; pPer->setID("P0007"); // illegal We could fix this by adding a corresponding virtual function to the base type Person, but such a function doesn't make any sense since Person doesn't store an ID string. Nevertheless, designers often resort to clumsy fixes like this to make a hierarchy work. If we add Person::setID() as a virtual protected function, it is invisible to Person clients but can still be overridden in derived classes. Unfortunately that would not fix the access problem in the code above. Computer Science Dept Va Tech January 2002 OO Software Design and Construction 2002 McQuain WD & Keller BJ Pure Virtual Functions Polymorphism 18 The problem here is somewhat nasty we can add an unsuitable public member function to the base class, or we can resort to placing a pure virtual function in the base class: class Person { private: Name Nom; Address Addr; public: // . . . virtual Person& setID(const string& I) = 0; virtual void Print(ostream& Out); // . . . }; A pure virtual function does not have an implementation. This means it is no longer possible to declare an object of type Person. A class that cannot be instantiated is called an abstract class. Computer Science Dept Va Tech January 2002 OO Software Design and Construction 2002 McQuain WD & Keller BJ A Design Lesson Polymorphism 19 We will adopt this approach, making Person an abstract base class for the entire hierarchy. This has some costs a number of the member functions in the derived classes (chiefly constructors) must be revised because it is now impossible to declare an object of type Person, even anonymously. We would have been much better off if this decision had been made early, before so many derived classes were implemented. On the other hand, it is very common to have an abstract base class, usually because in the end that base class turns out to be so general (or so problematic) that we will never instantiate it. Computer Science Dept Va Tech January 2002 OO Software Design and Construction 2002 McQuain WD & Keller BJ The Revised Person class Here is our revised base class: Polymorphism 20 class Person { private: Name Nom; Address Addr; public: Person(const Name& N = Name(), const Address& A = Address()); Person& setAddress(const Address& newAddr); Address getAddress() const; Name getName() const; Person& setName(const Name& N); virtual Person& setID(const string& I) = 0; virtual string getID() const = 0; virtual void Print(ostream& Out); virtual ~Person(); }; Note that the constructor is retained because it is useful in the derived type constructors. Computer Science Dept Va Tech January 2002 OO Software Design and Construction 2002 McQuain WD & Keller BJ The Revised Employee class class Employee : public Person { private: string Dept; string I...

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:

Virginia Tech - CS - 2704
Designing the ClassesOnce a set of candidate objects is determined we must: Determine which are &quot;real&quot; objects in the system. Identify their attributes.- attributes are dataDesigning Classes1- define what the data is, not how it is to be repr
Virginia Tech - CS - 2704
Design HierarchyThe development process culminates in the creation of a system.Paradigms 1First we describe the system in terms of components, and describe those components in terms of sub-components, and describe those . . . This process requir
Virginia Tech - CS - 2704
Overloading &amp; PolymorphismOverloading is considered ad-hoc polymorphism. Can define new meanings (functions) of operators for specific types.Operators1Compiler recognizes which implementation to use by signature (the types of operands used in
UConn - MMAT - 317
Problem Number 1 The effective density of states in the conduction band and valence band for GaAs are 4.7x1017 cm-3 and 7.0x1018cm-3, respectively at 300 K. What are the ratios of the effective to free electron masses m*/m0 for electrons and holes. T
UConn - MATH - 227
Final Exam Name: 6 4 0 1 1. (15 pts) A = 0 6 eigenvector associated with Math 227 Section:Fall 2007 2 1 Find the eigenvalues of A and with each eigenvalue give a corresponding 2 it.2.(10 pts)Let B = {1 2,1 }. Find the coordinate v
Penn State - MATH - 568
Math 568 Homework 8 Spring 2009 Due: Thursday, March 191. Marcus, Exercise 1, page 114: Show that E(Q|p) is a normal subgroup of D(Q|p) directly from the denition of these groups. 2. Marcus, Exercise 5, (a)(c), page 115: Let L/K be an extension of
Toledo - PHY - 205
Class vote:Correct answer: B. Faradays Law states that the induced voltage in a coil is proportional to the number of loops, multiplied by the rate at which the magnetic field changes within these loops. So, if the same magnet is pushed into the co
Toledo - PHY - 292
Toledo - PHY - 292
Frozen degrees of freedom Example of H2 molecule Need Quantum and Statistical Mechanics!Example - Coin flip Starting with a dime, a quarter and a loonie: Flip all three - what are possible outcomes? H H H T H H H T H H H T T T H H T T T H T T
Toledo - PHY - 205
PHY 205 - Physics of Everyday Life Lecture 14: 2 March 2009 Magentism, induction, AC / DC power
Toledo - PHY - 205
PHY 205 - Physics of Everyday Life Lecture 15: 4 March 2009 Polarization, Bernoulli Principle, Review
Penn State - LAC - 273
Lance A. Cunningham Lesson Evaluation #4 December 15, 2008 SCIED 411 Lesson Plan Evaluation FormComponent Source Information Description The authors of the lesson are clearly indicated, as well as the source of the lesson plan. Sample citations for
Penn State - LAC - 273
SCIED 411 Peer Teaching 4 and Clinic 2 November 26, 2008Presenters Lance lac273@psu.edu Alex Smolin aos5008@psu.edu Grade Level and Topic 6th-8th grade Ice Ages and their Effect An in-depth study of ice ages and their effect on life. Standards PA A
Penn State - LAC - 273
Lance A. Cunningham SciEd 411, Sec. 001 December 15, 2008 Simulation ReviewThis assignment placed the student in the shoes of a watershed manager for an area in upstate New York. It used a computer simulation program that emulated the waters of a l
Penn State - LAC - 273
Lance A. Cunningham SciEd 411, Sec. 001 December 15, 2008 Philosophy of Science (Revised)Philosophy of Science 2Your response has been submitted successfully.1. In your own words, what is science? Points ?/0, This item will be graded later. Earn
Toledo - PHY - 205
PHY 205 - Physics of Everyday Life Lecture 10: 9 February 2009 Temperature, heat, heat capacity
Toledo - PHY - 205
PHY 205 - Physics of Everyday Life Lecture 11: 11 February 2009 Heat transfer, refrigerators
Toledo - PHY - 205
Class vote 1: Then further discussion between class members.Class vote 2: Correct answer C. They are the same. The temperature of the stove element and the time that each pot spends on the element are the same. The difference is what is in the pot!
Penn State - LAC - 273
Lance A. Cunningham February 12th, 2009 CI 412W W #1 At the beginning of this book I found the author to be at best tiring and trying. He displayed an overt disdain/distaste for the profession that he found himself to be in, having thought that he w
Wisconsin - SOC - 530
Soc/Psy 530 (Freese &amp; Macgregor) Exercise I: Flashbulb Memories Due: in discussion section on 9.11.02)* 1) In three to five sentences, describe flashbulb memories. Include the name of the psychological mechanism that encodes flashbulb memories in our
Toledo - PHY - 205
Penn State - KMN - 5047
Kylie Nelliswww.personal.psu.edu/kmn5047kylie-nellis@comcast.netReferences:Jill Neely Producer, Pittsburgh Today Live KDKA, Pittsburgh jneely@kdka.com 412-575-2385Tim King News Bureau Chief Metro Networks, Pittsburgh tim_king@metronetworks.co
Allan Hancock College - CIVL - 4414
LECTURE 4: STIFFNESS4.1: IntroductionThe aim of this chapter is to introduce the concept of the stiffness matrix through consideration of very simple structural elements. Attention is focused on one-dimensional bar elements with the aim of establis
Allan Hancock College - CIVL - 2201
School of Civil Engineering Structural MechanicsFormative Problem Set 2 Equilibrium This set of problems should be completed during the lecture/tutorial session in which it was distributed. While no marks are assigned to the completion of this exer
Wisconsin - BOTANY - 563
Wisconsin - HW - 291
CEE 291 Problem Solving using Computer ToolsHomework 1Assigned: 1/23/2007 Due: 1/30/2007David L Blodgett1Problem 1Damped Oscillation50 40 30 Position, Velocity, Ac cceleration 20 10 0 10 20 30 40 50 60 70 0 0.5 1 1.5 2 2.5 Time 3 3.5 4 4.
Wisconsin - HW - 291
UW-Madison Civil &amp; Environmental Engineering CEE251: ENGINEERNG SPATIAL MEASUREMENTSLAB ASSIGNMENT: Profile Leveling and PlotOVERVIEW: Perform differential leveling to determine elevations along the sidewalk in Camp Randall Park. Plot a profile us
Wisconsin - EXAMSFALL - 208
Name: _ Student ID: _ Section #: _Physics 208 Exam 3Nov. 29, 2006Print your name and section clearly above. If you do not know your section number, write your TAs name. Your final answer must be placed in the box provided. You must show all you
Wisconsin - ECE - 511
ECE 511 Theory and Control of Synchronous MachinesRequired Homework Problem 6 Synchronous Machine WindingsA three phase, four pole, 24 slot stator winding uses concentric coils which contain 30 turns in the outer coils (A1 &amp; A3) and 20 turns in th
Wisconsin - ECE - 511
UConn - MATH - 106
Sample Mathematics 106 Questions(1) Calculate limx5 (2) x2 + 8x 65 . x5 Consider an object moving in a straight line for which the distance s (measured in feet) its travelled from its starting point is given by the formula s = 0.1t2 + 10t, where t
UConn - M - 210
UConn - MATH - 1132
Formulas &amp; Techniques Useful for Integration1. Basic Formulas: kf (u) du = k f (u) du f (u) du g(u) du au du = au +C ln a[f (u) g(u)] du = du = u + C un du =sin u du = cos u + C cos u du = sin u + C sec2 u du = tan u + C sec u tan u du = sec
UConn - MATH - 114
Math 114Q Section 2 Infinite Series: Tests for Convergence or Divergence Test k -TermthSeriesCondition(s) of ConvergenceCondition(s) of Divergencek Comment This test cannot be used to show convergence Sum: a S= 1r Sum: S = b1 Lak =1 k
UConn - MATH - 116
Problems not listed in 3rd edition of textbookNote: This is by no means a complete list. You must also do the problems listed on the homework list. These were only the problems which were not given at all in the 3rd edition. The numbers are the numb
UConn - MATH - 116
Math 116 Spring 2006 Practice Final Answers 1. (a) Dont worry about this one. (b) False. Since sin(x2 ) 1, we haven 2 1sin(x2 )dx &lt;2 11dx = 1.(c) True. Since lim (d) True. F (5) =n 5 01 e = , the series diverges by the divergence test.
UConn - MATH - 2210
Math 2210Exam 1 AnswersFebruary 20, 2009Name:Instructions: Answer each of the following questions, and make sure you SHOW ALL YOUR WORK! Answers without supporting work will be counted as incorrect! (14pts) 1. Math is Cool : Fill in every bla
Wisconsin - CS - 537
CS-537: Midterm Exam (Spring 2001)Please Read All Questions Carefully!There are seven (7) total numbered pagesName:1Grading PagePoints Part I: Short Answers Part II: Long Answers TotalTotal Possible (12 5) 60 (2 20) 40 100Name:2
East Los Angeles College - EC - 248
EC 248: Financial Innovations and Monetary PolicyClass - Week 9 Stefan NiemannMarch 13, 2009Wrap Up of Last Week's Lectures1. Commercial banking 2. Bank performance 3. Risk managementliquidity management asset/liability management capital ade
UConn - MATH - 2410
Math 2410Quiz 310 February 2009Problem 1: [BDH 1.5.12] (6 points) Verify (without finding the general solution) that y1 (t) = 1 t-1 and y2 (t) = 1 t-2are solutions of the differential equation What can you say about solutions of the inequalit
Allan Hancock College - MATH - 1003
Wisconsin - J - 676
Journalism676MediaWithoutBorders: Law,Ethics&amp;DigitalCommunicationSpring2009 Lecture:2:30p.m.to3:45p.m.TR 132NolandHall OfficeHours:1:30to2:30p.m.Mandbyappt.KatyCulver 5146VilasHall 2633396 kbculver@wisc.edu AIM:profkatyIntroductionTogetherwewi
Wisconsin - J - 676
1Legal Basics IJ676, Media Without Borders: Law, Ethics &amp; Digital Communication common law developed through court decisions New York Times v. Sullivan 376 U.S. 254 (1964) precedent stare decisis e.g., libel case equity law rooted in fairness jud
Wisconsin - J - 676
1/31/0912Who is a Journalist? Why Does it Matter? Jason M. Shepard, Doctoral Candidate University of Wisconsin-Madison School of Journalism and Mass Communication January 29, 2009 As a Matter of Law The Law Requires Defining Journalist or Pres
Wisconsin - J - 202
NOTICE: This Material May Be Protected By Copyright Law (Title 17, U.S. Code)
Wisconsin - J - 202
1234567891011121314151617181920
Wisconsin - J - 202
Wisconsin - J - 202
J202 Culver Assignment: Translating Priorities into Leads Lead Solutions Week 2FICTIONALBelow are suggested leads for your assignment on prioritizing information. While some other options are also viable, you will benefit from comparing your lead
Neumont - EN - 1979
996EBNERTHE QUEENS.C.RDennis EbnerandAppellantHer Majesty The Queen1979Present AprilRespondent30 May1979June28Beetz EsteyMartland RitchieMcIntyreDicksonPratte andJJON APPEAL FROM THE COURT OF APPEAL FORBRITISHC
Toledo - MATH - 0405
Dror Bar-Natan: Classes: 2004-05: Math 1300Y - Topology:Dreams on the (Co)Homology of Manifoldsweb version: http:/www.math.toronto.edu/drorbn/classes/0405/Topology/ManifoldDreams/ManifoldDreams.htmlThe Context. Let M be an n-dimensional manifold
Allan Hancock College - COMP - 5138
School of Information Technologies Dr. Uwe Rhm o COMP5138: Relational Database Management Systems 2.Sem./2005Assignment 1: Conceptual and Logical Database DesignGroup Assignment (20%) 12.08.2005IntroductionThis is a small-group assignment and i
UConn - BME - 1990
iCHAPTER 20 UNIVERSITY OF SOUTH ALABAMAMechanical Engineering Department Mobile, Alabama 36688Principal Investigator:CeciZ 2%. Ramage (205) 460-6168305306 NSF 1990 Engineering Senior Design Projects to Aid the DisabledA Child' Recreationa
Penn State - CSE - 477
CSE477 VLSI Digital Circuits Spring 2001 Lecture 02: Design MetricsVijay Narayanan(www.cse.psu.edu/~vijay) www.cse.psu.edu/~cg477[Adapted in part from Rabaeys Digital Integrated Circuits, Prentice Hall, 1995]CSE477 L02 Metrics. 1 Irwin&amp;Vijay, PSU
Penn State - CSE - 477
CSE477 VLSI Digital Circuits Fall 2001 Lecture 05: IC ManufacturingVijay Narayanan www.cse.psu.edu/~cg477[Adapted in part from Rabaey's Digital Integrated Circuits, Prentice Hall, 1995]CSE477 L05 IC Manufacturing.1 Irwin&amp;Vijay, PSU, 2001Review:
Penn State - CG - 598
References - reading Quantum Cellular ArchitecturesVijay Narayanan Observation of Switching in QCA http:/www.lems.brown.edu/~iris/en291s1003/papers/qca-nanotech99.pdf Defects and Faults in Quantum Cellular Automata at Nano Scale. Tahoori, M., Mome
Allan Hancock College - COMP - 5416
COMP5416 Advanced Network TechnologiesLab 3: Single-Server Simulation with Finite Buffer Space Aim: In any system, there is only finite resource available. In this exercise, you will experiment how to choose an appropriate buffer size for a given s
Maryland - CMSC - 426
Homework 2:CMSC426Due 02/28/2005, 3:30 p.m.Please hand it in class. If you cannot make it to class, send me email at least two hours before class, and I will give you alternate instructions. Read Chapter 1, Chapter 7 (except 7.4, 7.6 and 7.8),
Neumont - EN - 1973
Allan Hancock College - MATH - 2961
2 The University of Sydney MATH2961 Linear Algebra and Vector Calculus (advanced)(http:/www.maths.usyd.edu.au/u/UG/SM/MATH2961/)2.Semester 1, 2009Lecturers: R. Howlett and J. ParkinsonConsider the system of linear equations in with augmented
Allan Hancock College - MATH - 2069
The University of Sydney School of Mathematics and StatisticsSolutions to Practice Class 2MATH2069/2969: Discrete Mathematics and Graph Theory Semester 1, 2009For some questions with a numerical answer, the answer is indicated in two forms, e.g.
Toledo - CHE - 112
UNIVERSITY OF TORONTO FACULTY OF APPLIED SCIENCE AND ENGINEERING FINAL EXAMINATIONS, DECEMBER 1999 CHE 112F - PHYSICAL CHEMISTRY Examiners: C.E. Chaffey, P.R. Foulkes, V.G. Papangelakis Time allowed: 2.5 hours Be sure to PRINT your name on every page