Curriculum Vitae
Samuel P. Harbison, III

February 2011

CONTACT

 

840 Canterbury Ln, Pittsburgh, PA  15232-2105
Phone: (412) 681-8275;  Fax: (412) 682-4639; Cell: (412) 496-2947
Email: harbison@acm.org

EDUCATION

1980

Ph.D., Computer Science, Carnegie Mellon University, Pittsburgh, PA.

Dissertation: A Computer Architecture for the Dynamic Optimization of High-level Language Programs.  Advisor: Wm. A. Wulf.

1974

A.B., Mathematics, cum laude, Princeton University, Princeton, NJ.

AWARDS

1998

Fellow Award, Texas Instruments Incorporated

1974–1977

National Science Foundation Graduate Fellowship, Carnegie Mellon

1974

Phi Beta Kappa Society election, Princeton University

1974

Society of Sigma Xi election, Princeton University

ACADEMIC TEACHING EXPERIENCE

August 2002–
May 2007

Assistant Professor of Computer Science and Director of Computer Science Education, Carlow University, Pittsburgh, PA.  Responsible for curriculum and teaching all courses required for bachelor’s degree.

Spring 2002

Adjunct Faculty, Computer Science, Carlow University, Pittsburgh, PA

Spring 2002

Adjunct Faculty, Computer Science, Chatham College, Pittsburgh, PA.

Fall 2001

Adjunct Faculty, Computer Science, Community College of Allegheny County HBC, Pittsburgh, PA.

COMPUTER SCIENCE WORK EXPERIENCE

Google, Inc.  6425 Penn Avenue, Pittsburgh, PA 15206.  (412) 345-6700

Feb. 2010–present

Software Engineer.  Prediction models to enhance ads quality.

Pine Creek Software LLC  840 Canterbury Lane, Pittsburgh, PA 15232. (412) 496-2947

August 2007–January 2010

President. This is a sole-proprietor company that serves as a home for my consulting work: software design and development, web design, and technical writing.

Texas Instruments Incorporated Software Development Systems
(former site: 300 Oxford Drive, Monroeville, PA 15146)

2001–2007

Leave of absence (bridge to early retirement)

1998–2001

TI Fellow. Software tools architect for the Open Wireless Applications Platform (OMAP), a dual ARM & DSP computer for 3G wireless communicators, presently supporting Google Android.

1996–1998

Distinguished Member of the Technical Staff.  Architect of a new software tools infrastructure; aligned plans with third parties and internal TI businesses; managed selected technology projects. This led to TI’s acquisition of GO DSP and Spectron Microsystems, and the creation of TI’s eXpressDSP software.

Tartan, Inc. (formerly at 300 Oxford Drive, Monroeville, PA 15146).  A computer software firm founded 1981 by Carnegie Mellon faculty. Acquired by Texas Instruments in 1996.

1994–1996

Chief Technical Officer.  Responsible for overall company technical direction. Developed several new product concepts and conducted market surveys. Technical advisor during acquisition negotiations with Texas Instruments.

1992–1994

Director, C/C++ Products Division.  Formed and managed a separate, entrepreneurial business unit producing a C/C++ cross-compilation and debugging system for DSPs, plus a collection of run-time libraries. Tartan’s primary business was Ada cross-development software for the government/military market.

Pine Creek Software  (formerly at 305 S. Craig St., Pittsburgh, PA 15213).

1990–1992

Owner. Started this company to promote and commercialize the Modula-3 programming language, under contract to Digital Equipment Corporation SRC, Palo Alto, CA. Modula-3 concepts influenced Java and Microsoft .NET.

Tartan, Inc. (then known as Tartan Laboratories Incorporated)

1989–1990

Vice President, Quality Assurance. Established an independent QA organization and processes to improve product quality. Monitored product and contract shipments. Set up an independent testing group.

1987–1990

Vice President, Embedded Software, CASE Tools. Designed and supervised the development of an Ada source-level debugger. Supervised development and technology for linker, simulator, and runtime library. Conducted technical briefings for customers. Supervised several contracts.

1985–1987

Director of C & Modula-2 Products and C Technical Director.  Responsible for development and support of C and Modula-2 compilers for four computers.

1983–1985

Project Manager, C Compiler  Principal designer and implementer of the C compiler front end. Managed the development of Tartan’s first compiler product.

1982–1983

Senior Scientist   Joined company shortly after its founding. Implemented portions of the compiler front end for a proprietary language.

Carnegie-Mellon University, Computer Science Department, Pittsburgh, PA

1980–1982

Research Scientist. Research in software environments for an early personal workstation (SPICE Project), including operating system kernel development, compiler development, programming tools.

1974–1980

Graduate Assistant; Research Programmer. Ph.D. program. Research and development of a capability-based operating systems for multiprocessors (Hydra/C.mmp).

 


PUBLICATIONS

Books

Harbison, S. P. and Guy L. Steele Jr., C: A Reference Manual, Fifth Edition, Prentice-Hall, 2002. (Previous editions 1984, 1987, 1991, 1995.)  http://www.careferencemanual.com/.

Harbison, S. P., Modula-3, Prentice Hall, 1992.

Wulf, Wm. A., R. Levin and S. P. Harbison, Hydra/C.mmp: An Experimental Computer System, McGraw-Hill, 1980.

Book Chapters

Harbison, S. P., “Modula-3.” In Handbook of Object Technology, CRC Press, 1999.

Fahlman, S. and S. P. Harbison, “The Spice Project.” In Barstow et al, Interactive Programming Environments, McGraw-Hill, 1984.

