Welcome to College Confidential!

The leading college-bound community on the web

Sign Up For Free

Join for FREE, and start talking with other members, weighing in on community discussions, and more.

Also, by registering and logging in you'll see fewer ads and pesky welcome messages (like this one!)

As a CC member, you can:

  • Reply to threads, and start your own.
  • Post reviews of your campus visits.
  • Find hundreds of pages of informative articles.
  • Search from over 3 million scholarships.

What do you learn in the Computer Science Major?

dekkahsdekkahs Registered User Posts: 23 New Member
edited May 2013 in Engineering Majors
I am interested in coding and writing programs/websites and the whole technology scene. What exactly do you learn when obtaining a Computer Science degree? What skills will I most likely graduate with? What are some misconceptions? What are some myths? What are the Pros and Cons?
Post edited by dekkahs on

Replies to: What do you learn in the Computer Science Major?

  • bschoolwizbschoolwiz Registered User Posts: 351 Member
    You will learn how to fix computers. Like, every time a student on campus has a computer problem, they will call you to come fix their computer because you are a CS major.

    Just kidding! CS is a lot more theoretical than I had imagined, I have always loved computers but CS is very theoretical- Discrete Math was one of the classes I did not care for. I loved the first Java class but Programming with Objects with a Chinese professor who could not speak English very well was traumatizing.

    I ended up changing majors but just "loving computers" is not enough for you to do well in CS.
  • BeanTownGirlBeanTownGirl Registered User Posts: 2,731 Senior Member
    Read the degree requirements and the course descriptions on the website of any good college that has CS.
  • noimaginationnoimagination Registered User Posts: 7,054 Senior Member
    Here is one definition:
    Computer science is the study of software, hardware, and theoretical aspects of computing devices, along with the study of the application of computing in scientific, engineering, business, and other areas. Note that although programming is a part of computer science, it is only one part, and strong computer science programs require not only programming classes, but classes in other areas of computer science as well.
    Misconceptions? I think many people underestimate the amount of mathematical aptitude required to succeed in CSci, as well as the theoretical nature of the program.

    You can check out some example courses here:
    Class Home Pages
  • GLOBALTRAVELERGLOBALTRAVELER Registered User Posts: 2,892 Senior Member
    Let me give you a few items that related to a few of the core CS courses.

    Algorithms & Data Structures - These areas relate to how to construct and evaluate efficient algorithms and how/when to use the correct data structure for optimal results, INDEPENDENT of a certain programming language.

    Organization of Programming Languages - Gives you an overall view on how programming languages act in general and the certain differences of some of the more widely-used languages.

    Operating Systems - Shows you how does an operating system (in general) interact with the other software and/or languages. If you have been working on Windows applications for years, you will be able to pick up a Linux/Unix-type operating quick because both Windows and Unix have a LOT of similarities...only the syntax and/or process is different.

    What CS gives you (as opposed to I.S. or I.T. programs w/o a lot of pure CS) is the ability to adapt to new languages and operating systems much faster and easier and knowing how to apply the right algorithms and data structures.

    Not too long ago, one poster asked "Why is my CS prof giving an assignment on updating part of a Linux kernel??" Well, modifying Unix/Linux kernels is the main task when it comes to the whole "Open Source" thing.
  • aegrisomniaaegrisomnia Registered User Posts: 1,026 Senior Member
    I am interested in coding and writing programs/websites and the whole technology scene.
    Creativity and initiative will help you if you choose to go with CS. However, programming and web design and an interest in technology are neither necessary nor sufficient.
    What exactly do you learn when obtaining a Computer Science degree?

    Introductory programming - structured programming with loops/recursion and decision handling.

    Programming languages - object oriented programming with an industry-standard language (C++, Java, etc.); exotic languages and paradigms like Prolog or functional; shell scripting.

    Computer organization and architecture - parts of a computer, especially CPU, memory and interconnection; caching; instruction sets and assembly language.

    Computer systems - operating systems, including process scheduling and memory management; networking, especially TCP/IP and network protocols; databases, usually some implementation of SQL.

    Algorithms and data structures - correctness and complexity of algorithms; data structures and operations.

    Mathematics and theory - discrete mathematics, logic and proof; automata and formal languages; computability and complexity theory; exotic computing paradigms; limits of computation.

    Software engineering - process models; quality verification and assurance; software development tools and environments; source control.
    What skills will I most likely graduate with?
    Strong analytical ability and attention to detail.
    Ability to understand a system at different levels.
    Able to understand and use abstractions effectively.
    (Able to communicate effectively)
    What are some misconceptions?
    That you'll know how to fix people's computers, or find it interesting. You'll be about as qualified as a math major would be to fix a calculator, and you'd find it about as interesting.

    That you'll automatically have an interest in all things new technology, and keep up with all the latest trends. In reality, your being a CS major will have little influence on whether some new technology is interesting to you or not.

    That you'll be learning about programming and using computers, and won't take math and science like engineers do. In reality, you'll take more and more advanced/modern/fundamental math than most engineering majors, the kind most people will never have heard of before.
    What are some myths?
    See above.

    [/quote] What are the Pros and Cons? [/quote]
    - Great outlet for creativity
    - Rich theoretical basis
    - Plenty of unsolved but comprehensible problems
    - Applying what you know requires only a cheap computer, not sophisticated equipment
    - Software engineering is a growing and well-paying field
    - Like all STEM majors, not everybody's cut out for it
    - Programming is a tool you must master, and not everybody can
    - You have to remain current in your skills
    - Quality of CS programs & jobs are more variable than for engineering majors
  • ucbalumnusucbalumnus Registered User Posts: 76,186 Senior Member
    A common misconception is mixing up CS and IT/IS/MIS. CS is about designing computers and their software, while IT/IS/MIS is about managing computers and their software. A CS graduate should be able to handle the technical aspects of IT/IS/MIS more easily than the other way around, though IT/IS/MIS involves more "business" type of stuff.
    - Quality of CS programs & jobs are more variable than for engineering majors

    So is the productivity of computer software developers -- it is generally accepted that there can be an order of magnitude of difference in productivity between developers (and the worst can actually have negative productivity by introducing bugs that require more of others' effort to fix).

    However, high productivity developers do come from all kinds of educational backgrounds, including self-education.
This discussion has been closed.