Muralidhar Sathsahayaraman Graduate Student Department of

advertisement
Muralidhar Sathsahayaraman
Graduate Student
Department of Computer and Information Science and Engineering
University of Florida
Gainesville, FL 32601
smurali@ufl.edu
EDUCATION
2007 – 2009
Master of Science in Computer Engineering
Department of Computer and Information Science and Engineering
University of Florida, Gainesville, FL, USA
GPA 3.8/4.0
2001 - 2005
Bachelor of Engineering in Computer Science
Department of Information Technology
MIT Campus, Anna University, Tamilnadu, India
GPA 8.5/10.0
WORK EXPERIENCE
Water Institute Intern for Information Management and Programming
February 2009 – March 2009
Water Institute, University of Florida, Gainesville, Florida
 Worked as an intern for information management and programming at Water Institute, UFL
 Designed and developed a website for faculty affiliation. The goal of the website is to assist the faculty
in affiliating themselves with the water institute
 Also implemented a search mechanism to help visitors search the website
 Carried out the tasks in ASP.NET platform using C# and SQL Server 2005
Software Development Intern
May 2008 – August 2008
Beckman Coulter, Inc Miami, FL, USA
 Worked in R&D Division of Software Hematology which deals with blood sample analysis.
 Performed language translation of a Hematology product implemented in seven different languagesEnglish, French, Spanish, Italian, German, Chinese and Japanese.
 Integrated language artifacts in the product, debugged and tested the changes.
 Carried out 16 Software Change Requests which involved feature enhancements and bug fixes.
Software Engineer
June 2005 – July 2007
Infosys Technologies Limited, Chennai, Tamilnadu, India
 Successfully completed 2 months training in Mainframe technologies.
 Worked offshore in Traveler's Check Group for American Express, US for 9 months.
 Performed analysis, design, development, testing and release of two software products using COBOL,
JCL and IMS DB/DC.
 Conducted CM Audits as the Configuration Controller of the project.
 Worked offshore for American Express Bank, UK for 15 months performing software development
activities for three projects using GLOBUS, a private banking management system, InfoBasic, an
imperative programming language and Universe, a database management system.
 Led a team comprising 2 software engineers, carrying out high-level project management activities
