What subjects do you study when you major in Computer Science?

I looked over the curriculum at one university, and I'm confused. Do you study programming languages? If so, which ones? Please describe in detail what is studied.

Also, with all the "app" programming popularity for phones, is this covered in a B.S. in CS, or is this a separate study?

I am an older person looking/needing a career change. Unfortunately, my degree is in Music, but it didn't matter most of my life because I worked in the family jewelry manufacturing business. I also took some courses in programming, such as Assembler, Cobol, etc. However, I have no actual job experience with them, and things sure have changed.

What can an older person study to make them "attractive" to employers? Thanks in advance.
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

käµfm³d 👽Commented:
You don't study specific programming languages--don't get me wrong, you will learn some, but not in depth--but rather language theory:  How does a computer convert a language into actual machine code; how does a parser work; how does a compiler work; etc.

As far as apps, I cannot say as I was in school just before apps hit the mainstream. It's probably more of an elective if anything.

As far as curriculum in general, when I was in CS we studied math (I'm sure that's obvious!), data structures and algorithms, computer organization (e.g. what assembly language is, how a processor works, how memory works, etc.), and language theory. Just keep in mind that CS is mostly theory. Information Systems (IS, or its equivalent) is more of a practical curriculum.

I think as far as how to be attractive to employers, you need to consider what you like doing and what the market wants. Mobile is hot right now. But you don't have to have a CS degree to be a mobile application developer. Android tools and learning materials are free. I'm not certain about how Apple works, though I know that you do need an Apple machine to write and compile the code--at least last time I checked. I think you're biggest roadblock may be the experience, especially if you are older. Also, depending on how old you are, you may want to consider if taking on the debt of school is going to pay off.

I'm not trying to discourage you in the least.
Anyone can studay no matter what age you are in.
It really depend to UNI you are in. Different UNI provide different study program.
But some common programming language UNI will use to teach u the foundation is
C, JAVA, assembly langauage,SQL, AI, etc and some theory in programming structure, Im not sure for now because the time i study smart phone is not that popular yet.

what i can say is UNI will teach you the foundation and if you want to get more you need to explore yourself. There is alot of programming language out there and i dont think they can teach you all. All programming language are more or less the same. the only different is the syntax.  

I think if you like programming you should focus more in web programming. if you are good at it. No matter how old are you , you can get a job just like that.

The good things about learning programming as your career is that you dont need to be experience only after you graduate. Reason is because you can practice it at home. What you need is a computer and the program of the language.
Maybe "CS is to Music Theory, as programming apps is to 'being a musician'." (I don't know if that's true since I have no significant musical background, but it feels right to me as someone who's been in IT/IS for 40+ years.)

A musician can probably play a piano, guitar or saxophone, perhaps by reading sheet music or perhaps by ear, Music theory, though, does not actually require, nor necessarily even expect, that an ability to play an instrument exists.

That's kind of like how studies in CS relate to programming. In general, a programmer is 'a musician', i.e., practical application of methods and techniques, commonly with some direct interaction with "the real world". But CS is more commonly "ivory tower". Programmers use the tools designed and possibly created by the efforts of CS grads.

To study programming in one or more programming languages and receive a degree, you'd likely run into various introductory CS courses. E.g., I had some number theory, statistical methods, general systems analysis, basic algorithms and various others. But it wasn't necessary to examine or generate proofs of algorithm design correctness nor various other more specialized activities. Nothing requiring significant calculus for example would be required for programming, while it can be a core need for a lot of CS.

This is an attempt at categorizing rather than giving absolute specifics. Different degree programs at different universities have different structures. Knowing which track at which university might be needed for an actual detailed answer.

Ultimate Tool Kit for Technology Solution Provider

Broken down into practical pointers and step-by-step instructions, the IT Service Excellence Tool Kit delivers expert advice for technology solution providers. Get your free copy now.

Here's a simple answer geared towards your own line of questioning. Having a degree in Computer Science might not be the best way for you to travel (says my instinct). I looks like you're a hands-on guy, and Computer Science at University level IS SUPER SUPER DRY. It's mostly higher theoretical stuff related to math, statistics etc.
I'm a hands-on guy myself, and so I dropped out to be more hands-on. Sounds like specific courses might be better suited for you.
If I'm wrong, and you like dabbling in thick books, and reading up on theories of theories of theories, and it doesn't make you dizzy, having an extra title in front of your name could be just what you need.
käµfm³d 👽Commented:
I just remembered that some universities, like MIT, are putting up videos from various courses that can be freely watched. You won't get course credit, but you can at least get a feel for what the subject matter is. You might check to see if the college/university you are interested offers the same.

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
Jeffrey Dake Senior Director of TechnologyCommented:
Different schools take different approaches.  While I would say certain languages are not necessarily taught, but concepts on how to use them. Schools teach about data structures, and programming  concepts like inheritance and design patterns. Some schools are definitely more hands on than others, so I would definitely find out about programs you are considering.  I went to a very hands on school, so they do exist.
sheana11Author Commented:
Very helpful and honest feedback/info. Thanks!
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today

From novice to tech pro — start learning today.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.