Which Language Approach For a Computer Science Degree?
wikid_one writes "I recently went back to college to finish my CS degree, however this time I moved to a new school. My previous school taught only C++, except for a few higher level electives (OpenGL). The school I am now attending teaches what seems like every language in the book. The first two semesters are Java, and then you move to Python, C, Bash, Oracle, and Assembly. While I feel that it would be nice to get a well-rounded introduction to the programming world, I also feel that I am going to come out of school not having the expertise required in a single language to land a good job. After reading the syllabi, all the higher level classes appear to teach concepts rather than work to develop advanced techniques in a specific language. Which method of teaching is going to better provide me with the experience I need, as well as the experience an employer wants to see in a college graduate?"
Agreed. Programming concepts are far more important than any particular language. It's important to understand at more than one programming paradigm: object-oriented programming is the paradigm de jure (C++, Java, C#, Python), but also understand a traditional imperative structured approach (C, Bash) and a functional approach (Lisp, Scheme) as well. Note that these languages are only examples: Python is actually a mixed-paradigm language that supports imperative structured programming and functional programming in addition to OOP, for instance.
My blog
Actually, you learn about bubble sort so you can understand where is might actually be a valid choice -- i.e. where you need to sort a small set in place with minimal use of stack space or other temporary storage.
Be careful. People in masks cannot be trusted.