Just having a discussion then - should computer science not be considered a science but a 'craft' or 'art'?
Having just finished an undergraduate double major in Mathematics and Computer Science, and having spent 3 of my 5 years getting a degree working part time in computational biology, participating in a summer biostats program and doing an internship at a national laboratory, I think I can say, with no reservation, computer science most assuredly is NOT a science.
The problem is they don't know what to call it to be taken seriously. It's closest cousin is most definitely mathematics, and math is usually considered an art. But math is pretty much the only thing that can be called an "art" and still command a lot of respect among the technical crowds. There isn't enough science in it to be a science. There isn't enough process in it to be considered engineering.
Most CS curriculums are set by the Computing Accreditation Commission of ABET, but the accreditation is lax on requirements on the "hard" portions of CS (discrete mathematics, computing theory, algorithms, compiler theory) such that a 4 year CS degree is little more than an expensive substitution for a vocational school.
This is why places like DeVry and ITT Tech can offer people computer degrees in 2 years. Or why someone can learn everything a degreed programmer knows through books they got at Barnes & Noble. You never see a book titled "Learn Quantum Mechanics in 24 Hours!" Computer science is for the most part a technical trade. Of the two sets of coursework I had to take, computer science was rarely more than 1/2 as difficult as upper division mathematics.
There is the emerging field of "Software Engineering" but that is still undergoing an identity crisis as well. Most engineers rely heavily on science and mathematics so that they may say their design is safe. Software Engineers, however, rely on rules of thumb and process. They make essentially no use of science and mathematics, aren't licensed by the state, and aren't personally required to sign off on their designs and stake their reputation that it won't crash unexpectedly. Many engineers take exception to usurpation of the term "engineer" as it relates to building software. The responsibilities and expectations are entirely unequal.