HOME ACADEMICS WORK FUN  


ACADEMIC EXPERIENCE :: stephen warner thomas


This page provides a summary of my education, lists my papers and publications, and describes some academic projects that I've worked on over the years.


EDUCATION HISTORY

Queen's University Kingston, ON, CAN

starting September 2009:   Ph.D. Computer Science (GPA TBD)

University of Arizona Tucson, AZ, USA

exp May 2009:   M.S. Computer Science (3.9 GPA)

  • Thesis Title: Implementation and Evaluation of Temporal Representations in XML
  • Thesis Advisor: Dr. Richard T. Snodgrass
  • RASP Scholarship recipient ( $6k )
  • Graduate Tuition Scholarship recipient ( $3k )
  • Member, ACM
  • Member, IEEE

New Mexico State University Las Cruces, NM, USA

2006:   B.S. Computer Science (3.6 overall, 4.0 in CS/Math courses)

2006:   Supplementary B.S. Applied Mathematics (4.0)

  • Crimson Scholar, 2004-2006
  • Dean's List (5 times)
  • Member, Pi Mu Epsilon (Math Honor Society)
  • Member, Team SIGSEGV (Computer Science society)
  • Lab Instructor, ET 262 Spring 2003 (Introduction to C++)



PUBLICATIONS AND WORKING PAPERS
These are more "working" than "published," but I am working to change that.
Faiz Currim, Sabah Currim, Curtis Dyreson, Shailesh Joshi, Richard T. Snodgrass, Stephen W. Thomas, and Eric Roeder, "τXSchema- Support for Data- and Schema-Versioned XML Documents," TimeCenter TR-90 (Working Paper), Spring 2009. (pdf)
Stephen W. Thomas, "Learning to Track a Random-Walk Target Motion Using Markov Chain Monte Carlo," (Working Paper), Spring 2009. (pdf)
Stephen W. Thomas, "The Implementation and Evaluation of Temporal Representations in XML," Master's Thesis, March 2009. (pdf)
Stephen W. Thomas, "Independent Study Report: Gossamer," UA Independent Study (Dr. Gregory Andrews), December 2008. (pdf)


OTHER ACADEMIC PROJECTS
This list is incomplete and out of date, but gives a general flavor.

Gossamer: A Lightweight Approach to Using Multicore Machines 2008

With: [Dr. Greg Andrews] [Joe Roback]
For: UofA CSc 599: Independent Study
Technologies used: pthreads, Filaments package, huge multi-core machines

Gossamer is framework that aims to make it easy to parallelize sequential programs and easy to implement parallel algorithms while at the same time providing scalable performance improvements on multicore machines. My contribution is to to implement a set of sequential applications that contain difficult-to-parallelize algorithms; then use Gossamer's annotations and analyze the speedup achieved.
 

τXSchema: Temporal Support for XML Schema 2008-2009

With: [Dr. Richard T. Snodgrass] [Dr. Curtis Dyreson] [Dr. Faiz Currim] [Dr. Sabah Currim]
For: UofA CSc 910: Master's Thesis
Technologies used: XML, XSchema, Java

In this work we consider how to accommodate and validate time-varying data within XML Schema. We propose a system, called Temporal XML Schema ( tXSchema ), for constructing and validating temporal documents. Temporal XML Schema extends XML Schema with the ability to define temporal element types. Visit the project wiki.
 

Single Instance File System (SIFS) 2007

With: [Dr. Jon Hartman]
For: UofA CSc 552: Operating Systems
Technologies used: C, C++, FUSE

The Single Instance File System (SIFS) is a file system designed to maximize storage efficiency by storing only one copy of data, even if the data appear in multiple files. The semester project included designing and implementing a complete filesystem. The system interfaced with the FUSE and Disk libraries so that it could be easily mounted and used on top of any traditional filesystem. The result was a working system that passed all of the test cases in an efficient matter.
 

Distributed Shared Memory (DSM) 2006

With: [Dr. Joe Pfeiffer] [Michael Simmons] [Brian Gaume]
For: NMSU CS 474: Operating Systems
Technologies used: C

Our team wrote a simple software-only Distributed Shared Memory system. It was implemented with a Client-Server architecture, implementing a simplified version of the Alewife LimitLESS protocol. The result was a system that allowed processes running on different machines to seamlessly share memory segments.
 

ChildFind 2005

With: [Dr. Esther Steiner] [Brian Gaume] [Rodrigo Rojo]
For: NMSU CS 371: Object Oriented Software Engineering
Technologies used: Java, UML

Our team designed and implemented a multi-user environment to be used by local professionals in performing collaborative information organization. This task included meeting with local field specialists (customers), drafting requirements documents and use cases, authoring test cases, implementing the system, and deploying to the customers. The result was an online system (mySQL back-end with a Java applet front-end), with authentication, that was used to organize the customers' information.
 

C-- Compiler 2005

With: [Dr. Clint Jeffrey]
For: NMSU CS 370: Compilers and Automata Theory
Technologies used: C, gcc, yacc, lex

We designed and developed a compiler for a subset of the C programming language (with some restrictions). The result was a system capabile of taking simple C source files and, after parsing the file and building a syntax tree, generating generic byte code.
 

Funnel Approach to Design (FAD) 2003

With: [Anthony Hyde]
For: M-TEC student research project
Technologies used: VB.NET

This task involved designing and implementing a system that could be used to reduce the time and effect needed to design products. It implemented the idea knows as the "Funnel Approach to Design" (FAD), which was developed by the director of M-TEC. The FAD process involves enumerating the product requirements, some initial ideas, and brainstorming information; then a clever technique is used to highlight the best possible designs for the product. The result of this project was a VB.NET GUI application that performed the tasks described above.
 

Darbyshire Equipment 2004

With: [Ryan Herbon]
For: M-TEC student project
Technologies used: VB.NET, MS Access

The project was to design and implement a system that allowed the users to easily manage a large list of product parts and the relationships between them. This was to address an industrial problem experienced by Darbyshire Equipment, a manufacturer of large farm equipment. The result was a VB.NET GUI application (MS Access back-end) that allowed the user to easily organize his working environment.
 

M-TEC Tech Mobile 2004

With: [Anthony Hyde]
For: M-TEC student project
Technologies used: Assembly

The M-TEC Tech Mobile is a mobile center that showcases current technologies to students. It is used for generating interest in young people in the engineering world. The project was to create interesting displays/interactive workstations withing the Tech Mobile, and then to present the displays at a variety of local elementary/middle/high schools. An example of a display I created was a robotic arm that sorted a set of metal blocks based on color: the arm would pick up each block individually, determine its color, and place it in the appropriate pile. The students enjoyed watching the arm in action and trying to determine the arm's strategy for determining the color.