Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Future of Computer Science

  1. May 21, 2009 #1
    Hello there,

    I wanna share my views on my field. I am a computer engineering student at a university. After doing some research about the field, i have seen that mostly innovative and new ways of computing technology and algorithms has been found by either mathematicians or physicists ( They are also called as computer scientists) And we computer engineers or scientists are very rare in the field of innovation and new technology.

    Is this because traditional computers are found by scientists ( coz they needed it ) and computer science is a new discipline. So new innovations will be made by us, the computer engineering based students and academicians ? Or the field will stay same and mathematicians and physicists will continue to dominate the domain ? We CS based students will just improve and develop software technologies only ?

    I think second idea will come true as the scientists are requiring more and more computing power and they have already discovering quantum technology which will reduce exponential complex algorithm to linear complexity. (That will make a new era in artificial intelligence as the search space will be scanned much much faster) So the leaders of computer science field will be still them according to me..

    What do you think ?
     
  2. jcsd
  3. May 21, 2009 #2

    CRGreathouse

    User Avatar
    Science Advisor
    Homework Helper

    I think the innovations will be made mostly by those in theoretical computer science (and the nearby fields of math). The 'practical' CS people will focus more on creating than innovating (which is appropriate).

    NO. Quantum computers are not known to be able to solve NP-hard problems in polynomial time, let alone EXP-hard problems. This misconception is so common that it's the masthead for Scott Aaronson's blog!

    On the other hand, you're right that quantum computing can search faster than conventional computers, thanks to Grover's algorithm. But this is a polynomial, not exponential, speedup.
     
  4. May 21, 2009 #3
    The first CS undergraduate program was at Purdue in 1968. This means that the first graduates from the undergraduate program were happening at around 1972. Say they were 22 at the time; now, another 8 years for graduate school and you're looking at 1980 for the first real computer scientists (real meaning "not something else, too")

    Since 1980, what fundamental advances have been made in the area of computing by non-CS academics? Before then, there were no computer scientists who weren't also something else by training. In many cases, mathematicians and physicists became computer scientists with the introduction of the computer.

    In summary, it's too new of a field to talk about these things in any meaningful way. In any field, someone from a related but different field can make important advances outside of their specific area of training, but this will be less common.

    If you like CS, and want to be good at CS, and want to contribute to the field of CS, my money says you should major in CS.
     
  5. May 21, 2009 #4
    I think you are limiting yourself to what you consider as 'innovations in technology'. Technology need not be a physical quantity. It can be a concept or a system, and most of these technologies in the field of computers are indeed innovated by computer scientists.

    Sure innovations in computer hardware such as faster processing, better graphics, faster internet browsing, compact handsets, dense memory, etc. are naturally (usually) the result of research by scientists in the fields of materials science, electrical engineering, electronics, telecommunications, etc.

    But a computer scientist may contribute by designing a radical new application using the latest technologies (eg. operating system design, database system design, network protocols) that will greatly change the way computers function for the better.

    A computer scientist should be well versed in advanced mathematics (at least that related to computer science). So for example, the innovation of say a new algorithm in artificial intelligence, game theory, etc. can be done by a computer scientist, not necessarily a core mathematician.

    As AUMathTutor mentioned above, the technologies/algorithms developed over decades have been formed by non-CS academics simple because CS was not a proper field at the time.

    Also sometimes, those working in practical environments also end up discovering/creating something new. It arises as a result of the design phase where minimal research is required before starting anyway.

    So you see, students of computer engineering / computer science do have a good scope ahead, especially if you consider radical innovations in the way computers work.
     
  6. May 23, 2009 #5

    SixNein

    User Avatar
    Gold Member

    I'm a dual major in computer science and mathematics. I think the computer science degree is not very strong on its own, but it is a great 2nd major.
     
  7. May 24, 2009 #6
    "I think the computer science degree is not very strong on its own, but it is a great 2nd major."

    The same could be said about the mathematics degree... in either case, I disagree.

    Why do you feel this way?
     
  8. May 24, 2009 #7

    SixNein

    User Avatar
    Gold Member

    Because computer science is a great supporting role to another major. Mathematics, physics, various engineering, and biology are cool to take with computer science. Business and other finance majors can work well with it too. By itself, it seems to lack content.
     
  9. May 24, 2009 #8
    How could you say it's lacking in content?

    At my school, you have to take 2 programming courses, a course in large-scale software construction, a course in software engineering, a course in programming languages and a separate one in formal languages, a course in algorithms, one in operating systems, one in computer organization and assembly language, one in networks, as well as all the math and circuits that goes with it.

    One could say that math is also a great supporting major for another major. I know more people double majoring in math than double majoring in computer science.

    I don't see how you could think CS lacks content. Yes, CS is applicable to many fields. But it also stands on its own as a field worthy of study. Just like math can be pure or applied, and studied by itself or in the context of another discipline, computing can as well. That doesn't mean computing is a secondary major or lacks content... it just means that CS has applications in other subjects.

    I agree that double majoring can be fun, and that's what I'm doing, but you definitely wouldn't have to.
     
  10. May 24, 2009 #9
    The fundamentals in computer science - that is, data structures and algorithms, won't change much, if any -- even as parallel hardware becomes more available. The real advancements are all happening in specific fields of "computer science," but these fields are not so much about the science of computers as they are about designing algorithms to solve difficult problems using computers.
     
  11. May 24, 2009 #10

    SixNein

    User Avatar
    Gold Member

    Computer science is mostly setup around software engineering. When you engineer software for a purpose, you need to have an understand of that purpose; therefore, you need a 2nd major. You can be a English major and become a computer scientist; however, the reverse is not true. Besides that, if you dual major, you will always have something to fall back on.
     
  12. May 25, 2009 #11

    rcgldr

    User Avatar
    Homework Helper

    My high school had a MonRobot (drum based memory) computer back in 1967-1968, and then in the fall of 1968, they got an IBM 1130 which they still had when I graduated in 1970. University of California had CS programs by then, but I don't know if they started in 1968 or later.

    So only post PHD graduate are real computer scientists?

    Getting back on topic, I'm not sure what is going on in CS graduate departments of schools today. While working for a tape company, we met with UCSD graduate students working on coding methods for magnetic media (CMRR), and a few people that specialized in error correction codes, something I spent some time with myself.

    I'm not sure what's new in the general sense for software. Multi-tasking design was figured out decades ago, so not much there. Graphical interfaces and the internet have produced some new software technology. Think C had object oriented programming back in the 1980's. There was a "4th generation" language tool called Prototype or Prototyper in the late 1980's or early 1990's for the Macintosh, sort of like Visual Studio's "draw your program" interface to generate code (but I can't seem to find any hits for Prototype for the mac doing a web search). I only worked on a couple of Mac apps while assisting a consulting group making a backup app for the tape company I worked for, but remember the tools and how antiquated MPW seemed compared to Think C or Microsoft's tools back then. Since 1987, for me it's been mostly PC or imbedded firmware development, Intel and ARM like cpu's.

    I was mostly working with operating system design until 1987, but ended up working on computer peripherals, which also use multi-tasking systems. I'm 57 years old now, and looking for a bit of a change for some more generic and current type software work before I retire.
     
    Last edited: May 25, 2009
  13. May 25, 2009 #12
    That's a false argument... so you're saying that since Math is applied to specific fields, Math must be part of a double major, or since English is only used to write about things, you must double major in English and something else, etc.

    I think interdisciplinary work is good, but that doesn't necessitate a double major. You could make exactly the same argument about any of the following fields: Math, Physics, English, Communications, and a whole host of others.
     
  14. May 25, 2009 #13

    D H

    User Avatar
    Staff Emeritus
    Science Advisor

    That's a bit too pedantic. Consider aerospace engineering. In many schools, aerospace engineering is treated as a discipline within mechanical engineering. To get a concentration in aerospace engineering from such a school one must take a lot of courses that are at best peripherally related to traditional mechanical engineering concerns. Graduates of such programs are mechanical engineers in name only; their training is very similar to graduates from a school with a distinct aerospace engineering department.

    Undergraduate computer science was in pretty much the same situation before 1968. You could get a degree in mathematics with a concentration in computer science at some schools, a degree in electrical engineering with a concentration in computer science at others. Moreover, there were distinct graduate programs in computer science prior to 1968.

    I strongly disagree. Software engineering is an even newer discipline than is computer science and has much more in common with systems engineering than it does with computer science.
     
  15. May 25, 2009 #14

    SixNein

    User Avatar
    Gold Member

    I think if you want to be strong in any area of computer science, then you have to dual major, or pick up a minor. I could drop computer science, and I could still get a job as a computer scientist with a mathematics degree. The field of computer science still has some growing up to do, and it will be weak until that happens. Researchers are still trying to decide on the best method of publishing research. Currently, it's mostly done at conferences, but some would like to see it being done in Journals instead (myself included).
     
  16. May 25, 2009 #15
    "and I could still get a job as a computer scientist with a mathematics degree."

    You couldn't even get a job as a Mathematician with a mathematics degree. You can get a programming job without any degree at all. I think you need to sit down and really think about your position. Your college major is not a meal ticket and it's not a union card.

    "I think if you want to be strong in any area of computer science, then you have to dual major, or pick up a minor."

    What about operating systems? Maybe industrial engineering as a double major to better understand scheduling algorithms? Or for computer graphics graphic design? These would be great ideas, but the point is that it's just icing on the cake, like a double major in Political Science would be to a History major studying something related to politics.

    "The field of computer science still has some growing up to do, and it will be weak until that happens."

    This is true, but it doesn't mean an undergraduate can learn everything any good university can teach them about the field in the course of an undergraduate curriculum. You can study CS without explicitly studying an application area. Why not?

    "Researchers are still trying to decide on the best method of publishing research. Currently, it's mostly done at conferences, but some would like to see it being done in Journals instead (myself included)."
    ... I've heard of this, but I have no idea how this has anything to do with the issue at hand. I agree CS is a new field and is still hammering out the details in some respects, but I don't think this is any reason to say that CS isn't a good primary major.

    I don't like the idea that CS is somehow lesser than other majors. I'm a CS/Physics double major, and I feel like I've learned a lot more actual content in CS than in Physics. And Physics isn't light on content, mind you.
     
  17. May 25, 2009 #16

    SixNein

    User Avatar
    Gold Member

    I've met computer science grads who could not do math, had no practical application, and could not write (not talking about code) worth two cents. Many institutions shell out programmers instead of computer scientists. It's a rough form of applied computer science.

    If you are an employer, what do you know about that person by the degree? At best, you know he can write a hello world program. You cannot tell because the academics are very uneven with regard to computer science. This is why you hear about people not getting a job with computer science degrees.
     
  18. May 25, 2009 #17
    "This is why you hear about people not getting a job with computer science degrees."
    I have never heard that, at least, moreso than any other major. Math, English, and Philosophy majors routinely have hard times finding jobs. The field of electrical engineering is experiencing slower growth than the average for all professions, so jobs will be relatively harder to come by for EE majors. Software Engineering and CS are growing much faster than the average, according to the BLS OOH. Programming jobs are being outsourced, but not all CS/SE jobs are programming.

    Do you have any statistics to back up any claim that CS majors have a harder time getting jobs than other majors, or is this just baseless supposition based on anecdotal evidence?

    "I've met computer science grads who could not do math, had no practical application, and could not write (not talking about code) worth two cents. Many institutions shell out programmers instead of computer scientists. It's a rough form of applied computer science."
    This is probably more a reflection on the students and/or individual programs than on CS programs in general. I'm sure there are some math programs that shell out majors who can't write a program to save their life, maybe know one scripting language, have no application outside of math, and can't write to boot. That doesn't invalidate mathematics as a major. The same for any other major you can think of.

    "If you are an employer, what do you know about that person by the degree? At best, you know he can write a hello world program. You cannot tell because the academics are very uneven with regard to computer science."
    Many employers have experience with graduates from certain programs and know roughly what to expect from them. ABET accredited CS programs teach at least the same core subjects, so your argument doesn't make much sense.
     
  19. May 25, 2009 #18

    SixNein

    User Avatar
    Gold Member

    I would start here:
    http://portal.acm.org/citation.cfm?...l=GUIDE&dl=GUIDE&CFID=680595&CFTOKEN=77604214

    I don't think you realize how specific computer science jobs are becoming. Just being able to code is not enough, and you should attempt an interdisciplinary approach.

    At least, that is my opinion.
     
  20. May 26, 2009 #19

    CRGreathouse

    User Avatar
    Science Advisor
    Homework Helper

    Perhaps because there's much more need for programmers than computer scientists.
     
  21. May 26, 2009 #20
    I think you all have really missed the heart of the future of computer science. I agree that when most people hear CS, they think either math or software engineering, but there really is much, much more to it. In my opinion, computer science will be the field of study responsible for most technological advancement in the next fifty years.

    Consider the Human Genome project. This was a CS based initiative after the initial data gathering of the DNA was done. It takes sophisticated algorithms to identify the genes in human DNA and determine the relevant subsequences. Searching has been a primary area of research in CS since the beginning and only now are these well studied techniques being applied to other very important area. And in the future, Machine Learning research will be applied to genetics to try to predict what sequences of DNA are responsible for coding different proteins.

    Another area of the future will be creating technologies for the developing world. It will be computer scientists who figure out how to modify existing computers, networks, software, etc, to make them applicable for different conditions. One Laptop Per Child has already changed the way people think about computing. And lots of people are working on creating mobile phone applications to help in commerce in under developed cities.

    I could go on and on, but one last example from a pretty different area: Robotics. Although this may seem like an Electrical Engineers area, designing the reasoning systems for robots really lies in the CS domain. Think about the DARPA Grand Challenge autonomous vehicle competition. Computer Scientists successfully created a car that could drive one hundred miles across a desert without crashing into trees, rocks, or other cars. Mathematicians and English majors and Biologists, etc, do not have the abilities to program this car. Computer scientists, however, understand how to design algorithms to interpret the data of the world, and how to represent this data in a digital way. And robotics will really be a huge area of work in the future. They are already ubiquitous and factories, and soon we will find more areas that we would rather have machines working at than humans.

    And for those of you who noticed that most advances in CS that we have heard of have come from mathematicians and physicists by training, you are absolutely right. However, by the time they advanced areas of CS, I would consider them computer scientists. When universities set up the requirements for degrees in computer science, they are trying to lay the best foundation to give students the abilities to work on the above mentioned problems.
     
Know someone interested in this topic? Share this thread via Reddit, Google+, Twitter, or Facebook




Similar Discussions: Future of Computer Science
  1. Computer Science (Replies: 8)

Loading...