My CS class in HS was in C++ (Turbo C++ in DOS mode with the Borland graphics). I'm undecided as to whether it was the best approach. On one hand I appreciate learning it. On the other hand, it makes you think too much about the computer to appreciate the algorithm.
I learned algorithms from Segdewick's "Algorithms in C", and had a different experience: I really liked understanding the algorithms and data structures right down to the level of bytes in memory. It felt... less magical. In a good way.