Course Hero - We put you ahead of the curve!
You have requested the below document.

lecture7 Lehigh IE 170
Sign up now to view this document for free!
  • Title: lecture7
  • Type: Notes
  • School: Lehigh
  • Course: IE 170
  • Term: Spring

Coursehero >> Pennsylvania >> Lehigh >> IE 170
Course Hero has millions of student submitted documents similar to the one below including study guides, homework solutions, papers, and exam answer keys.

Data Divide-And-Conquer Structures Divide-And-Conquer Data Structures Taking Stock Last Time Master Theorem Practice Some Sorting Algs Beginning of Java Collections Interfaces Jeff Linderoth Department of Industrial and Systems Engineering Lehigh University IE170: Algorithms in Systems Engineering: Lecture 7 This Time Hashes Trees and Binary Search Trees More on Java Collections Interfaces lab == fun January 29, 2007 Jeff Linderoth Divide-And-Conquer Data Structures IE170:Lecture 7 Master Theorem Jeff Linderoth Divide-And-Conquer Data Structures IE170:Lecture 7 Master Theorem The Java Collections Interfaces In the remainder of the class, we will be using the Java Collections Interface: http://java.sun.com/docs/books/ tutorial/collections/TOC.html Important: Most of what I will say only works if you set the "code level" to Java 5.0 in eclipse! Preferences, Java Compiler: Set this to 5.0 The interfaces form a hierarchy: (A subset of) the Collections Interface public interface Collection<E> extends Iterable<E> { // Basic operations int size(); boolean isEmpty(); boolean contains(Object element); boolean add(E element); //optional boolean remove(Object element); //optional Iterator<E> iterator(); // Array operations Object[] toArray(); <T> T[] toArray(T[] a); } Jeff Linderoth IE170:Lecture 7 Jeff Linderoth IE170:Lecture 7 Divide-And-Conquer Data Structures Master Theorem Divide-And-Conquer Data Structures Master Theorem Set Hash? A Set is a Collection that cannot contain duplicate elements. It models the mathematical set abstraction. The Set interface contains only methods inherited from Collection and adds the restriction that duplicate elements are prohibited. Set is still an interface. There are 3 implementations of Set in Java. HashSet TreeSet LinkedHashSet No, Cheech. A hash table is a data structure in which we can "look up" (or search) for an element efficiently. The expected time to search for an element in a has table in O(1). (Worst case time in (n)). Think of a hash table as an array With a regular array, we find the element whose "key" is j in position j of the array. j = 17; val = a[j]; . This is called direct addressing and it takes O(1) on your regular ol' random access computer. This form of direct addressing works when we can afford to have an array with one position for every possible key Jeff Linderoth Divide-And-Conquer Data Structures IE170:Lecture 7 Master Theorem Jeff Linderoth Divide-And-Conquer Data Structures IE170:Lecture 7 Master Theorem Example More on Hash In a hash table the number of keys stored is small relative to the number of possible keys A hash table is an array. Given a key k, we don't use k as the index into the array rather, we have a hash function h, and we use h(k) as an index into the array. Given a "universe" of keys K. Think of K as all the words in a dictionary, for example This look great. However, what happens if h(k1 ) = h(k2 ) for k1 = k2 ? Two keys hash to the same value. The elements collide This is typically handled by chaining Instead of storing a key k (or later key value pair (k, v)) at every position in the array, we store a linked list of keys. Example: h : K {0, 1, . . . m - 1}, so that h(k) gets mapped to an integer between 0 and m - 1 for every k K We say that k hashes to h(k) Jeff Linderoth IE170:Lecture 7 Jeff Linderoth IE170:Lecture 7 Divide-And-Conquer Data Structures Master Theorem Divide-And-Conquer Data Structures Master Theorem A (Fairly) Obvious point BAD hash function. h(k) = 3. If all keys hash to the same value, then looking up a key takes (n). (Since it is just a list). We would like a hash function to be "random" in the sense that a key k is equally likely to has into any of the m slots in the hash table (array). If we have such a function, then we can show that the average n time required to search for a key is (1 + m ) When hashing keys that are not numbers, you must convert them to numbers, e.g.: beer = -142 + 24 + 53 + 52 + 181 = 42. Average Hash Search Time The number of elements to be searched is 1 more than the number of elements that appear before x in x s list. Assuming we insert items into the list at the beginning, then this is the number of elements that were inserted after x. By definition: P(h(ki ) = h(kj )) = 1 m Let Xij be indicator random variable that is equal to one if and only if h(ki ) = h(kj ) Then just compute: E 1 n n i=1 1 + n j=i+1 Xij . Jeff Linderoth Divide-And-Conquer Data Structures IE170:Lecture 7 Master Theorem Jeff Linderoth Divide-And-Conquer Data Structures IE170:Lecture 7 Master Theorem Hash Functions Modular Hash Function Let m be (roughly) the size of your hash table: h(k) = k mod m Good choice of m: A prime number not too close to an exact power of 2 Multiplicative Hash Function h(k) = m(kA mod 1) Multiply key k by A, take fractional part, and multiply by m If m = 2p this can be done very fast with bit shifting A = ( 5 - 1)/2 seems a good value Back to the Java Collections So now you know what a Java HashSet is. A LinkedHashSet is a HashSet that also keeps track of the order in which elements were inserted. (Think of laying a linked list on top of the Hash Table) A TreeSet stores its elements in a alertred-black tree. In order to understand red-black trees, we must know about binary search trees. Hash table is "good" at insert(), search(), delete(). But what if you also want to support (efficiently) minimum(), maximum() Jeff Linderoth IE170:Lecture 7 Jeff Linderoth IE170:Lecture 7 Divide-And-Conquer Data Structures Java Collections Divide-And-Conquer Data Structures Java Collections Trees A tree is a set of items organized into a hierarchical structure (think of a family tree). When organized in this way, we call the items nodes. Each node has a single designated parent and one or more children. There is a single designated node, called the root, with no parent. Any node with no children is called a leaf. Any node with children is called internal. A tree in which all nodes have 2 or fewer children is called a binary tree. Storing a list of items in a tree structure allows us to represent additional relationships among the items in the list. Jeff Linderoth Divide-And-Conquer Data Structures IE170:Lecture 7 Java Collections Binary Tree Data Structures To store a tree of keys k, or maybe (key, value) pairs: (k, v), we need a data structure supporting three basic operations left l: Points to the left child right r: Points to the right child parent p: Points to the parent This allows us to traverse tree the and perform other operations on it. The level of a node in the tree is the number of recursive calls to parent() needed to reach the root. The depth of the tree is the maximum level of any of its nodes. A balanced tree is one in which all leaves are at levels k or k - 1, where k is the depth of the tree. Jeff Linderoth Divide-And-Conquer Data Structures IE170:Lecture 7 Java Collections Data Structures for Storing Trees Array The root is stored in position 0. The children of the node in position i are stored in positions 2i + 1 and 2i + 2. This determines a unique storage location for every node in the tree and makes it easy to find a node's parent and children. Using an array, the basic operations can be performed very efficiently. If the tree is unbalanced or dynamic, a linked list may be better. Data Structures for Storing Trees Linked List In a linked list, each item is stored along with explicit pointers to its parent and children. This allows for easy addition and deletion of nodes from the tree. Jeff Linderoth IE170:Lecture 7 Jeff Linderoth IE170:Lecture 7 Divide-And-Conquer Data Structures Java Collections Divide-And-Conquer Data Structures Java Collections Binary Search Tree Binary Search Trees There are lots of binary trees that can satisfy this property. A binary search tree is a data structrue that is conceptualized as a binary tree, but has one additional property: It is obvious that the number of binary tree on n nodes bn is bn = Binary Search Tree Property If y is in the left subtree of x, then k(y) k(x) 1 n+1 2n n bn = 4n (1 + O(1/n)) n3/2 And not all of these (exponentially many) are created equal. In fact, we would like to keep our binary search trees "short", because most of the operations we would like to support are a function of the height h of the tree. Jeff Linderoth Divide-And-Conquer Data Structures IE170:Lecture 7 Java Collections Jeff Linderoth Divide-And-Conquer Data Structures IE170:Lecture 7 Java Collections Operations Short Is Beautiful search() takes O(h) minimum(), maximum() also take O(h) Slightly less obvious is that insert(), delete() also take O(h) Thus we would like to keep out binary search trees "short" (h is small). successor(x) How would I know "next biggest" element? If right subtree is not empty: minimum(r(x)) If right subtree is empty: Walk up tree until you make the first "right" move insert(x) Just walk down the tree and put it in. It will go "at the bottom" Jeff Linderoth IE170:Lecture 7 Jeff Linderoth IE170:Lecture 7 Divide-And-Conquer Data Structures Java Collections Divide-And-Conquer Data Structures Java Collections delete() red-black Trees red-black trees are simply a way to keep binary search trees short. (Or balanced) If 0 or 1 child, deletion is fairly easy If 2 children, deletion is made easier by the following fact: Binary Search Tree Property If a node has 2 children, then its successor will not have a left child its predecessor will not have a right child Balanced here means that no path on the tree is more than twice as long as another path. An implication of this is that its maximum height is 2 lg(n + 1) search(), minimum(), maximum(), all take O(lg n) It's implementation is complicated, so we won't cover it insert(): also runs in O lg(n) delete(): runs in O lg(n) (but it is more complicated to maintain the "red-black" property) Jeff Linderoth Divide-And-Conquer Data Structures IE170:Lecture 7 Java Collections Jeff Linderoth Divide-And-Conquer Data Structures IE170:Lecture 7 Java Collections Back to the Java Collections Lists red-black trees remain sorted You don't really have any control over the order in which things will appear in a HashSet If you care about that you should use a LinkedHashSet, which lays a linked list on top of the HashSet In general, Sets are not for ordered collections of items, for that, you should use a list A List is an ordered Collection (sometimes called a sequence). Lists may contain duplicate elements. In addition to the operations inherited from Collection, the List interface includes operations for the following: Positional access: manipulate elements based on their numerical position in the list Search: searches for a specified object in the list and returns its numerical position Jeff Linderoth IE170:Lecture 7 Jeff Linderoth IE170:Lecture 7 Divide-And-Conquer Data Structures Java Collections Divide-And-Conquer Data Structures Java Collections (Subset of) List Interface public interface List<E> extends Collection<E> { // Positional access E get(int index); E set(int index, E element); //optional boolean add(E element); //optional void add(int index, E element); //optional E remove(int index); //optional // Search int indexOf(Object o); int lastIndexOf(Object o); // Iteration ListIterator<E> listIterator(); ListIterator<E> listIterator(int index); } Jeff Linderoth Divide-And-Conquer Data Structures IE170:Lecture 7 Java Collections Java List Implementations Two List Implementations 1 2 ArrayList: which is usually the better-performing LinkedList: offers better performance under certain circumstances, (i.e. if lots of add/remove in the middle if the list) Jeff Linderoth Divide-And-Conquer Data Structures IE170:Lecture 7 Java Collections Java Lists have extended iterators List Stuff ListIterator<E> listIterator(): gives iterator at beginning ListIterator<E> listIterator(int index): gives iterator at specified index The index refers to the element that would be returned by an initial call to next() The cursor is always between two elements: the one that would be returned by a call to previous() the one that would be returned by a call to next() public interface ListIterator<E> extends Iterator<E> { boolean hasNext(); E next(); boolean hasPrevious(); E previous(); int nextIndex(); int previousIndex(); void remove(); //optional void set(E e); //optional void add(E e); //optional } The n + 1 valid index values correspond to the n + 1 gaps between elements, from the gap before the first element to the gap after the last one. Jeff Linderoth IE170:Lecture 7 Jeff Linderoth IE170:Lecture 7 Divide-And-Conquer Data Structures Java Collections Next Time A bit on Java Collection Map Interface Move on to Heaps (Chapter 6) We have covered chapters 1-4, 10-11, and Appendices A and B News New Homework Posted! Let's have a little quiz on 2/7 Homework is due 2/5: No late homework accepted. (I need to hand out solutions and discuss in class on 2/5). Jeff Linderoth IE170:Lecture 7

