We're using JOS lab assignments in the master's OS class at University of Washington this quarter. I think the labs are quite good at illustrating basic OS principles through having you implement the core functionality (paging, interrupts/exceptions, user mode environments, scheduling and context switching, etc.). Some of the hairy x86 scaffolding C and assembly code is provided - you concentrate on the core OS functionality. The downside is you don't learn how to write an OS completely from scratch, and more reading of x86 manuals would be required.
I disagree that you completely wasted your time in college - sounds like you enjoyed yourself!
I disagree that you completely wasted your time in college - sounds like you enjoyed yourself!