including billing, generating accurate project estimates and managing the schedule
GRADUATE LEVEL PROJECTS (13)
Leftist Trees and Binomial Heaps - Advanced Data Structures, UFL
Binomial Heaps and Leftist Trees are two data structures which support efficient insertion and removal
of smallest/largest elements operations. The objective was to implement insertion and remove min operations
of these two structures and compare the performance over a large number of operations. Implementation was
carried out in C/C++.
Disassembler and Simulator - Computer Architecture, UFL
Implemented a disassembler which loads a binary file and generates assembly code equivalent of
given binary code. Also implemented a non-pipelined simulator which accepts assembly instructions and
generates a cycle-by-cycle simulation. Java was the language of implementation.
Pipelined processor simulator and cache structure - Computer Architecture, UFL
Implemented a 4-stage pipeline which included associative cache structure to generate a cycle-bycycle simulation of given binary code. All functional units (ALU, Memory, Issue) were implemented along with
registers and buffers. Java was used to carry out the implementation.
Single-user DBMS supporting SQL queries - Database Systems Implementation, UFL
Implemented a complete database management system which supported creation of tables, insertion
of records into the table, querying and deletion of tables. Two different file organizations were supported: Heap
file organization and Sorted file organization. In heap files, rows are typically inserted at the end of the table
and hence query operations return results in the order in which they were inserted. In sorted files, users
typically specify the key on which the table should be sorted. Insert operations place the values in the
appropriate positions in the table. Typical SQL relational operations like Group-By, Sum, Join, Duplicate
Removal and Project were supported. A query optimizer which performed the task of ordering the operations
such that optimal performance was achieved was implemented. C++ was the language of choice for
development.
Logical binary semaphore tree – Distributed Systems, UFL
A logical binary semaphore tree was implemented to achieve synchronization among processes
competing for a shared resource. The objective was to avoid deadlock and starvation while the processes try to
access the resource. Implementation was carried out in Java.
Concurrent Readers and Exclusive Writers – Distributed Systems, UFL
In this distributed client-server implementation of writer preference CREW, a server maintains a shared
resource and multiple clients try to perform read/write operations on the resource using Remote Method
Invocation (RMI). Java was the medium of implementation.
Distributed File Systems Implementation – Distributed Systems, UFL
Implemented a distributed file system with transactional semantics. A transaction is a sequence of
operations which satisfy ACID properties. The file system was write-only and clients used TCP connections to
communicate with the server. All client-server communications adhered to a fixed wired message format.
Implementation was carried out using Java.
Token based mutual exclusion – Distributed Systems, UFL
Implemented a token-based distributed mutual exclusion algorithm using logical ring topology. The ring
structure was dynamic in which processes enter/leave the ring any time. A token circulates the ring and a
process is allowed to enter it's critical section only when it possesses the token. Java was the language of
implementation.
Computational Analysis of FASTA format files – Bioinformatics, UFL
Implemented a program which analyzed the level of similarity of the DNAs of different organisms. Four
different organisms were chosen for this analysis and k-mer counting method was used for repetitive pattern
analysis. Implementation was carried out in Java.
Pairwise Sequence Alignment method – Bioinformatics, UFL
Implemented a dynamic programming algorithm for sequence alignment which involves searching for a
short query sequence in a long database sequence. The algorithm is similar to the popular Needleman-Wunsch
and Smith-Waterman methods. Data files containing chromosomes of four different organisms were used for
this analysis. Java was the programming medium.
Secondary Structure Prediction - Bioinformatics, UFL
Proteins fold into a three-dimensional shape. The structure of proteins can reveal functional information
that cannot be derived from mere sequence information. The objective of this project was to implement ChouFasman algorithm to predict the secondary structure of proteins. Two proteins from five different classes in the
hierarchy of proteins were chosen for analysis. Implementation was carried out in Java.
Multiple Sequence Alignment – Bioinformatics, UFL
Multiple Sequence alignment (MSA) is a fundamental step in the analysis of biological data. Various
techniques and tools exist for performing MSA. The goal of this project was to analyze four MSA techniques(KALIGN, T-COFFEE, MUSCLE and DIALIGN) and compare their performance. Java was the programming
medium.
Numbrix Game Implementation – Artificial Intelligence, UFL
Implemented “Numbrix”, a game that is played on a square grid. The objective of the game is to place
numbers from 1 through the specified end value in the grids so that consecutive numbers are adjacent to each
other. The goal was to incorporate sufficient intelligence in the algorithm for filling up the square completely.
Lisp, a functional programming language, was used for development.
Interpreter, Parser and Lexical analyzer – Programming Language Principles, UFL
Implemented the interpreter (commonly called the CSE machine) for RPAL, a functional
programming language. Also implemented a recursive descent parser and a lexical analyzer for the
language. The goal is to take an input program, written in RPAL, scan, parse, generate control structures
and finally execute it in the CSE machine and display the output to the user. C++ was the programming
medium
ACHIEVEMENTS/ AWARDS





State Government Scholarship covering 4 years of undergraduate education in recognition of superior
performance at the High School Level
Recipient of PMS Ayyar Memorial Award for excellent performance in Undergraduate Mathematics.
Topped the mainframe training exams conducted by Infosys Technologies Limited
Certified in “Foundation course in Banking”, Dun & Bradstreet, New Jersey, United States
Certified in “Internal Quality ” and “Configuration Management”, Infosys Technologies Limited, India
GRADUATE LEVEL COURSES
Advanced Data Structures, Analysis of Algorithms, Computer Architecture
Distributed Systems, Database Systems Implementation, Advanced Systems Design I/II
Computer Networks, Bioinformatics, Artificial Intelligence
Programming Language Principles
- Fall 2007
- Spring 2008
- Fall 2008
- Spring 2009
SKILLS





Programming Skills: C, C++, C#, Java, SQL, Perl, XML, HTML, Javascript, PHP, Lisp, Ruby
Software: VisualStudio.NET, MS Office, Dreamweaver MX, Eclipse
Source Control Tools: Rational ClearCase, IBM ChangeMan, Microsoft Visual Source Safe
Operating Systems: Windows (9x, 2000, XP, Vista), Linux
Database: Microsoft Access, MySQL, Oracle, Microsoft SQL Server
Download