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