Harry H. Porter III, Ph.D.
Portland State University
Dept. of Computer Science
P.O. Box 751
Portland, OR 97207-0751
email: harry@cs.pdx.edu
office: Fourth Ave. Building, room 115-06
(click here for map)
office phone: (503) 725-4039
Sc.B., Computer Science,
Brown University, 1978
Ph.D., Computer Science,
Oregon Graduate Institute, 1988
Short Bio:
click here
Relay Computer
I have built a computer out of relays.
Pictures:
click here
Research Interests
Object-Oriented Technology;
Programming Languages, Environments, and Systems;
Compilation Technology;
Distribution and Concurrency Control;
Computational Linguistics;
Logic Programming;
Neural Networks and Artificial Intelligence;
Order, Chaos, and Complexity
The BLITZ Project
The BLITZ System is a collection of software designed to support
a university-level course on Operating Systems.
Over the course of one or two terms, students will implement a small,
but complete, operating system kernel.
The BLITZ software provides the framework for these student projects.
The BLITZ Home Page
Current Courses
Future Courses
Recent Past Courses
-
CS-305: Social, Ethical, and Legal Implications of Computing
--- PSU, Spring 2010
-
CS-340: Discrete Structures for Engineers
--- PSU, Spring 2010
-
CS-333: Introduction to Operating Systems
--- PSU, Spring 2009
-
CS-105: Computing Fundamentals I
--- PSU, Winter 2009
-
CS-333: Introduction to Operating Systems
--- PSU, Spring 2007
-
CS-333: Introduction to Operating Systems
--- PSU, Spring 2006
-
CS-322: Languages and Compiler Design II
--- PSU, Winter 2006
-
CS-322: Languages and Compiler Design I --- PSU, Fall 2005
-
CS-322: Languages and Compiler Design II --- PSU, Spring 2005
-
CS-333: Introduction to Operating Systems --- PSU, Winter 2005
-
CS-333: Introduction to Operating Systems --- PSU, Fall 2004
-
CS-322: Languages and Compiler Design II --- PSU, Spring 2004
-
CS-321: Languages and Compiler Design I --- PSU, Winter 2004
-
CS-322: Languages and Compiler Design II --- PSU, Spring 2003
-
CS-321: Languages and Compiler Design I --- PSU, Winter 2003
-
CS-251: Logical Structures --- PSU, Fall 2002
-
CS-322: Languages and Compiler Design II --- PSU, Spring 2002
-
CSE-509: Object Oriented Programming --- OGI, Winter 2002
-
CS-321: Languages and Compiler Design I --- PSU, Winter 2002
-
CS-250: Discrete Structures --- PSU, Spring 2001
-
CS-302: Languages and Compiler Design 2 --- PSU, Winter 2001
-
CSE-509: Object Oriented Programming --- OGI, Winter 2001
-
CS-301: Languages and Compiler Design I --- PSU, Fall 2000
-
CSE-513: Introduction to Operating Systems --- OGI, Fall 2000
-
CS-302: Languages and Compiler Design II --- PSU, Spring 2000
-
CS-302: Languages and Compiler Design II --- PSU, Winter 2000
-
CS-301: Languages and Compiler Design I --- PSU, Fall 1999
Musings / Papers / Commentary
-
"Earley Deduction / Earley Parsing / Optimizations for DATALOG"
Several papers concerning Logic Programming and Earley Deduction.
(click here for more)
-
"Warnings of a Dark Future:
The Emergence of Machine Intelligence"
What is the future of machines? Robots, genetic algorithms, artificial intelligence, viruses... where will all this lead? We are in the midst of creating a technology that--like the atomic bomb before it--may make the world vastly more dangerous than its inventors realize.
(html) or
(pdf, 9 pages)
-
"Smalltalk: A White Paper Overview"
This paper gives a high-level introduction to the Smalltalk language and
system. It focuses on the unusual concepts of Smalltalk and contrasts Smalltalk
with languages like Java and C++. This paper is not intended as a
tutorial for beginning Smalltalk programmers and does not contain the level of
detail necessary to begin using Smalltalk.
(html) or
(pdf, 77 pages)
-
"Programming: The Fundamental Concepts of Computer Coding"
This paper surveys the most basic concepts of programming and is
intended for someone without any programming experience. Simple examples in
the Java language are used to illustrate these core ideas.
(html) or
(pdf, 46 pages)
-
"The Java Language: A White Paper Overview"
This paper provides an overview of the Java programming language. It is meant to be a complete, yet concise, description of the language.
(html) or
(pdf, 62 pages)
-
"Designing Programming Languages for Reliability"
This paper contains several comments and thoughts on designing programming languages so that programs tend to be more reliable. It is organized as a list of suggestions for anyone who is about to design a new language.
(html) or
(pdf, 19 pages)
-
"Harry's Style Guide"
This paper contains several suggestions about how to write "C" programs that
are more readable and more likely to be bug-free.
This is a "C" programming style guide, documenting a number of coding practices,
conventions, and standards, along with justifications of why these
recommendations produce better programs.
(html) or
(pdf, 18 pages)
-
"My Theory of Consciousness - A Summary"
This paper describes my own original ideas about the nature of human consciousness.
(html) or
(pdf, 13 pages)
-
"On Intuition"
This paper discusses human intuition.
(html) or
(pdf, 8 pages)
Robot Videos
A page with links to over 60 videos, each showing a different interesting or unusual robot, showcasing the diversity of contemporary robotic and bionic technology.
www.cs.pdx.edu/~harry/Robots
Harry H. Porter III
harry@cs.pdx.edu