One Lab Left Out
Glen Reynolds linked this gallery of 30 awesome college labs. My favorite at Princeton was our Junior year mechanical engineering course which was basically interfacing micro computers to mechanical devices (which was a non-trivial task in 1983). There were two one-semester courses. The first was mostly software, and involved programming an s-100 bus computer in assembly language to do various things, like control an elevator. My final project was a put one of the first sonic rangefinders from a Polaroid camera on a stepper motor and built a radar that painted a blocky view of its surroundings on a computer monitor.
But the really cool part for me was the second semester, when it was software + hardware. We had to build a complete electronics and mechanical package to perform an automated function on ... a very large n-scale model railroad. Well, readers of my blog will know that model railroading is my hobby anyway. My team built a coal loading facility where the train was stepped forward one car at a time and a hopper filled each successive car to the right level with coal (or actually little black pellets). We had sensors to be able to handle certain problems the professor might throw at us, like a car that was already full, cars of different sizes and lengths, etc. That lab with the big model railroad was easily my favorite.
In retrospect, I almost miss programming in assembler code, trying to cram the code into 4K EPROMS, etching my own circuit boards.... Almost. Now my only use for circuit boards is to shear them into strips to act as railroad ties when I hand-solder track work and my only use for etchant is weathering scale sheet metal to make it naturally rusty. Pictures of the latter in a few weeks.
LoneSnark:
I great programmer (I like to think of myself as one) can write C code that matches the code size of an assembler programmer. I do mechatronics for a living, and 4k of ROM is still a lot for quite a few applications. Although, yes, chips are available with a few megabytes of FlashROM for your assembly/C pleasure.
August 27, 2010, 2:25 pmJames H:
I had a similar, but 1-semester class at Arizona State in the '90s. It was called Measurements and Microcomputers. In addition to what you describe, we would have to determine the uncertainty in any of the actions. For your project, it might be to load some specified weight into the rail cars, and determine the uncertainty in the weight at the end due to the sensors, A-D conversion, partially diffrentiate uncertainty through calculations, etc. A big part of the score on the final project and report was getting this uncertainty estimate correct. We used C programming in our class, though.
My project had to do with filling a bucket with a fluid. The user would input some desired volume into the program, and fluid was then dispensed into a bucket on a scale until the desired volume was reached (based on the weight measurement and assumed fluid density). In addition to the obvious sources of error, I had to account for the momentum of the fluid falling into the bucket, which I calculated based on the rate of change in the weight. That was a complicated final report on uncertainty!
August 27, 2010, 2:31 pmDaveK:
No, that isn't an awesome college lab... How about one where you get to blow stuff up... for real!
My university offered an Ag Engineering class called "Use and Handling of Explosives" On weekend labs, we went out and dug ditches with dynamite, cut down a couple of trees with primacord, and got to blast stumps out of the ground with ANFO. THAT has to be just about the greatest lab class I've ever taken, or heard about!
Unfortunately, a couple of the students got a wee bit carried away with the ANFO (following the more is better model), and I got to see a stump from a 30inch diameter oak tree go flying about 150 yards through the air, then land right on top of power lines. The instructor did not have his contract renewed the next year, and the class is (Alas!) no more.
Even back then, the first day of class, we were told our names would likely end up on an FBI or BATF list, just for having signed up for the class.
August 27, 2010, 9:05 pmMatt:
Cool class. Doesn't quite measure up to whatever class prepared those Colorado park rangers that the Mythbusters once met with, whose job is to ride around in a helicopter chucking dynamite out the window, trying to cause (controlled) avalanches...but still. Cool. :)
August 28, 2010, 6:49 amBob Hawkins:
You'd like the big interferometer at the Laboratoire d'Infrarouge, in Orsay, France. It's a model railroad in a vacuum tank, with all the important components on flatcars. You rebuild the instrument as required by moving the flatcars around, without breaking vacuum.
August 28, 2010, 6:35 pmIgotBupkis:
There is a certain pleasure to writing assembly code. I cut my teeth on it on a machine -- A Varian V73 -- that had --GASP!!-- an actual hardware multiply function! They were bought out by Sperry-Univac in 1977, so the V76 was their last model.
My other fond memory was writing a symbolic disassembler in 6502 Asm for the Apple ][, along with a little number that played The Off-Blue Danube -- my own variation on the Strauss, with the Apple ][ disk drive stepper doing the final "da-duh, da-duh" of the classic "2001" phrase. If you remember the drives of the Apple ][, you'll know exactly what I'm talking about.
The last thing I did at that level was more 'c' related than assembly at the main level -- I had bought a comm library package (compiled, no source) for interfacing using RS-232. Turns out it had a stack release error which inevitably produced a stack overflow given time. Chasing that sucker down using Turbo Debugger and tossing in interrupts to halt the activity and let me see where the stack overflow was actually occurring was a day or two's work -- and it wasn't amusing when I realized it wasn't in my code. I still wrote it up and messaged the author (via BBS) to tell him where he was missing the appropriate POP action.
September 3, 2010, 6:46 ampurchase order sample:
I also think that once it is about both hardware and software, it becomes more interesting. One really feels more into the subject and lot of new ideas keep striking one's mind. One can really see his production in reality and working as per his desires. Hardware without a software and vice versa is useless. Comments please.
September 14, 2010, 1:11 amGreg:
Warren,
There are 2 Ns in Glenn. And other than that, good post. I don't envy those "archaic" days of computing.
September 14, 2010, 6:42 pm