ROOPAL GARG
**** ******** **, *** # **, Los Angeles, CA 90007 ********@***.*** 213-***-****
EDUCATION
University of Southern California, Los Angeles, CA May 2013
Master of Science Computer Science GPA 3.64
Course Work: Operating System, Artificial Intelligence, Natural Language Processing, Statistical Natural Language Processing,
Advanced Big Data Analytics, Web Techno logies, Analysis of Algorithms, Database Systems.
Aug 2007 Jul 2011
University of Pune, Sinhgad College of Engineering, Pune, India
Bachelor of Engineering Computer Engineering
TECHNICAL SKILLS
Languages/Data Formats: C/C++, C#, Java, SQL, Python, Assembly Language, Visual Basic, HTML, CSS, JavaScript, XML, JSON
Software: NetBeans IDE, Eclipse IDE, Python IDLE, MS Visual Studio, Adobe Photoshop CS3, Adobe Illustrator CS3, Adobe
Dreamweaver CS3, Corel Draw X
Servers/Frameworks: MySQL, MS SQL Server, Oracle RDBMS, Apache, Tomcat, ASP.NET
WORK EXPERIENCE
Software Development Intern May 2012 - Present
Cornerstone OnDemand Inc., Santa Monica, CA
o Assisting in the design, maintenance and development of the company s software application, website and the database.
o Developing modules to enhance the company s software application with C# on an ASP.NET framework with MS SQL Server
employed in the background.
Student Consultant Dec 2011-May 2012
Viterbi - IT, University of Southern California, Los Angeles, CA
o Manage and troubleshoot Vembu StoreGrid software for Viterbi School of Engineering s staff and faculty.
PROJECTS
Celebrity Tracking System [Group Project in Advanced Big Data Analytics using Python] Oct 2012-Dec 2012
o Designed a system that collected data from social media site, Twitter, related to a celebrity to predict the location of that celebrity.
o Collected data and analyzed it to detect the occurrence of an event about that celebrity on a certain date using tweet frequency as a
measure.
Probabilistic Context Free Grammar (P-CFG) [Statistical Natural Language Processing Project in Python] Dec 2012
o Trained a simple tree parser from the ATIS portion of the Penn Treebank to build a probabilistic context free grammar.
o Wrote another parser that took the abo ve PCFG and an input sentence to output the highest probability parse.
o Experimented with Vertical Markovization and the way the model handled unknown words to further increase the F1 score.
Structured Discriminative Training using Large Margin Algorithm Nov 2012
[Statistical Natural Language Processing Project in Python]
o Built a discriminatively trained supervised part of speech (POS) tagger using the Large Margin algorithm with the model being
log-linear with the number of features.
o Compared the model with a supervised generative model using na ve smoothing and achieved a superior accuracy.
Expectation Maximization (EM) Algorithm [Statistical Natural Language Processing Project in Python] Oct 2012
o Implemented the forward-backward algorithm to train a model for tagging alphabets with a certain tagset.
o Justified the implementation by checking with a Viterbi decoding of the assigned tags that the probability of the corpus increases
at very iteration.
Language Model for English [Statistical Natural Language Processing Project in Python, Carmel] Sep 2012
o Modeled and smoothened using Lidstone method, three WFSAs based on unigram, bigram and trigram models to accept English
text with a certain probability using a train text to calculate initial values.
o Tested the model to prove that it accepted correct English sentences with a higher probability than wrong ones.
Vowel Restoring System [Statistical Natural Language Processing Project in Python, Carmel] Sep 2012
o Built a finite state machine to restore vowels to English text without vowels by first creating a FSA for accepting words and
sentences in a train file, then building a FST as a vowel remover and finally using a composition of the backward application of
the FST and the trained FSA to restore vowels forming valid English words and sentences.
SPAM Filtration System [Natural Language Processing Project in Python] April 2012
o Developed using features extracted from the content and the subject lines of known SPAM emails in a collection. Features
included not just simple words but also spelling and visual modifications to increase the efficiency of the system.
o The features were used to classify and differentiate the SPAM from the normal emails using a Naive Bayes classifier implemented
in Weka which was trained and tested using different data collections.
Name Discrimination System [Natural Language Processing Project in Python] March 2012
o Performed the task of automated identification of ambiguous names and the grouping together of the top 100 returned web pages
for that name into clusters such that each cluster corresponds to one identity for that name.
o Generated a first order vector using unigrams, bigrams, collocations, target co-occurrences and used SimpleKmeans algorithm
implemented in Weka for clustering.
Named Entity Recognition (NER) System [Natural Language Processing Project in Python] Feb 2012 - Mar 2012
o Built a NER system capable of identifying and classifying the named entities like persons, organizations and location.
o Applied POS tagging, NP-chunking and generated a set of features to implement Machine Learning classifier algorithm in
Weka.
Semantic Sentence Realization [Natural Language Processing Project in Python] Jan 2012- Feb 2012
o Defined a knowledge representation scheme and created instance frames representing sentences.
o Designed a random sentence generator and then re-modeled it to convert the input frames back to grammatically correct sentences.
Sep 2011 Nov 2011
Nachos Operating System Simulation [Operating Systems Project in C/C++]
o Implemented simulation of a movie theater using thread synchronization, multiprogramming, virtual memory and distributed
system calls and as a client-server distributed system in the final stage.
Picture Puzzle Problem [Artificial Intelligence Project in Java] Sep 2011
o Coded using the A* algorithm and the Manhattan heuristic for path finding and graph traversal.
o Modeled to give the optimal solution with the least number of moves possible to reach the goal state.
Connect-N Game [Artificial Intelligence Project in Java] Oct 2011
o Programmed using Mini-Max and Alpha-Beta Pruning algorithms for computer vs. player and computer vs. computer modes.
o Computed a Utility function for the rational agent to make its moves according to the current and the possible future board states.
Android Application [Web Technologies Project in Java using Android Twitter SDK] Nov 2011
o Developed a mobile application in Eclipse IDE enabling users to search and select a movie to watch us ing a Zip Code and then
tweeting about it after logging into their Twitter accounts using the Android Twitter SDK.
Virtual Shopping List using Pervasive Computing Technology [Undergrad Project in Java, MySQL] Aug 2010 - May 2011
o Implemented a system for recording consumption of goods within a household using RFID tags and sensors and updating the same
on a central server and providing the facility to a consumer to receive list of items consumed in his house upon entering a mall.
o Developed the idea right from the scratch to a point of deciding what may or may not happen in a futuristic world.
SEMINAR & PAPER PRESENTATION
Pervasive Computing Technology
o Presented a paper at the National Conference on Pervasive Computing 2010 held in Pune, India.
o Winner at Paparazzi, a National Level Paper Presentation Competition under Versatalia 11, India.
ADDITIONAL INFORMATION
Digital Graphics Designer for the College English Newspaper and the Dept. of Computer Engineering Aug 2010 - Jul 2011
Event Manager for The English Club, Sinhgad College of Engineering Aug 2010 - Jul 2011