Like Ed, I also liked TECO back before there was vi. However we got real
work done with it. We had TECO macros to split loadfiles into ROM
programmer files which we had to generate for releases to manufacturing.
It goes without saying (but I'll say it anyway) that I like flash memory
so much more
Not to diminish the real value of a live classroom experience but there
are several books that focus on algorithms + data structures in C.
There are also articles by Dan Saks that demonstrate C, data structures
and the code generated. I'd also be surprised if there weren't some
online recorded