INTERESTS:

SYSTEM SOFTWARE and PARALLEL COMPUTING: Operating systems, Compilers and Software Optimization, and Networking, I also take active interest in Computer Architecture and Organization. I am also interesting in Parallel Computing.

Operating Systems - My fascination with Operating Systems started with my Research course at VLSI Design and Research Center, University of Pune. I worked on MicroC/OS-II RTOS Kernel, as part of a project titled "Kernel Trace debugger for MicroC/OS-II RTOS kernel." TO pursue my interests in Operating Systems, I took CSCI402x - Operating Systems course in my 1st Semester at USC. I also plan to take CSCI555 - Advanced Operating System in Fall 2009.

Parallel Computing: With a very strong knowledge of Computer Architecture and Parallel hardware - ILP, TLP & SMT techniques, Shared Memory and Message Passing systems, caching techniques; I always wanted to learn Programming these machines. CS596 - Scientific Computing and Visualizations has given me a start in this direction - I have and would be learning MPI programming, OpenMP, Virtual Environment Techniques, CUDA programming, etc in this course.

Compliers - Compilers are challenging, but FUN !!. The CSCI 565 - Advanced Compiler Design course at USC and the hands-on experience with building a parser for C BNF grammar and perform various levels of optimization on it has been fun so far. My interest in compliers to some extent stems from a solid background and interest in Computer Architecture and Operating Systems. The course also covered Parallel Compilers (the 2nd half of the course = 2 months) and gave me deep insight into Parallel Computing.

Scientific Simulations and Visualizations: Particle and Continuum simulations for scientific computing and visualization - formulating mathematical models, discretizing these models, analyzing these models (algorithms) to solve algebraic equations on parallel computers and translating them into programs and managing large data sets. I am particularly intersted in Parallel Molecular dynamics and Scientific Simulations using OpenMP shared memory programming, MPI, OpenGL programming and other techniques using CAVE library and ImmersaDesk

Software Optimization - Different Optimization techniques learnt: constant folding, algebraic simplification and re-association, spare conditional constant propagation, common subexpression elimination, loop invariant code motion, partial redundancy elimination, (loop) strength reduction, removal of induction variables and linear function test replacement, dead-code elimination, unreachable code elimination, graph coloring register allocation, local and global copy propagation, machine idioms and instruction combining, branch optimization and loop inversion, branch predictions, unnecessary bounds-checking elimination, code hoisting and tail merging.

Computer Networks - I am particularly interested in Network Programming and Queuing system design. EE465 - Probabilistic Models in Computer System Design course helped me learn the concepts of Queuing. CSCI 551 - Computer Communications has further helped me explore my interests in Computer Protocols, Network Programming, Distributed systems and other Networking concepts. The project "Delay Tolerant Networks" which is an implementation of the model in the research paper by Kevin Fall named "Delay Tolerant Network Architecture for Challenged Internets" has helped me understand and program key networking concepts.

Algorithms - CSCI 570 - Analysis of Algorithms was the most enjoyable course i took in my first semester at USC. Algorithms find application in a variety of computer design and analysis, networking and routing problems in systems. Its been one of my favorite fields of learning in Computer Science.

Computer Architecture - My undergrad studies in Electronics is responsible for my long and undying love for computer hardware. Computer Architecture has since long been my key areas of interest, and still is. I also have a very good understanding of Parallel Architectures.

Computer Security - Security is the key, especially in multi-user systems. One of the major reasons for my interest in system security is because it hinges on several Operating system and Networking concepts. I have not taken any courses in Computer Security. However, I plan to take relevant courses in the coming semesters.