does CS program need any accreditation??

<p>hey, quick question, guys.</p>

<p>Does a CS program in university needs any accreditation in order to be recognized by the industry?
like an engineering program needs to be accredited by ABET?</p>

<p>someone please answer me.</p>

<p>Professional accreditation is considered optional for CS programs. ABET does offer accreditation to CS programs, just as they accredit engineering programs. But ABET accreditation in CS is not considered necessary, and many well known CS programs (such as Stanford and Carnegie Mellon) don’t have it.</p>

<p>Engineers are subject to state licensing laws. Under these laws, an ABET engineering degree is legally better than a non-ABET engineering degree. Schools don’t want their engineering degrees to be legally second-rate, so they have a strong incentive to seek ABET accreditation for their engineering programs.</p>

<p>But CS is essentially unregulated. There is no legal difference between an ABET CS degree and a non-ABET CS degree, simply because there are no laws that define the qualifications of computer scientists. So schools do not have the same incentive to seek ABET accreditation for CS.</p>

<p>Employers in the CS field may be concerned about the reputation of your school’s CS department, but not about its ABET accreditation status.</p>

<p>hey Corbett, I really appreciate your explanation. </p>

<p>Is there any official examination or licensure for programmers / software engineers that requires an ABET accredited degree?</p>

<p>I don’t know of any exam companies that even care, so I’d say most examinations for software engineers don’t even require a degree in an IT/CS related field. From personal experience, my dad switched from working for a famous news organization to software engineering. He has three full shelves of programming and networking books, many certifications, and holds a better software engineering job than most.</p>

<p>

To my knowledge, the only organization with an explicit [url=<a href=“http://www.uspto.gov/web/offices/dcom/olia/oed/grb.pdf]preference[/url”>http://www.uspto.gov/web/offices/dcom/olia/oed/grb.pdf]preference[/url</a>] for ABET-accredited CS degrees is the US Patent and Trademark Office. If you want to become a licensed patent professional and deal with software patents, it is easier to qualify with an ABET-accredited CS degree than with an unaccredited CS degree. </p>

<p>Many private companies (Microsoft, Cisco, etc) offer exams and certifications to CS/IT professionals. But I’ve never heard of any that require ABET-acccredited CS degrees. As stated in the previous post, I don’t think they usually require formal academic degrees at all.</p>

<p>I strongly suggest attending an ABET-accredited CS (or software engineering) program if it’s not already a highly-reputable-but-not-accredited program. Georgia Tech and MIT’s CS programs are ABET-accredited, but Cornell’s isn’t (though I’m sure it could be if they cared). They’re all top-tier programs, so you’re safe going with the unaccredited Cornell. But Buttscratch State University may be unaccredited and crappy. There are far too many shyster programs which are really just computer programming degrees or “CS-lite.” You want the meat and potatoes. You don’t want to limit yourself. You don’t want to be up for a game-programming job and they say “how’s your vector calculus?” and you say “wha…?”</p>

<p>I don’t think having a ABET CS program is all that big of a deal…mainly because many CS programs are still part of the Math department.</p>

<p>What I would do is look at ABET CS programs and take the SAME courses so at least, you can “talk the talk” during interviews.</p>

<p>As I have stated on here before, I was a Computational Math major and I am pretty sure my major was not even approved by the CAC portion of ABET, but I made sure that I took the “core” CS courses of the CS major (along with the prereqs) and took electives so that I could “talk the talk” at interviews.</p>

<p>Well, the accreditation serves a reminder that the program covers what it needs to cover. A lot of “computer science” degrees simply teach you programming, they prepare you for the business IT world. They don’t prepare you for anything math-intensive. Those types of degrees are fine if that’s what you want, but it limits you. I like computer graphics, and that’s math-and-science intensive unless you’re just doing high-level stuff with a preexisting engine or whatever. So that would be inadequate for me and perhaps the OP.</p>

<p>oh…right. I guess I will hunt for some accredited programs then. thanks!</p>

<p>Nobody cares that much. Reading “Structure and Interpretation of Computer Programs” on your own and solving every problem would probably teach a lot you more than most courses at any university. Most programs aren’t too rigorous because a lot of programs these days want CS to be a major anybody can complete so that they can retain more students and get more funding. Most schools are vocational Java diploma mills although more selective schools are somewhat better. The average CS graduate as a result has a weak understanding of pointer arithmetic, recursion, lambda calculus, automata/complexity theory, and higher level math (abstract algebra, analysis, vector calculus/linear algebra) and therefore cannot really compete for the best jobs or for a Ph.D (maybe this is why most Ph.D. students these days are foreign–by the way, school pay a lot more to support foreign students). But by no means do you have to be among them. Practice and strive for the highest level of understanding you can achieve.</p>

<p>However, companies look for people with outstanding skills since in this job market they can afford to be selective. It is really up to you to learn as much as you can. If you want a math-heavy curriculum, take more math courses. If you feel the math/cs courses at your U are not sufficiently challenging, take graduate classes or independent studies. In any case, try programming puzzles or take on personal software engineering projects to enrich your skills beyond your peers (this is what I do) so you can stand out. Try to contact a professor and engage in research over the school year and the summer (I plan to do this). Do internships. I attend a fairly good university but you will be prepared no matter what school you attend (though better schools make it easier to prepare).</p>

<p>As for accreditation, you don’t even have to be a CS major to get a CS job. If you do very well as a philosopy, math, linguistics, physics major and take rigorous courses, you can do a MS in Computer Science and have a lot of application-area knowledge that other students will lack. However, if you go this route, be prepared to learn programming on your own and take a lot of core CS courses at your University. Your lack of a BS in Computer Science won’t be a hindrance.</p>

<p>hey IndianPwnerDude, great comments!
could you suggest me some useful books for learning CS as a beginner?</p>

<p>

</p>

<p>This is my suggestions. For beginners, “How to Desgn Programs” by Felleisen, Flatt, Findler, Krishnamurthy is a great place to start. It teaches functional programming and program design very well. (This leads well into SICP, which is MUCH more challenging.) Then you can learn Java (Head First Java is good for beginners). Get another more data-structures oriented book. Then, you can learn C using “C Programming Language” by Dennis and Ritchie (a classic).</p>

<p>You don’t learn by readng books; you have to program. Do many of the exercises in the book and by the time you are in college, you will be quite ahead of your peers. Having solid prior experience pays off all 4 years, seriously.</p>

<p>Also, reading books can get boring; by the time I was half-way through when I first started programming (8th/9th grade), I just started on personal projects.</p>

<p>

Not then. It’s an option.
They said they will cover all - but the teaching is done by a human, the professors. Whether they teach the stuff or not, it’s up to them.
Don’t light too much hope on accredited CS program. Hunt a few reputable programs - they are good. What you need is do the stuff outside the classroom. This way you will encounter interesting questions that you might not learn from your textbook or your professors.</p>

<p>I have never ever learned a language by reading an entire book on it. What I always do is look up some simple programs. For example, look on how to calculate pi, hello world, small IO programs, etc. These will help you figure out the syntax of the program and the structure of things like loops, objects, things like that. Of course, you must program as the posts above have said, and the more programs you write the better you will be. When you get stuck, look on the documentation, it’s the best ‘book’ you can use.</p>

<p>Well it’s kind of personal I guess. I need multiple references to understand things. Some documentations are just poor. In terms of C++, beginners have hard time understanding the references. For example, when I started learning C++ I constantly hit these int** and I went crazy until I know what that meant.</p>

<p>I need a book, the Internet, the reference, sample source codes, professor, and my own effort.</p>