These days, many colleges and universities in California standardize on Java as the introductory programming language. The problem with this is that Java is an object-oriented programming language, which requires one to already know basic programming to intermediate programming before being able to tackle it with new OOP concepts in introductory material. Many may argue against this, but I have tutored and worked with countless students that are so confused in these courses that use Java as an introductory language.
Before we were blessed with Java, many introductory courses taught the basics in programming languages like BASIC. I really recommend that approach as students can learn branching and control statements, logic, arrays, and sub routines without the burden of strongly typed languages.
Object oriented languages (C#, Java, Smalltalk, etc.) have their place in the world, but not for an introductory course.