Post Job Free
Sign in

Computer Science Project

Location:
Carrboro, NC
Posted:
November 03, 2012

Contact this candidate

Resume:

Samuel P. Leeman-Munk

***********@*****.***

*** ***** *** *****

Carrboro, NC 27510

919-***-****

EDUCATION

Chapel Hill High School, Chapel Hill, North Carolina

Academy of Information Technology Spring 2006

Earlham College, Richmond, IN

Bachelor of Arts, college and departmental honors, Spring 2010

Major: Computer Science Minor: Japanese Language and Linguistics

Spent a semester in Japan studying Japanese and assistant teaching English at a public

middle school.

COMPUTER SKILLS

Languages: C, C++, Objective C, Java, Perl, PHP, SQL, HTML, CSS, XML, Haskell, Prolog,

Python, UNIX shell scripts

Systems: Linux (Debian & Arch), Windows, Mac OSX

Software: MS Office & OpenOffice suites, Maple, Adobe Web Suite CS3, GNU utilities,

Schedulers (LoadLeveler, LSF, PBS), Source Code Control (CVS, SVN, Git), LaTeX

Parallelism: Experience in both shared and distributed parallel architecture at various scales

WORK EXPERIENCE

August 2011-Present: Research Assistant

North Carolina State University, Raleigh, NC

June 2010-August 2011: Curriculum and Software Developer

The Shodor Foundation, Durham, NC

Duties and Projects

Maintain and manage software suites

Revamp and redesign Petascale data harvester for education, allowing students to easily

see how a program's runtime decreases with increasing numbers of computing cores.

Create an educational module to explain the Petascale data harvester and how to use it.

Explore the educational opportunities afforded by multi-touch interfaces such as the

iPhone and lead development in this area.

Develop modular, automated testing system to the Bootable Cluster Compact Disc (see

projects)

Lead and assist classes in various subjects - Java programming, structural engineering,

parallel programming and agent modeling.

May 2009-June 2010: Petascale Project Engineer

Blue Waters Petascale Computing Facility

Earlham College, Richmond, Indiana

Duties and Projects

Modify parallel programs to output performance data.

Design and implement a Perl-based data harvester for running multi-threaded programs,

collecting performance statistics and sending them over SSH to a Postgres database.

Work with local clusters and large-scale supercomputers to run parallel programs and

collect statistics for a variety of parallelization styles.

2008 - May 2009: Web Administrator

Earlham College Computer Science Department

Earlham College, Richmond, Indiana

Duties and Projects

Identified and fixed errors and security flaws in the Computer Science Department

website.

Added new content and redesigned existing content using Perl, PHP and HTML

scripting.

August 2007 - August 2008: Web Applications Designer

Shodor Intern Program

The Shodor Foundation, Durham, NC

Duties and Projects

Designed and implemented Internet-based Science and Mathematics applications in

Java.

Identified repeated patterns in code and consolidated them into generalized modules.

Taught students and apprentices the skills they needed to complete their projects.

Summer 2007: System Administrator

Shodor Intern Program System Administrator Intern

The Shodor Foundation, Durham, NC

Duties and Projects

Designed an end-user manual for LittleFe, a portable mini-cluster. (www.LittleFe.net)

Set up software on and taught classes with LittleFe.

Helped with general maintenance of computer software and hardware.

PROJECTS

Blog Engine: Designed, implemented, and continue to maintain and upgrade a blog using PHP,

CSS, HTML and XML.

Jeopardy review game creator: Using Adobe Flash, PHP, CSS, HTML, JavaScript and XML,

created a jeopardy game that enables Japanese Teachers to make question sets with a user-

friendly web form.

Senior Project: Designed a conceptual Natural Language Queriable Database in Prolog using

Definite Clause Grammars, an extension of Context Free Grammars. System learns vocabulary

by refactoring user queries to see what in its database could match the unknown term and

prompting the user for a synonym.

PetaKit: Worked with a small team to create a portable system to run various programs on

arbitrary clusters and collect performance data for different styles and degrees of parallelism.

StatKit and PlotKit: Improvement to PetaKit's main harvester. StatKit provides a well-

documented, easy-to-use interface to benchmarking any command-line program, and PlotKit

quickly graphs the output to make meaningful visualizations. Independent project, continuing to

improve.

NXT Python: Extended the open-source Python Library for Lego's Mindstorms's NXT to

support HiTechnic's Compass hardware.

BCCD: The Bootable Cluster Computing Distribution, an operating system designed to allow

any group of networked computers to temporarily become an impromptu cluster. I am one of a

number of developers helping with this project. Lately I've focused on an automated testing

suite based in Perl that identifies errors via regression analysis, comparing test results on a test

machine to the results of the same test on a known working machine .

iPhoneActivate: Working with a single colleague and two interns to explore techniques for

converting a large existing framework of STEM education web-applications written in Java into

formats that will be accessible via iPhone. Also considering how to use our work to get funds

for Shodor. For instance, converting our app Multi-Function Flyer to Math Flyer (currently on

the app store). Currently making the simpler free version, Slope Slider.

ACCOLADES

TeraGrid '09 Parallel Programming Competition First Place (part of team)

2009 National Cyber Defense Competition Third Place (part of team)

Invited to run a parallel computing workshop at National Center for Supercomputing

Applications at University of Illinois Urbana Champaign in 2010 (part of a group)

Invited again to teach at the parallel computing workshop in 2011.

RESEARCH PRESENTATIONS

Parallel Performance Over Different Paradigms

TeraGrid Conference 2009

SuperComputing Conference 2009

Earlham College Annual Research Conference 2009

Collecting Performance Statistics on Varying Cluster Implementations (PetaKit)

SIGCSE Conference 2010

Earlham College Annual Research Conference 2010

Undergraduate Petascale Education Program Institute 2010

PUBLICATIONS

S. Leeman-Munk A. Weeden. An automated approach to multidimensional benchmarking on

large-scale systems. Journal of Computer Science Education, 2010.

http://jocse.org/currentIssue/.

M. Edlefsen, A. Fitz Gibbon, B. Johnson-Stalhut, D. Joiner, S. Leeman-Munk, A. Weeden, and

C. Peck, Poster. Parallel performance over different paradigms. Poster TeraGrid Conference,

SuperComputing Conference, 2009.

M. Edlefsen, A. Fitz Gibbon, B. Johnson-Stalhut, D. Joiner, S. Leeman-Munk, G. Schuerger, A.

Weeden, and C. Peck, Poster. Collecting Performance Statistics on Various Cluster

Implementations. Special Interest Group on Computer Science Education, Undergraduate

Petascale Education Institute, 2010.

Undergraduate Petascale Education Program (internet resource)

Multidimensional Benchmarking with PetaKit

EDUCATIONAL WORKSHOPS

Note that in each of these I had a planning and educating role

Undergraduate Petascale Education Program Institute

University of Illinois at Urbana Champaign National Center for Supercomputing

Applications

Intermediate Parallel and Cluster Computing

University of Oklahoma, Norman, OK



Contact this candidate