Nakul H. Shah
*** ******* **, ***# ***, Santa Clara, CA 95054 Cell: 408-***-**** ***********@*****.***, ********@***.***
OBJECTIVE: Educate, Contribute and Seek Excellence
ACADEMICS:
Master of Science in Computer Science with emphasis on Computer Networks. May 2011
University of Southern California, Los Angeles, CA. GPA : 3.37/4.0
Bachelor of Engineering, Electronics and Telecommunication. July 2009
University of Mumbai, Mumbai, India. GPA: 3.5/4.0
RELATED COURSEWORK:
Introduction to Computer Networks Probabilistic Methods in Computer Systems Modeling Operating Systems
Broadband Network Architectures Web Technology Software Architecture
Computer Communications Analysis of Algorithms Artificial Intelligence
TECHNICAL SKILLS:
• Languages: C, C++.
• Protocols: TCP/IP, RIP, OSPF, BGP, IBGP, IGP, RED, HTTP.
• Web Technology: HTML, CSS, XML, XML DOM, JavaScript, PERL, AJAX, JSP.
• Operating Systems: UNIX and Windows.
• Applications: Wireshark, OPNET, DevC++, wxWidgets.
WORK EXPERIENCE:
Intern Software Engineer at Network Hardware Resale Santa Barbara, CA: June 2010-August 2010
• Developed Port Tester, a Windows tool for testing switches, in a group of 3 intern students.
• Tool testing time was optimized to work 3 times faster compared to the existing tool the company used.
• Used DevC++ to code in C++, wxWidgets to create GUI, Pthreads library to deploy Multithreading and windows sockets for
networking.
ACADEMIC PROJECTS:
Operating Systems (CSCI 402) - Fall 2009 Language Used: C++
• On NACHOS
Implemented kernel locks and condition variables and simulated a Multi-threaded Hospital Simulation to test Thread
Synchronization.
Built System Calls and implemented Demand Paged Virtual Memory to simulate multi-user programs.
Implemented RPC and Fully Distributed System using fully distributed mutual exclusion and Networking system calls.
Computer Communications (CSCI 551) - Fall 2010 Language Used: C/C++
• Peer-to-Peer technology:
Implemented a distributed file sharing system using the Peer-to-Peer technology.
The resultant system enables multiple users to join the network and then store, search, get and also delete a file in the system.
The system was made robust against malicious behavior.
• Socket Programming: Simulated a Client/Server interaction using TCP connection to serve requests from multiple clients
simultaneously. Implemented strict rules to make the client and server robust enough to handle any malicious behavior and also
handle UNIX signals for graceful shutdown of the server when required.
• Multithreading: Emulated a time driven M/M/2 queuing system using multi-threading in a single process. Multi-threading was
achieved using POSIX threads, mutex and condition variables. Handled UNIX signals to ensure graceful shutdown of the emulation.
Broadband Network Architectures (EE 555) - Spring 2010 Language Used: C
• Simulated a 2X2 crossbar switch with finite buffer size and analyzed its behavior for packets with different arrival times and
varied length.
Introduction to Computer Networks (EE 450) - Fall 2009 Language Used: C
• Socket Programming: Simulated a race among 4 cell phones to communicate with a target with the help of 2 base stations with
communications taking place over TCP and UDP sockets.
Probabilistic Methods on Computer Systems Modeling (EE 465) - Fall 2009 Language Used: C
• Simulated a Discrete Time Markov Chain (DTMC) corresponding to a queue system in discrete time with finite buffer.
Artificial Intelligence (CSCI 561) - Spring 2011 Language Used: C++
• Simulated A* and Beam search algorithms to search an optimal path in a racetrack game in grid world.
• Designed and implemented a recursive Min-Max search algorithm to simulate a two player race game in grid world.
LEADERSHIP:
• Elected as the Director of Publicity, Cultural and Creative Committees on different occasions for the cultural and IEEE’s
technical festivals at the under-graduate college level.