# Is there a computer science certification program outside of academic programs?

Nowadays, the standard way to learn computer science is at a university, though a formal computer science degree program or at least coursework. What I've been wondering is if there is a certification program or exam that exists outside of academia, or at least outside of traditional degree programs, that certifies that someone has mastered the basics of computer science (i.e. looping and branching, pointers, data types, recursion, stacks, queues, automata, Turing machines, Lambda calculus, etc.). Does such a program or exam exist?

To be clear, I have found many exams and certification programs that cover various programming languages and professional areas of computer work (e.g. repair, administration, management, etc.), but that's not really what I'm looking for. Someone certified in J2EE enterprise development or in Oracle 11g administration may be competent to hold an industry job but does not necessarily have a foundation in the theories of computer science (may not know the difference between a context-free grammar and a context-sensitive one, may not be aware of the proof of the Halting Problem, etc.). What I'm looking for would match at least most of the following criteria:

• Can be studied for independently, without needing to enroll in formal university coursework.
• Is focused on computer science theory rather than practical or professional skills (e.g. debugging VBScript, writing Oracle queries, or building 3-tier enterprise apps in LAMP).
• Leads to some sort of recognized certification or qualification in computer science that, combined with an academic degree in something else, could be considered equivalent to a degree in computer science.

I am aware that essentially all of computer science can be studied independently without the assistance of a university, but that path does not normally lead to any sort of formal educational credential of achievement. I'm looking for something along the lines of, "Yes, my degree was in history with a minor in sociology, but I passed the International Competency Examination in Computer Science Theory with a score of A, so I'm at the same level as a typical computer science graduate."

I am also aware of so-called "coding boot camps" that largely exist outside of academia, but those are still sort of an opposite to my question. They exist to impart and certify professional competency (e.g. iOS mobile app development in Swift) rather than computer science fundamentals.

• I hope that the answer to this is "yes", but I'm unaware of one.
– Ben I.
Dec 15, 2021 at 19:39
• @ben exactly. There are way too many professional certification exams in this scripting language, that database, or that other API that clutter up resumes and job boards but I've never found a product-independent certification on stack frames, graph traversal, Lambda calculus, or b-trees. Dec 15, 2021 at 19:55
• And Coursera offers actual degrees from good universities: coursera.org/degrees/computer-science Dec 15, 2021 at 21:58
• Since any degree-type credentials would have to be backed by a credential-issuing institution, such as a university or college, I doubt that such a concept would work without the degree coursework. The closest thing might be to "test-out" of the coursework and convince the university to grant the degree. Without the backing of an institution, and such credentials wouldn't be acknowledged by "industry," hence defeating the purpose of having one in the first place. Dec 16, 2021 at 6:58
• What does CS certification mean outside of programming? I think your question is similar to "Can I get a physics degree outside of academia?". Jan 4 at 15:13

If you do not agree with Industry based Certifications like those offered by Microsoft or other Independent online learning providers, then what you are really asking is "Is there is an institution that will grant me a Degree if I pass their exams even if I didn't attend their classes".

The answer is then no, a Degree or Qualification is only recognised by industry and other providers if they trust that the Provider and their academic process. The certificate does not verify your knowledge, it verifies that you satisfied the attendance, knowledge scaffolding and assessment requirements of that institution.

Is focused on computer science theory rather than practical or professional skills

and

Leads to some sort of recognized certification or qualification in computer science

That is really a practical definition of an institution that separates them from independent vendors, that they are Recognized as a place that teaches CS theory, we don't check, we just know their name and expect their standards are greater than ours. Not all universities are recognized and of those that are, all are not equal.

Many universities will offer credits for prior learning and experience, that may allow you to skip over entire subjects, but that is probably as close as you can get. If you have read all of the prescribed material and can demonstrate a level of proficiency and you might get a few more credits but you must still enroll and still complete the remaining units to achieve their qualification.

### Is it necessary? What does it mean to be Industry Recognised?

Industry in general is practical, a CS graduate with no experience will require an investment of time to bring them up to proficiency in the workplace, a degree alone is not an indication that they can be proficient or even able to perform the necessary role, it is a reasonable standard but it is only a start point.

