Harry H. Porter III, Ph.D.

Photo of Harry

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


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!