Alvin Law

resume

Contact Information

Home Address:
27 Valewood Run
Penfield, NY 14526
(585) 381-4432

School Address:
307 Montifiore St. Apt. 216
Lafayette, IN 47905
(585) 202-9767

email: ajlaw at cs dot purdue dot edu


Education

Purdue University, West Lafayette, IN
Ph.D. Candidate in Computer Science
GPA 3.60
Coursework completed in: computer graphics and visualization, algorithm design and analysis, operating systems, computer networks, numerical linear algebra, compilers, and data mining.

Cornell University, Ithaca, NY
BS in Computer Science; Minor in Electrical and Computer Engineering, May 2005
GPA 3.3 (Dean’s List Fall 2003, Spring 2004, Spring 2005)


Major Programming Experience

• Parser: parser translated Java-like code to assembly-like code; instructions included arithmetic, loops, and conditionals.

• Pipeline Processor: five stage pipeline processor supported arithmetic, logical, and branching commands.

• Grenorth III: networked RPG game featured map editor, server and client, and windows-like user interface.

• XINU: various operating systems projects implemented on the XINU operating system including implementing different scheduling policies, binary locks, paging schemes, and file systems.

• Compilers: implemented various aspects of a modern compiler in SML, including a polymorphic type checker, CPS translation, inlining optimizations, live variable analysis, and linear scan register allocator.

Graphics Related

• Particle Systems: billboarded system with a cone shaped emitter; used midpoint integration method; implemented gravity, wind, and drag forces.

• Gorched: 3D tank game written using Cg and OpenGL libraries; graphics features include frustum culling, terrain generation and deformation, particle systems via billboarding, bump mapping, environment mapping, and reflections.

• Ray Tracer: Monte Carlo ray tracer on sphere, box, and triangle primitives with a kd-tree, pixel anti-aliasing, reflections, global illumination, and photon mapping.

• Texture Synthesis: program took in a sample texture image and synthesized a larger texture from the sample; used Heeger and Bergen’s algorithm proposed in Pyramid Based Texture Analysis/Synthesis (1995).

• Fluid Simulator: fluid simulator using Sphere Particle Hydrodynamics, fluid contained in a box using mirror particles for boundary forces.

• Image Support: support for additional images in Autodesk Inventor using GDI+.

• Volume Rendering: both classical and Monte Carlo volume rendering implemented on 3D datasets.

• Physically-Based Modeling: a physically based model for rendering smoke phenomena. Model includes wavelength dependent scattering effects.

• Imaged-Based Graphics: lightfields/lumigraphs, model reconstruction and completion

• 3D Modeling and Reconstruction: see research experience for details.

• Virtual Restoration Stage: see research experience for details.


Research

Interests: computer graphics; particular interest in interactive rendering, physically accurate rendering and modeling, model reconstruction and completion.

• Purdue University Computer Graphics and Visualization Lab
Purdue University , West Lafayette , IN , May 2007– present
Responsibilities: exploring ways to exploit symmetric properties of objects, such as for 3D model acquisition and completion. Also involved in a virtual restoration project to visually alter the appearance of deteriorated objects.
Supervisor: Professor Daniel Aliaga

• Purdue University Rendering and Perception Lab Research Assistant
Purdue University , West Lafayette , IN , May 2006 – August 2006
Responsibilities: analyzed performance of PRIME, a weather visualization tool, updated webserver to accept different rendering requests.
Supervisor: Professor David Ebert

• Computer Graphics Independent Research
Cornell University, Ithaca, NY, September 2004 – present
Responsibilities: currently implementing Heeger and Bergen’s paper Pyramid Based Texture Analysis/Synthesis (1995)
Supervisor: Professor Kavita Bala

• Advanced Computer Architecture Laboratory Research Assistant
University of Rochester, Rochester, NY, Summer 2002
Responsibilities: analyzed research value of various benchmarks in Minne SPEC by simulating shortened benchmarks from the SPEC 2000 dataset including compression agents, database tasks, and word processing tasks.
Supervisor: Professor David Albonesi


Work Experience

• Computer Science Teaching Assistant for Introduction to Programming
Purdue University , West Lafayette, IN, August 2005 – present
Responsibilities: taught recitation section, created programming projects, graded assignments and tests.

• Software Engineer Intern
Google, Mountain View, CA, Summer 2008
Responsibilities: involved in grpahics related work for Google Earth.

• Software Engineer Intern
Autodesk, Portland ,OR, Summer 2005
Responsibilities: expanded image support for saving images, loading textures, and loading backgrounds, image formats.

• Computer Science Teaching Assistant for Data Structures
Cornell University, Ithaca, NY, August 2004 - present
Responsibilities: taught recitation section, graded assignments and tests.

• Cybercamps Camp Counselor
Giant Campus, San Jose, CA, Summer 2004
Responsibilities: taught C++, Visual Basic, robotics, and game design, lead recess activities.

• Computer Science Course Consultant for Data Structures
Cornell University, Ithaca, NY, January 2003 – May 2004
Responsibilities: assisted students with their programs, graded assignments and tests.


Programming Skills

Languages: Java, C++, C#, Cg, SML, Matlab
Environments: Windows, Linux


Publications

D. Aliaga, A. Law, and Y. Yeung. 2008. A Virtual Restoration Stage for Real-World Objects. Proc. to SIGGRAPH Asia, ACM Transactions on Graphics, 27, 5.

A. Law, D. Aliaga, Y.Yeung, R. McCoy, A. McKune, and L. Zimmerman. 2009. Projecting Restorations in Real-Time for Real-World Objects. In J. Trant and D. Bearman (eds). Museums and the Web 2009: Proceedings. Toronto: Archives & Museum Informatics. Published March 31, 2009. (http://www.archimuse.com/mw2009/papers/law/law.html)