Dr. Andrew P. Black

D.Phil., Programming Research Group, University of Oxford (England).

Professor Emeritus, Department of Computer Science,
Portland State University

Office: FAB Room 115-10
Email: black
+1 503 725 2411        (Fax to CS Department: +1 503 725 3211)

I am now Professor Emeritus. I'm available for consultation, but come to campus irregularly.
If you would like to set up a meeting, please telephone for an appointment.

Recent Technical talks


I'm no longer maintaining the material at the above link;  Google Scholar does a more thorough job.  You can also find most of my more recent papers in my institution's research repository.

Office Hours

I'm not currently holding in-person office hours


Title Course number When taught
Principles of Programming Languages
CS 320 Most recently taught Spring 2020
Algorithms & Complexity CS 350 Most recently taught Winter 2019
Introduction to Programming and Problem-solving CS 161 Most recently taught Spring 2017
Object-Oriented Programming CS 420/520 Most recently taught Spring 2019
Scholarship Skills CS 669 Most recently taught Winter 2020
Ethical, Social & Legal Implications of Computing CS 305 Most recently taught Winter 2019
Computer Science for Beginners CS 199 Most recently taught Summer 2009
Computational Structures CS 311 Most recently taught Spring 2010
Extreme Programming: Principles & Practice CS 410/510XP Most recently taught Summer 2006
Advanced Programming
(with Mark Jones)
CS 410/510AP Most recently taught Winter 2009
Distributed Computing CS 410/510 Most recently taught Spring 2005

Courses previously taught at OGI/OHSU

Research Interests

My research interests are in the area of programming languages, operating systems, object-oriented systems and distributed computing, and more specifically in the region where they overlap (such as language design for distributed Object-oriented computing.)

I'm currently involved in developing a new, very simple, object-based language called Grace, named after Rear Admiral Grace Hopper. Grace is intended for teaching novice computer scientists to program in the object-oriented style, but is a full-featured language that can be used for almost any purpose, including its own compiler.  You can try out Grace on the web; see the documentation

After Grace, my favorite system for trying out ideas is Smalltalk. I have written a few Squeak goodies that I believe are generally useful. I have worked on Traits with the folks from SCG in Bern; see Nathanael Schärli's Traits page for details.

I'm a co-author of two books on Smalltalk programming, Squeak by Example, and Pharo By Example.

Personal Stuff

My hobbies include cycling, cross-country skiing, hiking, mending houses.

Take a look at some not-so-recent photographs

Old AOP Examples
OGI Symposium on Software, Science & Society Website
Andrew's home page from Digital
Andrew's Bookmarks
Tenure Review Materials (~2004)
Newer cv (2020)

Andrew P Black
Most recently updated: 05.11.2021 at 11:59