Someone who has already demonstrated many years performing the expected role, and can show a high level of proficiency may not take much time to on-board into a role at all.

Even if you have a CS degree, the next step should be to continue your education, either formally or by gaining other industry recognised certifications in the area that you wish to pursue.

Some certifications like the Microsoft Learning Certifications are very recognised in industry as a substitute or indication of experience. The same thing goes for different programming language based certifications, they indicate a level of experience or proficiency in that language, they are not a substitute for a formal CS degree. However an Advanced C# certification for instance, is hard to attain without a sound understanding of the concepts from your definition:

...looping and branching, pointers, data types, recursion, stacks, queues, automata, Turing machines, Lambda calculus, etc...

There is of course much more packed into CS, but industry will generally view a CS degree as a blank slate, someone who has been formally trained in how to learn and will have been exposed to and may have an understanding of basic CS concepts and nomenclature.

Industry recognised certifications certify a level of proficiency in a specific skill or operation, if these proficiencies align closly with the expectations of a role, then that cadidate may rate higher than a CS degree with no experience.

It's very likely that the most pragmatical approach is that you reach the employment and labor programs office "near" to you, I mean the one that could help you due to your nationality or place of residence. I'm afraid that in computer science field, it's very likely that they will point you to places sponsored by foundations linked to Industry leaders like Oracle, Microsft, Google. Hopefully there might be programs supported by public funds but they usually are pointed to the education system.

I don't know how the initiative of having a compentency based system to develop a work force that meet the employeers requirements have reach employers and educators related to computer science. This system have a competency framework used to structure a set of national standards for competency. Each competency standard set the competency assesment requirements that include knowledge, skills and values.

Several years ago the International Labor Organization, the United Nations and others promoted the creation of the above system. Unfortunately there isn't much about this in sites like Wikipedia, I have only found this article Competence (human resources), and most of the search results that I have found are pdfs (very likely they are obsolete), point to old websites which the original content is not in English like https://www.eccc.edu.pl/ (European Digital Competence Certificate) or point to sites focused in other disciplines like Health Sciences.

# No, because those things are irrelevant in the real world.

Simply put, things like the Halting Problem and "context-free grammars" (whatever those are) are more or less irrelevant in the "real world" of employment. The only people who really care about them are academics working in the Ivory Tower of academia, so the only certifications for them are academic ones. If there's some oddball specific technology that actually cares about some specific mathematical concept, you can just get a certification on that specific technology.

Ultimately, professional competency is the only thing that really matters, since the role of the educator is to prepare their students for the workforce.

• That is an awfully narrow view of education. Dec 17, 2021 at 22:41
• @Buffy I think that taking any other view is to do a disservice to the students and the taxpayers that fund their education. Dec 17, 2021 at 22:41
• CFGs irrelevant?! Seriously??!! The only (significant) language that was implemented without things like CFG led to nonsensical -- by today's standard -- bugs like this. More significantly, after this goofup things changed enough that the same Backus behind this mistake studied/created the theory called BNF (Backus-Naur form) which is mostly synonymous with CFGs. Having said that I have some sympathy with your anti-theory/math stance. I've taught this kinda stuff for 40 y and there's always more programming in my delivery than is typical
– Rusi
Dec 18, 2021 at 3:36
• When did the halting problem become irrelevant? You can't code for more than an hour without running directly into it. It's the direct reason for many of the language constraints and compiler errors you deal with every day. The halting problem proves that we can't know, outside of some trivial examples, whether any particular line of code will ever execute short of actually running the program. if (x<5) {int v = 5;} if (x >= 5) {int v = 8;} print(v); is an error at the last v because of the halting problem.
– Ben I.
Jan 4 at 10:53
• @BenI. That code (or, at least, its linguistic equivalent) runs in Python just fine. No compiler errors at all. Just tested it on an online REPL. Jan 4 at 20:20

If you really want a certification without attending classes from a legitimate university for your own knowledge. It happens in third world countries and their tier- 3 colleges. I can vouch by saying I have experienced this in my own surroundings, but nobody is going to say this out loud publicly.

• You can skip daily lectures.
• You can study and master whatever you want
• You just have to attempt the tests to complete the curriculum

But of course, this is not available online.