John D. Greiner


1514 Bracher St.
Houston, TX 77055
home: (713) 461-5642, work: (713) 348-3838
work fax: (713) 348-5930
http://www.cs.rice.edu/~greiner/
greiner (AT) rice.edu

Education Carnegie Mellon University
Pittsburgh, PA
  Ph.D. Computer Science, May 1997. Dissertation: "Semantics-based complexity models of parallel functional languages". Guy Blelloch, advisor.
M.S. Computer Science, May 1992.
Ergo, POP, Fox, and SCANDAL projects.
Rice University
Houston, TX
  B.A. Computer Science (Software), Mathematical Science (Computation), Linguistics (Honors, Cognitive Science), May 1989, Summa Cum Laude, GPA: 3.99/4.0.
 
Career Experience Rice University, Computer Science Department
Houston, TX
  Lecturer (July 1997-present).
Instructor or co-instructor for the courses
COMP 210: Principles of Computing and Programming,
COMP 212: Intermediate Programming
COMP 280: Mathematics of Computation
COMP 320: Introduction to Computer Organization / Introduction to Computer Systems — Transitioned course from a focus on computer organization and architecture to a focus on system-level software and its enabling hardware
COMP 481: Automata, Formal Languages, and Computability
COMP 482: Design and Analysis of Algorithms — Transformed a course project into having a focus on technical writing.
COMP 600: Graduate Research Seminar — Created course.
COMP 607: Automated Program Verification
ELEC 220: Fundamentals of Computer Engineering
Mentor for department's Ph.D. students (January 2006-July 2008)
Instructor of training seminar for research poster design (Fall 2007)
Research
TeachLogic project (2002/03-2004/05).
Academic advising
Computer Science Department Undergraduate Committee member, including creating and maintaining academic advising materials (1997/98-present).
Hanszen College Engineering Divisional Advisor (1998/99-present).
Hanszen College Natural Science Divisional Advisor (2004/05).
Academic advising for varsity football recruits (1998-2006).
College associate
Hanszen College Faculty Associate (1998/99-present) and University Associate (1997/98). Superior Faculty Associate Award (1998/99) and Outstanding Associate Award (1997/98, each year 1999/2000-2006/07).
Other university service
Committee on the Undergraduate Curriculum, Member (2002/03-present).
Committee on Fellowships and Awards, Member (2006/07-present).
Committee on Education, Member (2003/04-2004/05).
Cain Project Faculty Advisory Committee, Member (2005/06-2007/08)
Rice Undergraduate Research Seminar, Judge (2002-2003,2005-2007).
ΦΒΚ (Phi Beta Kappa) honor society, Beta of Texas, Secretary (2004/05), Senator (2005/06-2007/08), Vice President (2008/09)
ACM-ICPC Programming Contest Team, Coach (2003/04-present).
Rice Chess Club, Faculty Advisor (1999-2006,2008-present).
GALT Technologies, Inc. (acquired by Intuit, Inc.)
Pittsburgh, PA
  Product Manager (June 1996-June 1997). Managed the stock and web resource sections of NETworth, one of the first investment information and marketing web sites, including relations with partner companies and GALT's parent company. Helped lead the overall site presentation and promotions. Developed and maintained Web pages and Perl scripts.
Special Projects Designer (August 1994-May 1996). Managed the web resource section of NETworth. Prototyped new projects. Developed and maintained Web pages and Perl scripts.
Rice University, Computer Science Department
Houston, TX
  Programmer and Student Research Scientist (Spring 1988 and Fall 1988-Summer 1989, respectively); Matthias Felleisen, advisor. Ported and extended Scheme implementations. Focused on formal semantics, continuation-based control mechanisms, and hygenic syntactic extension facilities.
Research Assistant (Summer 1988); Robert Hood, advisor. Developed UNIX process-manipulation software for the Rn scientific programming environment.
 
Other Teaching Experience Instituto Technológico y de Estudios Superiores de Monterrey (ITESM)
San Luis Potosí, SLP, Mexico
Visiting Professor (Summer 1998). For the course Intermediate Programming.
Carnegie Mellon University, School of Computer Science
Pittsburgh, PA
Teaching Assistant (Fall 1990, Fall 1992). For the courses Fundamental Structures of Computer Science II and Programming Languages Design & Implementation.
Rice University, Computer Science Department
Houston, TX
Lab Assistant (Fall 1987, Spring 1988, Fall 1988). For the courses Programming Studio, Symbolic Computation, and Programming Languages.
 
Invited Lectures Marketing Securities & Mutual Funds Over Internet
New York, NY
Brokerages on the Web. October 1995
Kansas State University, Computing and Information Sciences Department
Manhattan, KS
Programming with Inductive and Co-Inductive Types. December 1991.
 
Other Talks Design Recipes as Introductory Computer Science, International Conference on College Teaching and Learning, April 2000.
 
Refereed Publications A Provably Time-Efficient Parallel Implementation of Full Speculation. John Greiner and Guy E. Blelloch. In ACM Topics on Programming Languages and Systems, March 1999, 240-285.
A Provable Time and Space Efficient Implementation of NESL. Guy E. Blelloch and John Greiner. In International Conference on Functional Programming, Philadelphia, PA, May 1996, 213-225.
Weak Polymorphism Can Be Sound. John Greiner. In Journal of Functional Programming, volume 6, part 1, Cambridge University Press, January 1996, 111-141.
A Provably Time-Efficient Parallel Implementation of Full Speculation. John Greiner and Guy E. Blelloch. In Symposium on Principles of Programming Languages, St. Petersburg, FL, January 1996, 309-321.
Parallelism in Sequential Functional Languages. Guy E. Blelloch and John Greiner. In Conference on Functional Programming Languages and Computer Architectures, La Jolla, CA, June 1995, 226-237.
Data-Parallel Connected Components Algorithms. John Greiner and Guy E. Blelloch. In High Performance Computing, Gary Sabot (ed.), Addison Wesley, 1995, 156-185.
A Comparison of Parallel Algorithms for Connected Components. John Greiner. In Symposium on Parallel Algorithms and Architectures, Cape May, NJ, June 1994, 16-25.
 
Other Publications A Parallel Complexity Model for Functional Languages. Guy Blelloch and John Greiner. Technical Report CMU-CS-94-196, Carnegie Mellon University, October 1994.
Standard ML Weak Polymorphism Can Be Sound. John Greiner. Technical Report CMU-CS-93-160R (also Fox Memorandum CMU-CS-93-05), Carnegie Mellon University, September 1993.
A Comparison of Data-Parallel Algorithms for Connected Components. John Greiner. Technical Report CMU-CS-93-191, Carnegie Mellon University, August 1993.
Programming with Inductive and Co-Inductive Types. John Greiner. Technical Report CMU-CS-92-109, Carnegie Mellon University, January 1992.
 
Programming Skills Primarily C, Scheme, Lisp, Pascal, Perl, and ML on various serial UNIX systems, and NESL on various parallel systems.
 
Scholastic Honors Include Phi Beta Kappa, Tau Beta Pi, Office of Naval Research Graduate Fellow, Hanszen College Fellow, National Merit Scholar, Max Roy Scholar, Walsh Scholar.
 
Related Activities Developed and maintained extensive Web-based information services on financial topics, bicycling, music, and other subjects (1994-1997).
ACM Collegiate Programming Contest team member (Rice 1989, 5th place Nationals; CMU 1990).