Documents Found!
As seen in
Less Work, Better Grades
Join
Course Hero
Access
best resources
Ace
your classes
Ace your courses with Course Hero!

Limited, unformatted preview (showing 81 of 1031 words):
...700/010 CIS Lecture IX Computational Geometry: Distance Fields Suresh Venkatasubramanian Scribed by IkkJin Ahn 1 De nition Given a set of objects, a distance eld is de ned at each point by the smallest distance from the point to the objects. Each object may be represented as data on a voxel grid or as an explicit surface representation. Moreover, the distances between the point and an object can be speci ed using di erent metrics, including Euclidean or max-norm distance. D(p) = min...
Study Smarter, Score Higher
 
Document Content (unformatted)
Course Hero has millions of student submitted documents similar to the one below including study guides, homework solutions, papers, exam answer keys and textbook solutions.
700/010 CIS Lecture IX Computational Geometry: Distance Fields Suresh Venkatasubramanian Scribed by IkkJin Ahn 1 De nition Given a set of objects, a distance eld is de ned at each point by the smallest distance from the point to the objects. Each object may be represented as data on a voxel grid or as an explicit surface representation. Moreover, the distances between the point and an object can be speci ed using di erent metrics, including Euclidean or max-norm distance. D(p) = min d(p, s) s S = min s S (x1 x1 )2 + (y1 y2 )2 (p = (x1 , y1 ), s = (x2 , y2 )) 2 Application Distance elds are frequently used in computer graphics, geometric modeling, robotics and scienti c visualization. 2.1 Robotics One way of motion planning is calculating all distances from obstacles and maximize the minimum distance from obstacles for each point, i.e., maximin. Figure 1: Planning in an assembly environment: Constraint based planning in a dynamic environment consisting of 26.9k polygons using distance elds. 1 2.2 Computer graphics Figure 2: Cassini Model: A volume rendering of the distance eld of the Cassini with 93K polygons. The distance to the surface is color coded, increasing from red to green to blue. 2.3 Particle systems Figure 3: Motion planning of falling particles. Sites are avoided by using the Voronoi diagram s distance bu er to create a potential eld. This same principle is used in the rigid-body planner. 3 3.1 GPU implementation Basic idea We can get ideas from Vornoi Diagram and Dirichlet domains. The main idea of our approach is to render a polygonal mesh approximation to each site s distance function. Each site is assigned a unique color ID, 2 and the corresponding distance mesh is rendered in that color using a parallel projection. We make use of two components of the graphics hardware: linear interpolation across polygons and the Z-bu er depth comparison operation. When rendering a polygonal distance mesh, the polygon rasterization reconstructs all distances across the mesh. The Zbu er depth test compares the new depth value to the previously stored value. If the new value is less, the Z-bu er records the new distance, and the color bu er records the site s ID. In this way, each pixel in the frame bu er will have a color corresponding to the site to which it is closest, and the depth-bu er will have the distance to that site. 3.2 2D case (Points) The distance function for a point in the plane is a right circular cone.(i.e.,45 cones along Z-direction) We approximate cones as a triangle fan proceeding radially outward from the apex. The fragment of the smallest Z-value represents the value of the distance eld. Question. Why do we use cones? Because Our distance eld is de ned as d(p, s) = PZ , PZ = (px sx )2 + (py sy )2 . (Let PZ as Z coordinate value of the cone). We can use other shape for di erently de ned distance eld. 3.3 2D case (Line segments and polygons) The distance function for a line segment is composed three of parts: one for the segment itself and one for each endpoint. The endpoints are treated the same way as points. The distance function for the line segment is just a tent which is composed of two quadrilaterals. The distance function for polygons can be rendered as a series of linear segments. 3 3.4 3D case (Points) What is di culty in this case? We cannot use 4D cones. Thus, we will introduce sliced spaces which has pz = Z0 . To construct the intersection of the Voronoi diagram with this slice, consider the distance function for a point A, restricted to the slice. Denote the restricted distance function by d(p, s) = dist((px , py , Z0 ), s). D(p) = min d(p, s) s S d(p, s) = d(p, s) = d(p, s) = (px sx )2 + (px sy )2 + (pz sz )2 (px sx )2 + (px sy )2 + (Z0 sz )2 (px sx )2 + (px sy )2 + (Z0 sz )2 If we derive an surface equation from this relation, we can get D(p) = min d(p, s) s S PZ 2 PZ = (px sx )2 + (px sy )2 + c (c = (Z0 sz )2 and PZ is Z coordinate value of certain shape) = (px sx )2 + (px sy )2 + c This shape is hyperboloid of two sheets. The hyperboloid of two sheets looks like two (elliptic) paraboloids facing each other. (If the condition is c < 0, then this shape will be hyperboloid of one sheet.) 4 3.5 3D case (Line segments) Similarly to 2D case, the graph of the distance function for a line segment site is an elliptical cone. The apex of the cone lies at the intersection of the segment s line with the slice, and the cone s eccentricity is determined by the relative angle of the line and the slice. The 3D region of in uence of a line segment lies between two parallel planes through the endpoints, since a point outside these planes is closer to one of the endpoints than to the segment. 5 4 4.1 Errors Distance error - Meshing error OpenGL does not have a function for the exact cone and hyperboloid. Thus, we have to approximate with triangles. Let s suppose the radius of the circle in the bottom of a cone is R, and the angle between the center of the bottom circle and two bottom points of each mesh is . In this case, the relation between the angle and the maximum error is de ned as 2 R R cos = Therefore a maximum distance error of no more than one pixel s width, a cone mesh for a 512x512 grid will require only 60 triangles, and 85 triangles for a 1024x1024 grid. 4.2 Z-bu er errors The limitations of the number of bits of precision provided by the Z-bu er. Current graphics systems have 24 bits or 32 bits of precision for each pixel in the Zbu er, which is more than the 23 bits provided in standard oating-point. If the distances between two pixels cannot be determined within that precision, the Z-bu er cannot accurately choose the correct color. This e ect is small when compared to the other two, but can be signi cant at very high resolutions with very little distance error. A higher-precision Zbu er can be simulated in software at a signi cant loss in e ciency. 6
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:

