Course and Projects at Brown
CS-123 Introduction to Computer Graphics
In this course I explored the fundamental concepts of 2D and 3D computer
graphics. In particular, I studied raster graphics techniques, image
processing, interaction techniques, and user interface design. I also
studied 3D modeling, viewing and rendering. I implemented a simple ray
tracer at the end of the course.
Click here to see some of my images.
CS-157 Design and Analysis of Algorithms
In this course I studied how to design and implement algorithms in the
most efficient way possible. In doing so, I was exposed to the areas of
scientific computing, hashing, searching, dynamic programming, network flow,
and Fast Fourier Transform.
CS-231 Human Factors and User Interface Design
In this course I studied the criteria for a good user interface,
experimental methods for evaluating user interfaces, user interface
management systems, multimedia user interfaces, and groupware.
CS-224 Interactive Computer Graphics
In this course, I studied a variety of current topics in computer graphics
such as spline, wavelet, and subdivision models for geometric
representation, interaction techniques and technology, computer vision as
applied to computer graphics, physical simulation, and important numerical
methods for computer graphics. I also worked on a large final project which
explored gesture based interaction for a two-dimensional drawing and
CS-190 Software System Design
This course involved a semester long, team programming project which enabled
students to learn and practice techniques of project management, analysis,
specification, design, coding, documentation, and testing. I was the
project manager for a team of 7 people who developed a personal information
CS-252 Computation Geometry
In this course, I studied algorithms and data structures for fundamental
geometric problems in two and three dimensions. The topics included point
location, range searching, convex hull, intersection, Voronoi diagrams, and
graph drawing. Application of these topics to computer graphics, circuit
layout, information visualization, and computer-aided design were also
discussed. In the course, my final project was The Planar Orthogonal Graph
Drawing and Bend Reduction Tester.
CS-167 Operating Systems
In this course, I studied the various aspects of the Unix and NT operating
systems. I also learned about multithreaded programming using POSIX threads
and implemented a version of the System 5 File System.
CS-241 Statistical Language Learning
In this course, I investigated the use of a number of statistical approaches
,such as hidden Markov Models, to the problem of natural language processing.
My final project was on determining noun-phrase coreference.
CS-295-1 Topics in Animation and Scientific Visualization
In this course I explored current and classic research in areas of computer graphics related to
scientific visualization, scientific computation, and animation for computer graphics. Topics included
volume visualization, volume modeling, visualization of multi-valued or
multi-dimensional data, evaluation of visualization techniques, procedural, constraint-based, and
traditional animation, simulation and motion control and optimization.
CS-250 Topics in Lattice Theory
In this course, I explored the theory and applications of lattices for problems in
cryptosystems and cryptanalysis. I also worked on solving shortest vector in the lattice
CS-295-5 Interdisciplinary Scientific Visualization
The goal of this course was to carry out a small interdisciplinary research project. I
learned about solving scientific problems using computer graphics and visualization, working in small
multi-disciplinary groups to identifying scientific problems, proposing
solutions involving computational modeling and visualization, designing and implementing the solutions,
and evaluating their success. I also learned how to write grant proposals.
PY-185 Motion Perception
In this course, I learned about how the human visual system works and how we perceive motion.
Topics included physiology, motion after-effect, temporal and spatial integration, optic flow, and
second order motion.
PY-206 Experimental Design
In this course, I examined the statistical principle of experimental design and
analysis. Topics included elementary probability, estimation and inference, analysis of
variance, regression, and single-factor and higher order experiments.
AM-282 Topics in Advanced Scientific Computing
In this course, I learned a number of different topics in scientific computing which included
polynomial approximation, numerical integration, finite differences, and both linear
and iterative linear equation solvers. The course stressed parallel computing approaches
to these topics.
AM-165 Statistical Inference I
This course was broken up into two halves. The first half dealt with topics such as probability
spaces and distributions and discrete and continuous random variables. The second half
dealt with topics such as methods for parameter estimation, confidence intervals, and
AM-166 Statistical Inference II
This course represents a continuation of AM-165. I was exposed to topics which
included likelihood-ratio tests, statistical computing, matrix approaches to single and
multiple linear regression, analysis of variance, design of experiments, and logistic regression.
AM-258 Computational Fluid Dynamics
In this course, I studied the many facets of computational fluid dynamics. Topics I was exposed to
included basic discritization methods (finite differences and finite elements), time-stepping
algorithms, solvers for parabolic and hyperbolic partial differential equations, vorticity-based
formulations, and Navier-Stokes problems.
Click here to see some visualizations I made.
AM-205 Mathematical Methods of Applied Science I
In this course, I studied a number of different mathematical methods used in engineering
and physics including vector calculus, tensors, linear and matrix algrebra, complex variables, and
AM-206 Mathematical Methods of Applied Science II
This course was a continuation of AM-205. I studied, Fourier and Laplace transforms, ordinary and
partial differential equations, and variational calculus.
AM-211 Real Analysis
In this course, I studied the theoretical foundations of the calculus using measure theory.
AM-256 Spectral Methods
In this course, I studied how orthogonal polynomials can be used to numerically solve a variety of
hyperbolic differential equations.
AM-168 Nonparametric Statistics
In this course, I studied a number of statistical techniques used when no underlying assumptions are made about the data.
Specifically, I examined rank-based and robust statistics as well as the Bootstrap method.
Multimodal Scientific Visualization Tool (MSVT)
Back to my Home Page