Papers Presented

Harbison, S. P., “System-Level Hardware/Software Tradeoffs,” Design Automation Conference,  ACM/IEEE, 1999.

Wulf, Wm. A., and S. P. Harbison, “Reflections in a pool of processors—An experience report on C.mmp/Hydra,” National Computer Conference Proceedings, 1978.

Trade Articles and Technical Reports

Harbison, S. P., “How to select an optimizing compiler for your real-time software development,” Real-time Engineering, Fall, 1995.

Grandgent, C. and S. P. Harbison, “Designing a Multipoint System,” Electronic Design 43(17), August 21, 1995.

Sherman, J. C. and S. P. Harbison, “Advances seen in C, C++ tools for DSPs,” Electronic Engineering Times, July 17, 1995.

Harbison, S. P., “Uses and Misuses of C++ in DSP Application Development,” DSP & Multimedia Technology, November, 1994.

Harbison, S. P., “C++ and Real-Time Performance,” Embedded Systems Programming, 6(7), July, 1993.

Harbison, S. P., “Modula-3,” Dr. Dobb’s Journal, November, 1992.

Harbison, S. P., “Modula-3: A practical and predictable OOP language for team projects,” BYTE 15(11), November, 1990.

Harbison, S. P., “Restrained Applause,” UNIX Review  3(10), October 1985.

Harbison, S. P., “Performance, Productivity, and Your C Compiler,” Systems & Software, February 1985.

Fuller, S. H., and S. P. Harbison, The C.mmp Multiprocessor, Technical Report, Carnegie-Mellon University Department of Computer Science, 1978.

Other

“OMAP Software and Tools Architecture,” Texas Instruments DSP Champs Conference, 2000.

Modula-3 trade show exhibit (designed, managed, and staffed), OOPSLA ‘91.

COURSES TAUGHT

Carlow University, B.S. Computer Science program.
I developed and taught these courses. Courses marked (*) were originally based on courses designed by iCarnegie.

Introduction to Programming and Software Development (Java, object-oriented programming, Alice)

Introduction to Computer Systems (PC hardware, software, networking)

Object-Oriented Programming (Intermediate Java course) (*)

User-Centered Program Design (Visual Basic, UI principles, think-aloud testing) (*)

Algorithms and Data Structures (using C++) (*)

System-Level Programming (using C) (*)

Introduction to Databases (SQL, Java web applications) (*)

Operating Systems (including assembly language) (*)

Introduction to Linux (user and administrative tools, scripting)

Computer Graphics (OpenGL, animation, C++, other 3D tools)

Programming Languages (Python, Visual Basic, Alice)

Software Specification, Testing and Maintenance (Software Engineering, UML, Java web applications) (*)

Carlow University, Information Management program.

Systems Analysis I

Decision Support Systems

Seminars and Tutorials

“Object-oriented Programming in Modula-3.” Tutorial at TOOLS USA, August, 1992.

“Object-oriented Programming in Modula-3.” Tutorial at OOPSLA ‘91, October, 1991.

“Introduction to Compiler Design.” One-day seminar for Motorola, Inc., 1991.

CERTIFICATIONS AND TRAINING COURSES

Software Engineering Institute. Introduction to CMMI v. 1.2, June 2007.

Carnegie Mellon, Pittsburgh, PA. Alice Summer Institute, 2006. http://alice.org/

iCarnegie, Pittsburgh, PA. http://www.icarnegie.com. 2001-2004. Certified or provisionally certified as an instructor in several courses.

Sun Microsystems, Inc., Sun Certified Programmer for the Java 2 Platform 1.4. 2003.


ACADEMIC SERVICE ACTIVITIES

Carlow University

Member and Chair of the Academic Computing Committee. Faculty representative to the Facilities Subcommittee of the Board of Directors, 2006–2007.

University of Pittsburgh

Member of the Visiting Committee for the Department of Electrical and Computer Engineering, 1998-2002.

OTHER PROFESSIONAL ACTIVITIES

Standards Committees

Texas Instruments representative, ISO/IEC JTC1/SC22 Java Study Group, 1997-2000.

Convener (chairman) of ISO/IEC JTC1/SC22/WG21, C++, 1993-1996.

Texas Instruments representative, NCITS  J16 C++ standards committee, 1993-1998.

Tartan, Inc. representative,  C and Modula-2 standards committees, ca. 1985–1989.

Editorial

Past reviewer, Prentice-Hall, and IEEE Software.

Texas Instruments

Member of Technical Leadership Teams, TI Software Development Systems. Site coordinator for Technical Ladder promotions at Texas Instruments in Pittsburgh, 1997-2001.

Tartan, Inc.

Member of essentially all technology and strategic planning teams, Tartan, Inc., 1984-1996.

Memberships

Association for Computing Machinery (ACM).  Institute of Electrical and Electronics Engineers (IEEE). IEEE Computer Society.

Other

Member of the Advisory Board, Chief Technical Officer Network, Pittsburgh Technology Council,  Pittsburgh, PA, 1995-1998.

RECREATION AND OTHER ACTIVITIES

I’m a baritone in The Mendelssohn Choir of Pittsburgh, the preferred choir of the Pittsburgh Symphony Orchestra. I am a better-than-average poker player, online and in brick-and-mortar card rooms. I play MMORPGs, including The Lord of the Rings Online and EVE Online. I enjoy domestic and international travel. I have exhibited photographs at the Three Rivers Arts Festival.