Find millions of documents here - Study Guides, Homework Solutions, Papers, Exam Answer Keys and more. Course Hero has millions of course related materials that will enable you to learn better, faster and get an A in all your courses.
Below is a small sample set of documents:

Lab7
Path: Lehigh >> IE >> 170 Spring, 2006

Description: IE 170 Laboratory 7: Graph Search Dr. T.K. Ralphs Due April 3, 2006 1 1.1 Laboratory Description and Procedures Learning Objectives You should be able to do the following after completing this laboratory. 1. Understand the concept and use of a gra...
lecture26
Path: Lehigh >> IE >> 170 Spring, 2007
Description: Taking Stock IE170: Algorithms in Systems Engineering: Lecture 26 Jeff Linderoth Department of Industrial and Systems Engineering Lehigh University Last Time Flows This Time Review! April 2, 2007 Jeff Linderoth (Lehigh University) IE170:Lecture...
Lab0
Path: Lehigh >> IE >> 170 Spring, 2006
Description: IE 170 Laboratory 0: The Eclipse Integrated Development Environment Dr. T.K. Ralphs Due January 16, 2006 1 1.1 Laboratory Description and Procedures Learning Objectives 1. Understand the purpose and uses of an integrated development environment (ID...
lecture1
Path: Lehigh >> IE >> 170 Spring, 2007
Description: Today\'s Outline IE426: Algorithms in Systems Engineering: Lecture 1 Jeff Linderoth Department of Industrial and Systems Engineering Lehigh University About this class. About me About you Say Cheese! Quiz Number 0 Background in Algorithms January ...
Lab8
Path: Lehigh >> IE >> 170 Spring, 2006
Description: IE 170 Laboratory 8: Shortest Paths Drs. T.K. Ralphs and R.T. Berger Due April 10, 2006 1 1.1 Laboratory Description and Procedures Learning Objectives You should be able to do the following after completing this laboratory. 1. Understand the conc...
lecture33
Path: Lehigh >> IE >> 170 Spring, 2007
Description: What We\'ve Learned Part One IE170: Algorithms in Systems Engineering: Lecture 33 Jeff Linderoth Department of Industrial and Systems Engineering Lehigh University 1 2 3 4 5 Summation Formulae, Induction and Bounding How to compare functions: o, ,...
Lab3
Path: Lehigh >> IE >> 170 Spring, 2006
Description: IE 170 Laboratory 3: Stacks Dr. T.K. Ralphs Due February 13, 2006 1 1.1 Laboratory Description and Procedures Learning Objectives 1. Understand each of the key terms listed below. 2. Understand the concept of a new data type. 3. Understand the role...
lecture31
Path: Lehigh >> IE >> 170 Spring, 2007
Description: I Hate A-Rod! IE170: Algorithms in Systems Engineering: Lecture 31 Jeff Linderoth Department of Industrial and Systems Engineering Lehigh University April 20, 2007 Jeff Linderoth (Lehigh University) IE170:Lecture 31 Lecture Notes 1 / 14 Jeff L...
Lab4
Path: Lehigh >> IE >> 170 Spring, 2006
Description: IE 170 Laboratory 4: Sorting Dr. T.K. Ralphs and Dr. J.T. Linderoth Due Feb 20, 2006 1 1.1 Laboratory Description and Procedures Learning Objectives You should be able to do the following after completing this laboratory. 1. Understand heaps and t...
04cpphandout
Path: Lehigh >> CSE >> 432 Fall, 2008
Description: Data abstraction with C+ classes A data structure for dates in C: struct Date { int month, day, year } void setMonth(struct Date*,int); /Note: ANSI C function prototypes from C+ void setDay(struct Date*,int); void printDate(Date*) . What\'s the proble...
Lab5
Path: Lehigh >> IE >> 170 Spring, 2006
Description: IE 170 Laboratory 5: Binary Search Trees Dr. T.K. Ralphs Due Feb 27, 2006 1 1.1 Laboratory Description and Procedures Learning Objectives You should be able to do the following after completing this laboratory. 1. Understand binary search trees (B...
undo
Path: Lehigh >> CSE >> 432 Fall, 2008
Description: Sample (short and simple) Requirements Specification Line Editor with Multiple Undo/Redo Purpose: Develop a simple text editor, whose most interesting feature will be multiple undo/redo, i.e., it should be possible to undo any sequence of commands th...
Lab6
Path: Lehigh >> IE >> 170 Spring, 2006
Description: IE 170 Laboratory 6: Hash Tables Dr. T.K. Ralphs Due March 13, 2006 1 1.1 Laboratory Description and Procedures Learning Objectives You should be able to do the following after completing this laboratory. 1. Understand the use of hash tables. 2. U...
Assessments
Path: Lehigh >> CSE >> 432 Fall, 2008
Description: Team Project Role Assessments: Project manager Each project manager should give a self-assessment, and each person who interacts with a project manager should evaluate that person\'s performance of that in the project Project manager\'s name: __ Respon...
Lab10
Path: Lehigh >> IE >> 170 Spring, 2006
Description: IE 170 Laboratory 10: Public Key Cryptography Dr. T.K. Ralphs Due April 24, 2006 1 1.1 Laboratory Description and Procedures Learning Objectives You should be able to do the following after completing this laboratory. 1. Understand the basic princ...
10inher
Path: Lehigh >> CSE >> 432 Fall, 2008
Description: The \"meaning\" of inheritance Semantics of inheritances is shifty (Overhead: A Hierarchy of Classes) -a classic paper by Woods on semantic networks: What\'s in a link? -isa could mean subtype or instance-of or has-properties-of. See and discuss UM mult...
Lab9
Path: Lehigh >> IE >> 170 Spring, 2006
Description: IE 170 Laboratory 9: String Matching Dr. T.K. Ralphs Scott Denegre Ashutosh Mahajan Due April 17, 2006 1 1.1 Laboratory Description and Procedures Learning Objectives You should be able to do the following after completing this laboratory. 1. Unde...
09templa
Path: Lehigh >> CSE >> 432 Fall, 2008
Description: Templates LOOKOUT library includes several different array classes: IntArray, FloatArray, StringArray. Cobiously these have a lot in common; the only difference between them is element type CWouldn=t it be simpler if there were just one generic array...
Lab2
Path: Lehigh >> IE >> 170 Spring, 2006
Description: IE 170 Laboratory 2: Selection Algorithms Dr. T.K. Ralphs Due February 6, 2006 1 1.1 Laboratory Description and Procedures Learning Objectives 1. Understand each of the key terms listed below. 2. Understand the use of recursion in algorithm design....
13exRTTI
Path: Lehigh >> CSE >> 432 Fall, 2008
Description: Exception handling in C+ Why is exception handling a good idea? What is it good for? Robustness: error recovery, or at least graceful termination Goal: separate exceptional from normal processing How is error handling done in traditional C code? 1) R...
Lab1
Path: Lehigh >> IE >> 170 Spring, 2006
Description: IE 170 Laboratory 1: Search Algorithms Dr. T.K. Ralphs Due January 31, 2005 1 1.1 Laboratory Description and Procedures Learning Objectives 1. Understand each of the key terms listed below. 2. Understand why algorithms are important in systems engi...
14sockets
Path: Lehigh >> CSE >> 432 Fall, 2008
Description: Networking in Java Networking is a massive and complex topic, whole courses are devoted to this subject Java provides a rich set of networking capabilities Ranging from manipulating URLs on the Internet to client-server systems connecting via sockets...
Transport
Path: Lehigh >> IBE >> 098 Fall, 2004
Description: Distances Chicago Chicago Miami Seattle LA Boston Denver Dallas Washington Demand Chicago Miami Seattle LA Boston Denver Dallas Washington 0 1382 2062 2042 1003 1015 936 701 Miami 1382 0 3370 2759 1529 2069 1367 1065 Supply Denver Seattle 2062 3370 0...
03UseCaseHandout
Path: Lehigh >> CSE >> 432 Fall, 2008
Description: Use Cases Two kinds of use case documents: a use case diagram and use case text. Text provides the detailed description of a particular use case Diagram provides an overview of interactions between actors and use cases Here\'s an example of a use case...
location
Path: Lehigh >> IBE >> 098 Fall, 2004
Description: Distances Chicago Chicago Miami Seattle LA Boston Denver Dallas Washington Demand Chicago Miami Seattle LA Boston Denver Dallas Washington 0 1382 2062 2042 1003 1015 936 701 Miami 1382 0 3370 2759 1529 2069 1367 1065 Seattle 2062 3370 0 1148 3070 132...
07eiffel
Path: Lehigh >> CSE >> 432 Fall, 2008
Description: Eiffel Like the tower, emphasizing elegant French design; developed by Bertrand Meyer The basic structure of object-oriented languages is the class a class is both 1) a module and 2) a type as a module: an interface (set of available services) & an i...
ATCF
Path: Lehigh >> IBE >> 098 Fall, 2004
Description: Inputs: MARR: Tax Rate: Periods: Policy: n: 10.00% Depreciation: 34.00% Life: 6 Salvage: 2 6 5 $0.00 Revenues Inflow 1: Inflow 2: Inflow 3: Inflow 4: Total Inflows: Expenses Outflow 1: Outflow 2: Outflow 3: Interest on Loan: Depreciation (MACRS):...
11idiom
Path: Lehigh >> CSE >> 432 Fall, 2008
Description: C+ idioms Now that you\'ve learned C+, how do we use it well A highly recommended book: Scott Meyers Effective C+: 50 Specific Ways to Improve your Programs and Designs, Second Edition, Addison-Wesley, 1997. (Also More Effective C+: 35 New Ways.) Scot...
lect1
Path: Lehigh >> IBE >> 098 Fall, 2004
Description: IE 410: Design of Experiments Notes for Lecture 1, 8/25/03 I. Class Logistics The first part of the class will be devoted to discussing the logistics of the class as shown on the syllabus and course schedule. II. Introduction to Design of Experiment...
05ooa
Path: Lehigh >> CSE >> 432 Fall, 2008
Description: Object-Oriented Analysis Requirements analysis and domain analysis precede design So far we\'ve looked at requirements analysis-understanding what the customer wants Domain analysis understands the customer\'s problem-by identifying the classes compris...
Randomization
Path: Lehigh >> IBE >> 098 Fall, 2004
Description: 7 7 15 11 9 12 17 12 18 18 14 18 18 19 19 19 25 22 19 23 7 10 11 15 11 Number Treatments Observation per Treatment Iterations Trt 1 Data Trt 2 Data Trt 3 Data 0.1559124 0.870140802 0.610588053 0.013331039 0.51867223 0.590801448 0.610310055 0.94...
CostEstimation
Path: Lehigh >> CSE >> 432 Fall, 2008
Description: Cost Estimation Van Vliet, chapter 7 Glenn D. Blank Cost estimates: when and why When does a contractor estimate costs for building a house? Before construction begins, let alone payment Takes into account subcontracts for foundation, framing, ...
lect2
Path: Lehigh >> IBE >> 098 Fall, 2004
Description: A Quick Review of Hypothesis Testing In this lecture we will quickly review the following The basic one sample T test as an example The decision procedure Type I and Type II error OC curves and sample size selection Practical vs. statistical signific...
ADTs
Path: Lehigh >> CSE >> 432 Fall, 2008
Description: Abstract data types What does abstract` mean? From Latin: to pull out`-the essentials To defer or hide the details Abstraction emphasizes essentials and defers the details, making engineering artifacts easier to use I don`t need a mechanic`s ...
lect3
Path: Lehigh >> IBE >> 098 Fall, 2004
Description: IE 410 Notes for Lecture 3 THE ANALYSIS OF VARIANCE (or ANOVA) One Sample T-test: H0: = 0 Two-Sample T-test: H0: 1 = 2 (Two populations have the same mean) Example: Which tennis ball brand bounces higher, Penn or Wilson? Get (say) 3 balls of eac...
Assertions in Java
Path: Lehigh >> CSE >> 432 Fall, 2008
Description: Assertions in Java (JDK 1.4) Jarret Raim updated by Glenn Blank What is an assertion? An assertion is a statement in Java that enables you to test your assumptions about your program. Each assertion contains a boolean expression that you believ...
lect4
Path: Lehigh >> IBE >> 098 Fall, 2004
Description: IE 410 Lecture 4 Details of the ANOVA In this lecture we will: Discuss power and the F stat Learn about SS and degrees of freedom Learn about decomposition of SS\'s Try to understand Cochran\'s theorem Recall The F statistic: n ( yi. y.) F0 MStrt MSE ...
01objectives
Path: Lehigh >> CSE >> 432 Fall, 2008
Description: CSE432: Object-Oriented Software Engineering Objectives What do you hope to learn in this course? Here are my list of course objectives: To investigate principles of object-oriented software engineering, from analysis through testing To lea...
daskin
Path: Lehigh >> IBE >> 098 Fall, 2004
Description: Location City Rock Montgomery Little Phoenix Sacramento Denver Hartford Washington Dover City Tallahassee Atlanta Des Moines Boise Rouge Springfield Indianapolis Topeka Frankfort Baton Boston Annapolis Augusta Lansing St. Paul City Jefferson Jackson ...
LehighUML
Path: Lehigh >> CSE >> 432 Fall, 2008
Description: LehighUML Project John Pequeno, Adam Balgach, Sally Moritz & Professor Glenn Blank Extreme Programming XP Method Iterative Development Iterations measured in minutes to weeks of iteration dependent on project type. LehighUML Iterations of 1 to 3...
CashFlow&Interest
Path: Lehigh >> IBE >> 098 Fall, 2004
Description: Cash Flows, Interest Rates and the Time Value of Money Definitions Project : an investment opportunity generating cash flows over time Cash Flow: the movement of money (in or out) of a project Interest: used to move money through time for compari...
J2EECatieWelsh
Path: Lehigh >> CSE >> 432 Fall, 2008
Description: J2EE Structure & Definitions Catie Welsh CSE 432 http:/www.developer.com/java/ejb/article.php/1434371 http:/java.sun.com/j2ee/1.4/docs/tutorial/doc/index.html J2EE Breakdown Web Clients contain 2 parts Dynamic Web pages containing HTML, XML W...
forecating
Path: Lehigh >> IBE >> 098 Fall, 2004
Description: Forecasting Part I Forecasting Trying to predict the future behavior of some process/variable based on past data Fundamental to business planning Most business decisions based to some extent on forecasts Key forecasts in business: Future deman...
Exceptions in Java
Path: Lehigh >> CSE >> 432 Fall, 2008
Description: Exceptions in Java What is an exception? An exception is an error condition that changes the normal flow of control in a program Exceptions in Java separates error handling from main business logic Based on ideas developed in Ada, Eiffel and C...
Apr25
Path: Lehigh >> CSE >> 398 Spring, 2005
Description: CSE398: Network Systems Design Instructor: Dr. Liang Cheng Department of Computer Science and Engineering P.C. Rossin College of Engineering & Applied Science Lehigh University April 25, 2005 Outline Stateful network processor applications Course re...
02softEngIntro
Path: Lehigh >> CSE >> 432 Fall, 2008
Description: Why software engineering? Demand for software is growing dramatically Software costs are growing per system Many projects have cost overruns Many projects fail altogether Software engineering seeks to find ways to build systems that are on time ...
Lab2-Part2
Path: Lehigh >> CSE >> 398 Spring, 2005
Description: CSE398 Lab#2 Part II: A Multicasting Multimedia Demo CSE398: Network Systems Design, Lehigh University Instructor: Dr. Liang Cheng, Assistant Professor, Computer Science and Engineering Lab Assistant: Yaoyao Zhu, Ph.D. student in Computer Science and...
Designpatterns
Path: Lehigh >> CSE >> 432 Fall, 2008
Description: Design patterns Glenn D. Blank Definitions A pattern is a recurring solution to a standard problem, in a context. Christopher Alexander, a professor of architecture. Why would what a prof of architecture says be relevant to software? \"A patte...
Feb02
Path: Lehigh >> CSE >> 398 Spring, 2005
Description: CSE398: Network Systems Design Instructor: Dr. Liang Cheng Department of Computer Science and Engineering P.C. Rossin College of Engineering & Applied Science Lehigh University February 2, 2005 Outline Recap TCP, UDP, application layer protocols Co...
05useCasesToClasses
Path: Lehigh >> CSE >> 432 Fall, 2008
Description: From use cases to classes (in UML) A use case for writing use cases Use case: writing a use case Actors: analyst, client(s) Client identifies and write down all the actors. Analyst writes down all the actors. Client identifies the use cases, i.e., g...
Feb21
Path: Lehigh >> CSE >> 398 Spring, 2005
Description: CSE398: Network Systems Design Instructor: Dr. Liang Cheng Department of Computer Science and Engineering P.C. Rossin College of Engineering & Applied Science Lehigh University February 21, 2005 Outline Recap Packet processing algorithms (Problem 5....
03RequirementsSpecification
Path: Lehigh >> CSE >> 432 Fall, 2008
Description: Requirements specification CSE432 Object-Oriented Software Engineering Requirements analysis and system specification Why is this the first stage of most life cycles? Need to understand what customer wants first! Requirements analysis says: \"Make...
Feb28
Path: Lehigh >> CSE >> 398 Spring, 2005
Description: CSE398: Network Systems Design Instructor: Dr. Liang Cheng Department of Computer Science and Engineering P.C. Rossin College of Engineering & Applied Science Lehigh University February 23, 2005 Outline Recap Protocol software Hardware architecture...
Junit
Path: Lehigh >> CSE >> 432 Fall, 2008
Description: JUnit A tool for test-driven development History Kent Beck developed the first xUnit automated test tool for Smalltalk in mid-90\'s Beck and Gamma (of design patterns Gang of Four) developed JUnit on a flight from Zurich to Washington, D.C. Ma...
Mar30
Path: Lehigh >> CSE >> 398 Spring, 2005
Description: CSE398: Network Systems Design Instructor: Dr. Liang Cheng Department of Computer Science and Engineering P.C. Rossin College of Engineering & Applied Science Lehigh University March 30, 2005 Outline Recap Scaling a network processor Examples of co...
01cppClasses
Path: Lehigh >> CSE >> 432 Fall, 2008
Description: Classes in C+ C+ originally called \"C with classes\": Swedish connection: Bjarne Stoustrup borrowed from Simula (\'67) Simulating classes of real world objects C+ continues to evolve: Version 1.0 released by AT&T in 1986 Version 2.0 in 1990 ...
Apr04
Path: Lehigh >> CSE >> 398 Spring, 2005
Description: CSE398: Network Systems Design Instructor: Dr. Liang Cheng Department of Computer Science and Engineering P.C. Rossin College of Engineering & Applied Science Lehigh University April 04, 2005 Outline Recap Examples of commercial network processors D...
OOtesting
Path: Lehigh >> CSE >> 432 Fall, 2008
Description: Object Oriented Testing Based on notes from James Gain (jgain@cs.uct.ac.za) Plus Glenn Blanks elaborations and expansions Objectives To cover the strategies and tools associated with object oriented testing Analysis and Design Testing Class Tests ...
Lab-Jan31
Path: Lehigh >> CSE >> 398 Spring, 2005
Description: Lab on Traffic Monitoring and Throughput Measurement using TTCP CSE398: Network Systems Design, Lehigh University Instructor: Dr. Liang Cheng, Assistant Professor, Computer Science and Engineering Lab Assistant: Yaoyao Zhu, Ph.D. student in Computer ...
06UML
Path: Lehigh >> CSE >> 432 Fall, 2008
Description: Unified Modeling Language (UML) for OO domain analysis CSE432 Prof Glenn Blank Notation wars Early 90s: 6-10 different notations Bertrand Meyer: circles and arrows Distinguishes inheritance and client/supplier relationships Grady Booch: clouds,...
Mar16
Path: Lehigh >> CSE >> 398 Spring, 2005
Description: CSE398: Network Systems Design Instructor: Dr. Liang Cheng Department of Computer Science and Engineering P.C. Rossin College of Engineering & Applied Science Lehigh University March 16, 2005 Outline Recap Traditional protocol processing systems Sta...
JDBC
Path: Lehigh >> CSE >> 432 Fall, 2008
Description: JDBC Java DataBase Connectivity CSE432 Object Oriented Software Engineering What is JDBC? \"An API that lets you access virtually any tabular data source from the Java programming language\" JDBC Data Access API JDBC Technology Homepage What\'...
Apr20
Path: Lehigh >> CSE >> 398 Spring, 2005
Description: CSE398: Network Systems Design Instructor: Dr. Liang Cheng Department of Computer Science and Engineering P.C. Rossin College of Engineering state engi...
04lifecycles
Path: Lehigh >> CSE >> 432 Fall, 2008
Description: Software process life cycles CSE 432: Object-Oriented Software Engineering Software and entropy A virtue of software: relatively easy to change Otherwise it might as well be hardware Nevertheless, the more complex a software system gets, the...
Feb23
Path: Lehigh >> CSE >> 398 Spring, 2005
Description: CSE398: Network Systems Design Instructor: Dr. Liang Cheng Department of Computer Science and Engineering P.C. Rossin College of Engineering & Applied Science Lehigh University February 23, 2005 Outline Recap Packet processing functions Protocol so...
JavaArraysCollections
Path: Lehigh >> CSE >> 432 Fall, 2008
Description: Grouping objects Arrays, Collections and Iterators 1.0 Main concepts to be covered Arrays Collections Iterators 2 Requirement to group objects Many applications for collections of objects: Personal organizers Library catalogs Student-recor...
Apr13
Path: Lehigh >> CSE >> 398 Spring, 2005
Description: CSE398: Network Systems Design Instructor: Dr. Liang Cheng Department of Computer Science and Engineering P.C. Rossin College of Engineering & Applied Science Lehigh University April 13, 2005 Outline Recap APP550 processor architecture Classificatio...
AWTandSwing
Path: Lehigh >> CSE >> 432 Fall, 2008
Description: AWT and Swing Most GUI class libraries in C+ are platform specific Different hardware capabilities Subtle differences between the \"look-and-feel\" of various Windowing operating systems Swing can observe various OS look-and-feel conventions Ab...
Jan19
Path: Lehigh >> CSE >> 398 Spring, 2005
Description: CSE398: Network Systems Design Instructor: Dr. Liang Cheng Department of Computer Science and Engineering P.C. Rossin College of Engineering & Applied Science Lehigh University January 19, 2005 Outline Recap/discussion Encapsulation, delay Encoding...
OOdesign
Path: Lehigh >> CSE >> 432 Fall, 2008
Description: Object-oriented design CSE 432: Object-Oriented Software Engineering Goals of OO analysis (quick review) What are the two main goals of OO analysis? 1) Understand the customer\'s requirements 2) Describe problem domain as a set of classes and rela...

Course Hero is not sponsored or endorsed by any college or university.