Department of Computing Science
University of Alberta
H. James Hoover
Professor Emeritus of Computing Science
Office: Athabasca Hall 3-08
Hair today (1990) ... gone tomororow (2011).

When I'm asked what I do as a professor my reply now is: "My job is to keep the next dark ages at bay as long as possible."

Life is too short to waste on fancy web pages. My previous pages were a mess, and many of the links were broken as a result of a file system reorganization, so it made sense to retire them.

But one still needs to put things out for public consumption. So what to do? Well, my children seem to never navigate, they just query and get there directly. Even on their computers, they just type into the search box to run an application. So why not make Google do the work for you?

My goal is that you should be able to find stuff on my site with a simple search query rather than navigating about. We shall see how this works out.

Quick links are still a good idea if they capture defaults for part of your audience:

Teaching Interests

CMPUT 325 - Non-procedural programming
Course Schedule (Work in Progress)
Functional Programming Notes
Week07.zip sample programs, DOS format
Concrete or Tangible Computing is a work in progress that uses the Arduno platform to present a unified core introduction to Computing Science. Here are the working notes, no warranty expressed or implied. We are currently using these notes in CMPUT 274/275 our new intro course for Computing Science students. This work in progress, along with our expanding Arduino software library can be found here:
CMPUT 272 - Introduction to Logic in Computing Science, Hoover and Rudnicki version
The online logic part of the course
.zip of online logic part of the course
The full course notes from 2002 (pdf).
Example 1 of Proof By Induction for Math Students
The Course Browser Project We have over 7000 courses at the University of Alberta. As a student in an increasingly interdisciplinary world how do you navigate the web of courses? Here is a prototype developed by my MSc. student Camilo Arango Moreno for his MSc in 2009. Camilo is now at Google. The prototype application is written in Flex, and you try running it here CB1/main.html His thesis describing the project and user studies is CamiloArangoMorenoMSc2009.pdf

Research Interests

Note to prospective students:

I am a member of the Software Engineering Research Lab which consists of four faculty members: myself, Abram Hindle http://softwareprocess.es/static/SoftwareProcess.es.html, Eleni Stroulia http://www.cs.ualberta.ca/~stroulia, and Ken Wong http://www.cs.ualberta.ca/~kenw.

M.Sc. students who are interested in Software Engineering can join our research group on arrival. Normally you won't find a supervisor or thesis research topic until you have taken at least one term of courses in our graduate program, at least one of which has something to do with software engineering. We also expect you to show up at the regular weekly group meetings to get an idea of what research projects are going on.

The Software Engineering Group has no direct control over admissions to the Department of Computing Science. Please direct your bureaucratic inquiries to http://www.cs.ualberta.ca/programs/graduate/. But don't hesitate to drop us a note when you have started the application process if you have any questions or simply want to attract our attention. For students interested in a combination, such as AI and Software Engineering, or Graphics and Software Architecture, we often do co-supervision.

We scan the pending applications regularly to identify promising students. When you apply for Ph.D. studies you must have a supporting supervisor. We will review your application and contact you after you have passed the initial application steps. If your application is in progress and you don't hear from us, send us a note.

Because I will be retiring from the U of A on June 30, 2014 I'm not accepting any new students.

Spam note: Because of the insane amount of junk mail that is being sent to me I have spam filtering in place. In particular, if you send me mail from a hotmail or yahhoo account it might be silently dropped.
We live in a society exquisitely dependent on science and technology, in which hardly anyone knows anything about science and technology. This is a prescription for disaster. We might get away with it for a while, but sooner or later this combustible mixture of ignorance and power is going to blow up in our faces.
Carl Sagan
Technology, like music, is enriched by variety.
Henry Petroski in Small Things Considered: Why there is no perfect design, p 192.
"So little time, so much to waste..."
Jim Hoover on Facebook

Version 2014-05-26 Updated retirement info.
Version 2014-01-04 CMPUT 325 web pages added.