Seeking
I am not currently seeking employment.
Interests
Computer science is a very exciting field because of its ability to solve
diverse problems in a variety of disciplines, ranging from fluid-flow
simulations to stock-market projections. I am most interested in further
applying the tools I've gained as part of my education to such problems,
especially those which require large scale computation. Recently, I've been
focusing on the areas of programming languages and formal languages. I would
like to further explore how purely functional languages and techniques can be
used to build large scale, fault-tolerant systems.
Education
Doctorate
On Labeled Paths
PhD in Computer Science
3.94 GPA, May 2010
University of Alabama
Masters
MS in Computer Science
3.94 GPA, August 2007
University of Alabama
Undergraduate
BS in Mathematics, specializing in Mathematical Statistics
4.0 GPA, Summa Cum Laude, December 2004
University of Alabama
Honors and Awards
Nominated ECOB Outstanding Graduate Student, UA, 2010
Nomination for the Engineering Council of Birmingham's most outstanding
graduate student in Engineering.
Association for Computing Machinery Outstanding Graduate Award, UA, 2009
Awarded to the most outstanding graduate student in the Computer Science
program each year.
Nominated ECOB Outstanding Graduate Student, UA, 2009
Nomination for the Engineering Council of Birmingham's most outstanding
graduate student in Engineering.
Graduate Council Fellowship, UA, 2005 -- 2006
The most prestigious and competitive graduate fellowship at the University.
Awarded to graduate students with the highest academic and scholarly
qualifications.
Association for Computing Machinery Graduate Award, UA, 2005
Awarded to the most outstanding graduate student in the Computer Science
program each year.
Computer Science Outstanding Senior Award, UA, 2004
Awarded to the most outstanding senior in the Computer Science program
each year.
Upsilon Pi Epsilon Honor Society, 2004
International honor society for the computing and information disciplines.
Space Grant Fellowship, UA, 2003-2004
Awarded by the Alabama Space Grant Consortium.
Computer Science Outstanding Sophomore Award, UA, 2003
Awarded to the most outstanding sophomore in the Computer Science program
each year.
Experience
Teaching: Foundations of Computer Science (CS260)
Spring 2010
UA Computer Science
I taught one section of CS260 which is an introduction to the field of Computer
Science including the areas of data structures and elementary algorithmic
analysis.I was the sole
instructor of the course, so my duties included the creation of all course
materials including projects and exams, along with the grading of each.
Teaching: Software Development (CS3)
Fall 2009
UA Computer Science
I taught one section of a CS3 which focused on developing larger software
projects using C++ and Java. The students were also exposed to the ideas of
unit-testing and using a versioning system (Subversion). I was the sole
instructor of the course, so my duties included the creation of all course
materials including projects and exams, along with the grading of each.
Teaching: Introduction to Python (CS1)
Spring 2009
UA Computer Science
I taught one section of a CS1 course using Python. My duties included
lecturing, authoring and grading of examinations, and development of
programming assignments.
Teaching: Introduction to Programming Using Alice
Spring 2009
UA Computer Science
I taught one section of an introduction to programming course using a modified
version of the Alice environment retrofitted to work with the iRobot iCreate
robotics platform. My duties included lecturing, authoring
and grading of examinations, and development of programming assignments.
Teaching: CS1 Lab (CS1)
Aug 2006-Dec 2008
UA Computer Science
I taught a total of five lab sections associated with a CS1 course,
and was responsible for development of one half of all course materials for
all sections of the lab.
Teaching: Introduction to C++ (CS1)
Fall 2007, Spring 2008
UA Computer Science
I taught two sections of a CS1 course using C++. My duties included lecturing,
authoring and grading of examinations, and development of programming
assignments.
Research Assistant
Aug 2007-Dec 2007
UA CS Department
Helped build and set up the new robotics lab for the computer science
department. This included running Linux on embedded devices and working with
device drivers in Player/Stage to get them functioning with the robotic
hardware.
Systems Administrator
May 2005-May 2007
UA College of Engineering
Maintained the Linux network for the College of Engineering.
Information Services Co-op
Dec 2003-May 2003
ACIPCO
Built a digital card catalog for the company library. Developed and maintained
several databases and front-ends. Created an Excel spreadsheet which would pull
real-time statistics from a database and create charts and reports on the fly.
Continuous Improvement Co-op
May 2002-Aug 2002
ACIPCO
Built a digital suggestion box had to meet the demand the suggestions from many
of the thousands of employees since the suggestions were incentivized by paying
a percentage of any savings the company accrued to the suggester.
Projects
Auto-Discovery tool for OpenMosix
Wrote an auto-discovery daemon for the now defunct OpenMosix project. The
project was canceled before the daemon was complete.
Parser Generator written in XSLT
Wrote a parser generator that took the grammar specification, decorated with
annotations to describe the AST to be produced, in XML and then used an XSL
Transform to convert this specification into an equivalent C form. This was
phase one in a project for a compiler for a toy language. A later phase
included type-checking in the language using another XSLT program.
FunVision
Created a language which was used as the term project for a 400 level CS course.
The assignment was to compile the language to an assembly that ran in a VM.
Each were developed in parallel.
Relational Algebra to SQL Translator
Made a tool which would interpret a relational algebra syntax, translating it
into an equivalent SQL, and then run the queries against a database. Used as a
pedagogical tool.
Funion
Currently working (part time) on a project to implement a user-land filesystem in
Haskell for the purpose of creating unioned views of directories.
http://github.com/nathanwiegand/funion
Skill Set
Programming Languages
Tier 1 (Best)
C, JavaScript
Tier 2
C++, Java, Python, Perl, XSLT, PHP, TeX,
Haskell, BASH, Make
Tier 3
Visual Basic, 68HC12 Assembly, Processing
Selected Publications
C. Ward, N. Wiegand. "Complexity Results on Labeled Shortest Path Problems
from Wireless Routing Metrics," Accepted in Computer Networks.
C. Ward, N. Wiegand, P. Bradford. "A Distributed Context-Free Language
Constrained Shortest Path Algorithm," ICPP '08 37th International Conference
on Parallel Processing, 2008.
P. Bradford, O. Gavrylyako, C. Ward, N. Wiegand. "A Proposal for a Multimedia
Traffic Analysis Attack," The 2005 International Conference on Wireless
Networks (ICWN-05).
References
Crutcher Dunnavant
Google, Inc.
36 Dorland St, Apt 4
San Francisco, CA 94110
crutcher@google.com
205-887-2552
Sibabrata Ray
Google, Inc.
604 Arizona Ave
Santa Monica, CA 90401A
siburay@gmail.com
310-309-6819
Charles Ward
Postdoctoral Associate
Stony Brook University
Stony Brook, NY 11794
charles@cs.sunysb.edu
631-632-5922