Depth First Foundation

We are a non-profit organization committed to providing students, regardless of their socio-economic background, a strong foundation in Computer Science.

About the founder

The founder of Depth First Foundation is Dr. Rajiv Gandhi, Professor of Computer Science at Rutgers University-Camden. He also teaches part-time at the University of Pennsylvania. He received his Ph.D. in Computer Science from the University of Maryland in 2003. He also worked as a software engineer at Qualcomm from 1994-96.


His research interests are Algorithm Design, Combinatorial Optimization, and Probabilistic methods. He is a passionate educator and has worked with students with varied backgrounds, and he received the Provost’s Award for Teaching Excellence at Rutgers–Camden in 2006. He received a Fulbright fellowship to teach in Mumbai, India from Jan-May 2011.

Our Projects

Program in Algorithmic and Combinatorial Thinking (PACT)

While it is true that computers and programming are a major part of modern computer science, the Program in Algorithmic and Combinatorial Thinking (PACT) – supported partially through the National Science Foundation – goes beyond that. The program teaches students about the mathematics and algorithms fundamental to the computer science field. Many summer programs teach high school students programming and application development, but this five-week intensive course is one of very few with a theoretical and proof-based emphasis.

Depth First Foundation is partnering with the Program in Algorithmic and Combinatorial Thinking (PACT) to help students acquire a strong foundation in computer science. In particular, we strive to accomplish the following.

1. Enable students to study foundational and advanced topics in theoretical computer science through PACT.
2. Enable students to learn applied topics such as computer programming, data structures, etc.
3. Help students obtain research opportunities and supporting them.
4. Help students, in particular non-traditional students and disadvantaged students, by providing mentorship if they want to pursue careers in computer science.