Nathan M. Wiegand email: nathanwiegand@gmail.com url: http://nathanwiegand.com phone: (205)210-8283 address: Department of Computer Science The University of Alabama 101 Houser Hall Tuscaloosa, AL 35487-0290 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 Richard Borie, Associate Professor Department of Computer Science University of Alabama 101 Houser Hall, Tuscaloosa, AL 35487-0290 borie@cs.ua.edu http://cs.ua.edu/~borie/ 205.348.1668 John Lusth, Associate Professor Department of Computer Science University of Alabama 101 Houser Hall, Tuscaloosa, AL 35487-0290 lusth@cs.ua.edu http://cs.ua.edu/~lusth/ 205.348.1618 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