UPenn >> CIS >> 700 (Spring, 2006)
CIS 700/010: Matrix Operations I Suresh Venkatasubramanian Scribed by Kennedy Behrman March 3, 2005 1 Matrix operations There are three basic matrix operations that would be part of any GPU matrix toolkit: 1. The inner product of two vectors c = a...
UPenn >> CIS >> 700 (Spring, 2006)
Graphics From a Systems Perspective Nick Triantos, April 2005 Agenda 1. 2. 3. PC System overview Driver components System challenges Copyright NVIDIA Corporation 2004 2005. All rights reserved. System Overview Pentium/AMD K7 Intel CPU RAM Co...
UPenn >> CIS >> 700 (Spring, 2006)
Fast Normalized Cut for Image Segmentation on the GPU Joseph Kider Liming Zhao University of Pennsylvania Abstract Recent advances in the speed and programmability of graphics hardware permit the GPU to grow as a powerful vector coprocessor to the CP...
UPenn >> CIS >> 700 (Spring, 2006)
The Cell Processor: Technological Breakthrough or Yet Another Over-hyped Chip? Prof. Milo Martin for CIS700 Agenda Cell overview PlayStation 2 review More on the Cell (from Peter Hofstee\'s HPCA slides) Programming the Cell (brief) Impact & Speculati...
UPenn >> CIS >> 700 (Spring, 2006)
Dense Matrix Algebra on the GPU dm Moravnszky NovodeX AG adam.moravanszky@novodex.com 1. Introduction Perhaps the most important innovation of the latest generation of programmable graphics processors (GPUs) is their capability to work with floating...
UPenn >> CIS >> 700 (Spring, 2006)
GPU as a Parallel Machine: Sorting on the GPU CIS 700/010: 3/17/05 Scribed by Joseph T. Kider Jr. 1 .Background Sorting is a fundamental algorithmic building block. One of the most studied problems in computer science is ordering a list of items eff...
UPenn >> CIS >> 700 (Spring, 2006)
Cache and Bandwidth Aware Matrix Multiplication on the GPU Jesse D. Hall Nathan A. Carr John C. Hart University of Illinois Abstract Recent advances in the speed and programmability of consumer level graphics hardware has sparked a flurry of researc...
UPenn >> CIS >> 700 (Spring, 2006)
Radiosity on the GPU Steve Crowe, Adam Micciulla 1 Introduction Ever since its proposal, Radiosity has been a widely used method in Global Illumination rendering. Considering the parallel nature of the problem and the recent advances in GPU techno...
UPenn >> CIS >> 700 (Spring, 2006)
CIS700/010:GPUProgrammingand Architecture SureshVenkatasubramanian (suvenkat@saul.cis.upenn.edu) http:/www.cis.upenn.edu/~suvenkat/700/ ATIAnimusicDemo http:/www.cis.upenn.edu/~suvenkat/700/ CPUperformancegrowthisslowing http://www.cis.upenn.edu...
UPenn >> CIS >> 700 (Spring, 2006)
CgShadingTutorial(OpenGL) CIS700/010 GPUProgrammingandArchitecture Instructor:Dr.SureshVenkatasubramanian TA:PaulKanyuk Overview WhatisCg? HowtoInstall/RunCgprograms AnatomyofaCgShader. CgExamples RenderTexture WhatisCg? Cgstandsf...
UPenn >> CIS >> 700 (Spring, 2006)
GPUPerformanceAnalysis http:/www.cis.upenn.edu/~suvenkat/700/ 3DAPI: OpenGLor Direct3D GPU Command& DataStream GPU FrontEnd Pretransformed Vertices 3DAPI Commands 3D Application OrGame CPUGPUBoundary(AGP/PCIe) Vertex Index Stream Primitive Assem...
UPenn >> CIS >> 700 (Spring, 2006)
GPU Programming \"Languages\" http:/www.cis.upenn.edu/~suvenkat/700/ The Language Zoo Sh BrookGPU Renderman Rendertexture SlabOps OpenVidia HLSL Cg GLSL http:/www.cis.upenn.edu/~suvenkat/700/ Some History Cook and Perlin first to develop...
UPenn >> CIS >> 700 (Spring, 2006)
Techniques for Data Storage and Transfer in the Graphics Pipeline Shankar Krishnan AT&T Labs Research Graphics Hardware Pipeline Vertex Connectivity Vertices Vertex Transformation Transformed Vertices Primitive Assembly and Rasterization Frag...
UPenn >> CIS >> 700 (Spring, 2006)
The programmable pipeline Lecture 3 http:/www.cis.upenn.edu/~suvenkat/700/ 3D API: OpenGL or Direct3D GPU Command & Data Stream GPU Front End Pretransformed Vertices 3D API Commands Programmable pipeline 3D Application Or Game CPUGPU Boundary (A...
UPenn >> CIS >> 700 (Spring, 2006)
The Cell Processor: Technological Breakthrough or Yet Another Over-hyped Chip? Prof. Milo Martin for CIS700 Agenda Cell overview PlayStation 2 review More on the Cell (from Peter Hofstees HPCA slides) Programming the Cell (brief) Impact & Speculatio...
UPenn >> CIS >> 700 (Spring, 2006)
RenderTexture Tutorial http:/www.cis.upenn.edu/~suvenkat/700/ A simple example Render an increasing depth field. http:/www.cis.upenn.edu/~suvenkat/700/ Use this to modulate color of a torus oColor = iColor * depth field value http:/www.cis.upe...
UPenn >> CIS >> 700 (Spring, 2006)
Understandingthegraphicspipeline Lecture2 http:/www.cis.upenn.edu/~suvenkat/700/ LectureOutline Ahistoricalperspectiveonthegraphicspipeline Dimensionsofinnovation. Wherewearetoday Fixedfunctionvsprogrammablepipelines Acloserlookatthefixedfunct...
UPenn >> CIS >> 700 (Spring, 2006)
Global Illumination in Real-Time Project Proposal Abstract: Global illumination is a well known technique for producing realistic scenes and overcoming shortcomings of the local lighting model. Common algorithms for solving global illumination rely o...
UPenn >> CIS >> 700 (Spring, 2006)
Feng Zhang Kennedy Behrman Mark van Langeveld CIS 700-Spring 05 Final Project Proposal: Nonlinear Optimization for Imaged Based Modeling- Fitting Lafortune Model to BRDF Data on GPU/CPU Verification Project Summary: The 2003 SIGGRAPH paper: \"Nonline...
UPenn >> CIS >> 700 (Spring, 2006)
CIS 700/001 GPU Programming and Architecture Homework #1 Due: February 10, 2005. 1) Bezier Curves & Color Shaping (20 points) Background: The concept of color shaping was introduced in Lecture 4 as a demonstration of shading that exceeds the capabil...
UPenn >> CIS >> 700 (Spring, 2006)
Nikhil Haldar-Sinha Nick Rivera CIS 700-010 Project Proposal Volumetric Rendering in Real Time Our project will be a GPU implementation of various volumetric rendering techniques. Our main focus will be a real-time cloud simulation which will also in...
UPenn >> CIS >> 700 (Spring, 2006)
CIS 700/010: 2/15/05 Scribed by Mike Lehr 1) Diameter: For a set of points P in R2, the diameter (P) is the distance between the two furthest points. Formally, ( P ) = max max d ( p, q ) p q d(p,q) In general d(.,.) is the Euclid distance function:...
UPenn >> CIS >> 677 (Fall, 2008)
Duality, Arrangements Sudipto Guha February 2, 2003 1 The Duality Consider the canonical equation of a line in the Cartesian coordinate system. The equation of a non-vertical line is typically written as y = ax - b. Thus a line is specified by two...
UPenn >> CSE >> 110 (Fall, 2009)
CSE 110 Final Exam June 29, 2000 Name Email Recitation Section Code Word (for posting grades/ 4-8 letters and numbers) @seas Question 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Total Total Points 4 12 8 8 6 6 10 8 8 12 10 8 100 Points Awarded 1 1. ...
UPenn >> CSE >> 110 (Fall, 2009)
CSE 110 Final Exam Summer Session 1, 2001 name: e-mail: question total points points awarded 1 10 2 15 3 10 4 10 5 10 6 15 7 10 8 10 9 10 Total 100 1. 10 points A data structure is needed to hold the information for all of the musicians who were at ...
UPenn >> CSE >> 110 (Fall, 2009)
NOTE: This was an 1 1/2 hour exam, and your exam will also be 1 1/2 hours. - 1. The source code part1.c is translated into machine code, which is then linked with machine code from libraries to form an executable file a.out - 2. (I wouldn\'t ask ...
UPenn >> CSE >> 110 (Fall, 2009)
Grading Guidelines for hw3 = Problem 1: 50 points Note: The sample solution keeps separate totals for cheesesteaks, hoagies, etc., so if 2 cheesesteaks were chosen, and then 3 cheesesteaks were chosen, the total cost would be 3 times the cost of ...
UPenn >> CSE >> 110 (Fall, 2009)
1. a) function calls: printf(\"%d\ \", foo(1,2); (there are actually two function calls here - foo and also printf (remember, printf is just a function, one that happens to have already been written) b) function implementation: int foo(...
UPenn >> CSE >> 110 (Fall, 2009)
lab notes for 5/22: 1. log on 2. run netscape, look at 110 web page 3. basic usage: files on eniac accounts available as E: need to log into eniac account to compile and run from unix shell prompt. 4. to log into enia...
UPenn >> CSE >> 110 (Fall, 2009)
= Problem 1: 20 points Make sure it works for sequences in which the largest value is the first number, and also for cases in which it is not: 10,3,4,9,0 10,3,4,20,0 -10 if it only works for one of these cases. Doesn\'t matter what happens when...
UPenn >> CSE >> 110 (Fall, 2009)
Grading Guidelines for hw4 = Problem 1. 30 points 0 credit if they did it all in the main function, without writing a function ComputePay. No need to check if the user entered \'y\' or \'n\' in response to the the \"Is today a weekday?\" question. Al...
UPenn >> CSE >> 4 (Fall, 2009)
Grading Guidelines for hw4 = Problem 1. 30 points 0 credit if they did it all in the main function, without writing a function ComputePay. No need to check if the user entered \'y\' or \'n\' in response to the the \"Is today a weekday?\" question. Al...
UPenn >> CSE >> 110 (Fall, 2009)
Grading Guidelines for hw5 = Problem 1a. 10 points -5 if they put it all within main, without writing a DotProduct function. Test on a few cases, such as: % /html/courses/cse110/hw5p1a enter an integer n: 4 enter A[0] of vector A: 1 enter A[1] of...
UPenn >> RTAS >> 05 (Fall, 2009)
Final Technical Program - = Monday, March 7 = Workshops: FALSE-II: 2nd Workshop on High-Performance Fault-Adaptive Large-Scale Embedded Real-Time Systems Telegraph Hill A&B IWSSPS: International Workshop on Software Support for Portab...
UPenn >> MGMT >> 560 (Fall, 2009)
From http:/www.microsoft.com/billgates/speeches/2001/08-07aiconference.asp Remarks by Bill Gates International Joint Conference on Artificial Intelligence Seattle, Wash., August 7, 2001 Today, we can ...
UPenn >> CRTS >> 2008 (Fall, 2009)
- CALL FOR PAPERS - CRTS\'08 (co-located with RTSS\'08) - Workshop on Compositional Theory and Technology for Real-Time Embedded Systems (CRTS\'08) November 30, Barcelona, Spain CRT...
UPenn >> CIS >> 260 (Fall, 2008)
CIS260 Recitations, Jan 30 Problem 1. Show that disjunctive syllogism and simplification are valid rules of inference. Problem 2. Show that p->q, q, p is not a valid argument. Problem 3: 60a, page 30 Problem 4: 50, page 50 Problem 5: 12, page 47...
UPenn >> CIS >> 260 (Fall, 2008)
CIS 260 Homework 3 Due Feb 12 before 3pm 1) Problem 5, page 85 2) Problem 9, page 85 3) Problen 23, page 85 4) Problem 32, page 108 5) Problem 42, page 86 ...
UPenn >> CIS >> 629 (Fall, 2009)
SPECIFICATION OF A FILESYSTEM SYNCHRONIZER (Draft: Version 10) DEFINITION [Basic sets]: x,y : XX are FILE NAMES p,q,r : PP are PATHS where PP is the set of sequences of file names (empt...
UPenn >> FOOL >> 7 (Fall, 2009)
MessageorObject? - Origin and Future of Concurrent/Mobile Objects -Akinori Yonezawa University of Tokyo Invited Talk at FOOL 7 (Foundations of ObjectOriented Languages) in Boston, January. 22, 2000 Modular Actor Formalism for AI Manifesto/slogan pa...
UPenn >> CIS >> 629 (Fall, 2009)
Project 3 - [Note: It would be easier to get going with this assignment if you get the Hello example running. ] The purpose of the assignment is to gain familiarity with JAVA RMI. The specific goal is to exten...
UPenn >> CIS >> 260 (Fall, 2008)
CIS 260 Recitations, Feb 13 Examples 19, 20 and 21 on page 159/160. Problem 3, page 130 Problem 16, page 131 Problem 19, page 131 Problem 29, page 131 ...
UPenn >> CIT >> 594 (Fall, 2009)
Searching Searching an array of integers If an array is not sorted, there is no better algorithm than linear search for finding an element in it staticfinalintNONE=1;/notalegalindex staticintlinearSearch(inttarget,int[]a){ for(intp=0;p<a.length;p...
UPenn >> CIT >> 594 (Fall, 2009)
Heapsort Why study Heapsort? It is a well-known, traditional sorting algorithm you will be expected to know Heapsort is always O(n log n) Quicksort is usually O(n log n) but in the worst case slows to O(n2) Quicksort is generally faster, but Hea...
UPenn >> CIT >> 594 (Fall, 2009)
Comparable and Comparator Outline of the Student class import java.util.*; public class Student implements Comparable { public Student(String name, int score) {.} public int compareTo(Object o) throws ClassCastException {.} public static void main(S...
UPenn >> CIT >> 594 (Fall, 2009)
Huffman Encoding Entropy Entropy is a measure of information content: the number of bits actually required to store data. Entropy is sometimes called a measure of surprise A highly predictable sequence contains little actual information Example:...
UPenn >> CIT >> 591 (Fall, 2009)
All the Operators Precedence An operator with higher precedence is done earlier (prededes) one with lower precedence A higher precedence is indicated with a lower number; zero is the highest precedence Most of the time, operators with equal prec...
UPenn >> CIT >> 591 (Fall, 2009)
Simple Java I/O Part I General Principles Streams All modern I/O is stream-based A stream is a connection to a source of data or to a destination for data (sometimes both) An input stream may be associated with the keyboard An input stream or an...
UPenn >> CIT >> 591 (Fall, 2009)
Java GUI building with the AWT AWT (Abstract Window Toolkit) Present in all Java implementations Described in (almost) every Java textbook Adequate for many applications Uses the controls defined by your OS therefore it\'s \"least common denomina...
UPenn >> CIT >> 591 (Fall, 2009)
Methods Complexity The programmer\'s biggest adversary is complexity Primitive types and the basic statements (assignment, while, if, etc.) are theoretically enough to perform any computation Everything else in Java is designed to organize actions...
UPenn >> CIT >> 594 (Fall, 2009)
Backtracking Backtracking Suppose you have to make a series of decisions, among various choices, where You don\'t have enough information to know what to choose Each decision leads to a new set of choices Some sequence of choices (possibly more t...
UPenn >> CIT >> 594 (Fall, 2009)
Hashing Searching Consider the problem of searching an array for a given value If the array is not sorted, the search requires O(n) time If the value isnt there, we need to search all n elements If the value is there, we search n/2 elements on a...
UPenn >> CIT >> 591 (Fall, 2009)
Java Model-View-Controller Design Patterns The hard problem in O-O programming is deciding what objects to have, and what their responsibilities are Design Patterns describe the higher-level organization of solutions to common problems Design pat...
UPenn >> CIT >> 597 (Fall, 2009)
XML HTML and XML, I XML stands for eXtensible Markup Language HTML is used to mark up text so it can be displayed to users HTML describes both structure (e.g. <p>, <h2>, <em>) and appearance (e.g. <br>, <font>, <i>) HTML uses a fixed, unchangeable s...
UPenn >> CIT >> 591 (Fall, 2009)
Integer Types Bits and bytes A bit is a single two-valued quantity: yes or no, true or false, on or off, high or low, good or bad One bit can distinguish between two cases: T, F Two bits can distinguish between four cases: TT, TF, FT, FF Three b...
UPenn >> CIT >> 594 (Fall, 2009)
Lists in Java Part of the Collections Framework Kinds of Collections Collection-a group of objects, called elements SetAn unordered collection with no duplicates SortedSetAn ordered collection with no duplicates Listan ordered collection, duplic...
UPenn >> CIT >> 597 (Fall, 2009)
CSS First CSS Lecture Applications to HTML The problem with HTML HTML was originally intended to describe the content of a document Page authors didn\'t have to describe the layout-the browser would take care of that This is a good engineering app...
UPenn >> CIT >> 591 (Fall, 2009)
Access Overview Today we will discuss: How do we access fields and methods? Why have access restrictions? What can have access restrictions? How do we provide or restrict access? Instance and class variables You can declare variables within a...
UPenn >> CIT >> 591 (Fall, 2009)
Polymorphism Legal assignments class Test { public static void main(String args[]) { double d; int i; d = 5; / legal i = 3.5; / illegal i = (int) 3.5; / legal } ...
UPenn >> CIT >> 591 (Fall, 2009)
Buttons Appearance of buttons A button has one of three appearances: Disabled by your program Enabled by your program Enabled by your program and pressed by the user A style rule for buttons Users expect buttons to do things When the user cli...
UPenn >> CIT >> 591 (Fall, 2009)
Threads and Multithreading Multiprocessing Modern operating systems are multiprocessing Appear to do more than one thing at a time Three general approaches: Cooperative multiprocessing Preemptive multiprocessing Really having multiple processo...
UPenn >> CIT >> 591 (Fall, 2009)
Java Midterm Review Sheet (Shamelessly ripped from Head First Java, Dave\'s Slides, and some kid who I mugged for his Java notes.sorry Vikas, that was me.) I. Java Basics Needed to get started a. Code Structure: i. Source File holds one class definit...
UPenn >> CIT >> 594 (Fall, 2009)
\"Arcturus II\" design interface BeeperConstants Only holds public final constants for the simulation that descibe things like the map dimensions, number of beepers, lifespan of a beeper, etc. public static final int SUB_MAZE_HEIGHT public ...
UPenn >> CIT >> 594 (Fall, 2009)
Arrays The array data structure An array is an indexed sequence of components Typically, the array occupies sequential storage locations The length of the array is determined when the array is created, and cannot be changed Each component of ...
UPenn >> CIT >> 594 (Fall, 2009)
Gender in Computer Science Apr 10, 2009 SIGCSE SIGSCE is the Special Interest Group in Computer Science Education I attend the SIGCSE annual conference each year A common theme, this year and every year, is attracting women to computer scie...
UPenn >> CIT >> 594 (Fall, 2009)
Analysis of Algorithms Apr 10, 2009 Time and space To analyze an algorithm means: developing a formula for predicting how fast an algorithm is, based on the size of the input (time complexity), and/or developing a formula for predicting how m...
UPenn >> CIT >> 594 (Fall, 2009)
JUnit Apr 10, 2009 Test suites Obviously you have to test your code to get it working in the first place You can do ad hoc testing (running whatever tests occur to you at the moment), or You can build a test suite (a thorough set of tests that...
UPenn >> CIT >> 594 (Fall, 2009)
Recognizers Apr 10, 2009 Parsers and recognizers Given a grammar (say, in BNF) and a string, A recognizer will tell whether the string belongs to the language defined by the grammar A parser will try to build a binary tree corresponding to the...
UPenn >> CIT >> 594 (Fall, 2009)
Lists in Java Part of the Collections Framework Apr 10, 2009 Kinds of Collections Collectiona group of objects, called elements SetAn unordered collection with no duplicates SortedSetAn ordered collection with no duplicates Listan ordered co...
UPenn >> CIT >> 594 (Fall, 2009)
Abstract Data Types Apr 10, 2009 Data types I We type data-classify it into various categories-such as int, boolean, String, Applet A data type represents a set of possible values, such as {., 2, 1, 0, 1, 2, .}, or {true, false} By typing ou...
What are you waiting for?