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 constraint application.

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 manager.

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 problems.

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 hypothesis testing.

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 Fourier series.

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)

Room Designer

Back to my Home Page