JIM HOOVER'S HOME PAGE

Department of Computing Science
University of Alberta
H. James Hoover
Professor Emeritus of Computing Science
jhoover@ualberta.ca
http://www.ualberta.ca/~jhoover
Hair today (1990) ... gone tomorrow (2011).


NOTE: I retired in 2014-07-01, and I'm no longer involved in supervising students or postdocs.

When I'm asked what I do as a retired professor my reply now is:
My job is still to keep the next dark ages at bay as long as possible.
I just have a smaller number of more satisfied customers.
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.

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 - not very well so far as expressed by Cory Doctorow's notion of enshittification.

Some new words to describe our world.

John Shillington, on 2025-05-31, coined the following superb terms to describe the quality of tools, of any type. We strive for Zuhandenfreude, the web delivers us unto Zuhandenfrust, and every software update generates Zuhandenbruch.

  1. Zuhandenfreude (n.) Pronounced: zoo-HAHN-den-froy-duh [IPA: /tsuˈhandn̩ˌfʁɔɪ̯də/]
    The quiet joy and reverent gratitude that arises when a tool, long familiar and perfectly suited to its task, disappears into use—only to reveal its excellence in moments of graceful, seamless function.
    It is the feeling of being at home in the world through things—not because we attend to them, but because they let us act without resistance. A word for when the ordinary becomes luminous through doing.

  2. Zuhandenfrust (n.) Pronounced: zoo-HAHN-den-froost [IPA: /tsuˈhandn̩ˌfʁʊst/]
    The quiet frustration or dismay that arises when a tool refuses to disappear into use—drawing attention to itself through poor design, awkward fit, or constant failure to serve its intended function.
    It is the sense of alienation from the world of things, when what should be seamless instead becomes obtrusive—a door handle that sticks, a pen that skips, a login screen that forgets you. A word for when the ordinary becomes clunky, obstinate, or unkind through doing.

  3. Zuhandenbruch (n.) Pronounced: zoo-HAHN-den-brookh [IPA: /tsuˈhandn̩ˌbʁʊx/]
    The sudden rupture in the flow of practical activity when a once-transparent tool or object fails, disappears, or misbehaves—revealing itself no longer as an extension of the body, but as a separate, obtrusive thing.
    It marks the transition from ready-to-hand to present-at-hand—a moment when the world stutters, and the smooth hum of being-in-the-world is replaced by awareness, problem, or repair.


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


Teaching Interests

CMPUT 325 - Non-procedural programming
Syllabus
Course Schedule (Work in Progress)
Functional Programming Notes
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 my working notes, no warranty expressed or implied.
Arduino Intro Exercises
Tangible Computing Course Notes
These are based on the original notes that Mike Bowling and I developed in 2011 for CMPUT 274/275, an intro course for Honors Computing Science students. The material remains relevant.

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 C source code for Mizar MSE 2000. No warranty, but it did compile and run for me in 2015.



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..."

Version 2014-05-26 Updated retirement info.
Version 2014-01-04 CMPUT 325 web pages added.
Version 2018-08-10 No more office!
Version 2019-03-07 Turing Tumble added.
Version 2022-09-29 Added note about not accepting students or postdocs. Fixed some typos.
Version 2022-10-16 Python Taxonomy demo with data structure vizualization added.
Version 2022-10-17 The X-machine added.
Version 2023-04-24 Notes on Python sorting added.
Version 2024-04-27 Mizar MSE 2000 source code uploaded.
Version 2025-06-01 Added John Shillington's new tool words.