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

Posted on 2014-08-21
Last Modified: 2014-09-11
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.
Question by:sheana11
    LVL 74

    Expert Comment

    by:käµfm³d 👽
    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.
    LVL 7

    Expert Comment

    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.
    LVL 26

    Expert Comment

    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.

    LVL 35

    Expert Comment

    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.
    LVL 74

    Accepted Solution

    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.
    LVL 10

    Expert Comment

    by:Jeffrey Dake
    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.

    Author Closing Comment

    Very helpful and honest feedback/info. Thanks!

    Featured Post

    Free Trending Threat Insights Every Day

    Enhance your security with threat intelligence from the web. Get trending threat insights on hackers, exploits, and suspicious IP addresses delivered to your inbox with our free Cyber Daily.

    Join & Write a Comment

    Suggested Solutions

    Title # Comments Views Activity
    Delphi Mdi application Child forms get behind control 7 76
    Magic Software info 18 47
    firstChar challenge 13 60
    wordappend challenge 8 56
    Does the idea of dealing with bits scare or confuse you? Does it seem like a waste of time in an age where we all have terabytes of storage? If so, you're missing out on one of the core tools in every professional programmer's toolbox. Learn how to …
    This is about my first experience with programming Arduino.
    An introduction to basic programming syntax in Java by creating a simple program. Viewers can follow the tutorial as they create their first class in Java. Definitions and explanations about each element are given to help prepare viewers for future …
    In this seventh video of the Xpdf series, we discuss and demonstrate the PDFfonts utility, which lists all the fonts used in a PDF file. It does this via a command line interface, making it suitable for use in programs, scripts, batch files — any pl…

    746 members asked questions and received personalized solutions in the past 7 days.

    Join the community of 500,000 technology professionals and ask your questions.

    Join & Ask a Question

    Need Help in Real-Time?

    Connect with top rated Experts

    18 Experts available now in Live!

    Get 1:1 Help Now