In agreement with @ucbalumnus
And for the record, as far as Scheme goes, it is a similarly good intro language as python in my opinion. Brown uses a variant as well as my current school. The simplicity allows the teachers to focus on the CS concepts as UCBAlum has been talking about. You can get to recursion in the first few weeks, and understand higher order programming within recursion in your first semester. You can take those concepts and apply them to OOD after very easily with a strong founding in logic. After that, Java, C/C++, it all is just a matter of knowing the abilities of the language and working with them as best as you can.
I started in C, and while it worked, I would not recommend it. You can teach Java in parallel with explaining its design.