My independent work in college was on interfacing micro computers with mechanical devices. Most of the work was in assembler language on an S-100 bus CP/M computer tied to some simple devices. In one project, for example, I used an ultrasonic range-finder stripped off a Polaroid camera (brand new auto-focus technology, for the time) and put it on a stepper motor. I wrote a program to turn it into a radar that painted a picture of the room on the screen. In the next iteration, I experimented with having it control a "gun" (a pencil on a stepper motor) and keep it locked onto a moving target in the room. Seems pretty basic but it was not that easy in 1982 (also, coincidently, the last year I ever ran a mainframe computer program from a card deck). In the spring of 1983, we programmed electronic devices that managed various functions on an N-Scale model railroad, a dream class for me given that model railroading has always been my preferred hobby.
Anyway, in this context I thought this was really cool: A Lego robotics machine that solves the Rubiks cube.