Harry H. Porter III, Ph.D.
Email: hhporter3@gmail.com
Dept. of Computer Science
at
Portland State University
Teaching at PSU: www.cs.pdx.edu/~harry
Sc.B., Computer Science,
Brown University, 1978
Ph.D., Computer Science,
OHSU/Oregon Graduate Institute, 1988
Biography
For years I taught computer science at Portland State University, primarily classes in Compilers, Operating Systems, Discrete Math, and Theory of Computation.
I have made a number of educational videos. My Theory of Computation course has been popular.
(YouTube playlist)
Recently I completed making a video course on the xv6 operating system.
(YouTube playlist)
My first video is still the most-viewed.
(YouTube)
I have programmed in more languages than I can remember: Smalltalk, Java, C/C++, Fortran, Cobol, Lisp,
APL, Basic, ML, Prolog, Algol-60, Pascal, PL/I, Euclid, Eiffel, Snobol, as well as contemporary languages.
I truly enjoy assembly language programming, and got started with the IBM 360/67, Intel 8080, and Motorola 68K.
I've written at least two assemblers, a text editor, a linker, a number of compilers, a small
operating system, a LISP interpreter, a Prolog interpreter, a bytecode interpreter similar to Smalltalk, a machine emulator, and various debuggers.
I designed a statically typed, object-oriented language called "Portlandish", which I
implemented and programmed extensively in.
I designed (and saw fabricated) a 4-bit microprocessor using NMOS chip technology.
As of 2022, I'm working on the Blitz-64 Project, which introduces a new processor architecture. I've written various software components in support of the project. I used an earlier version in my Operating Systems class, where it was used to run a small operating system as a course project.
My Ph.D. concerned Natural Language Processing and involved a logic-based language /
grammar formalism I devised and implemented.
As a hobby, I built a computer out of relays, which is shown in the photo above.
(relay computer website)
I have six (0x06) wonderful sons. I enjoy skiing, hiking, travel, reading, and ... programming!