Can I get a PhD for developing educational software?

Generally speaking, you need to do more than develop software (any software) to get a PhD. Even creating a new Operating System isn't quite "enough". But the reason is subtle. An many people base their doctoral degrees on software they develop.

The issue is that, in most cases, people will, like myself, have the belief that you get a doctorate by advancing knowledge. To advance knowledge, a computer science student might write some nice piece of software, but then must show/prove/demonstrate that the software does, in fact, advance the state of the art. You have to show that the software represents a genuine advance in knowledge. That it embodies some advanced concept, not just cool coding.

I was once an external examiner in such a situation. A student in a fine German university built and utilized a certain very sweet system for allowing students to interact remotely with each other and with their professor on projects and assignments. It manages all sorts of communication, permitting effective group work for students not co-located. The university focuses on distance education.

But the doctorate was given, not for the software itself, but for the student's analysis of it and proof that it was effective and showed some new ways of thinking about group work and how it could be effectively done an managed. It was that demonstration that was the essence of the degree, though it was based on the software he built.

However, I can't guarantee that every such software-based degree has the same sort of requirements. In a lot of ways what your advisor will accept is what is actually required. But, I think that this philosophy of "advancing knowledge" rather than just "building cool stuff" is pretty fundamental and widely shared.


This might be a good research topic for a Ph.D. in mathematics education, which is a thing that you can get a Ph. D. in (see for example this list of schools offering that degrees). However, it would not be a good topic for a Ph. D. in mathematics.


I think you need to do some reading up on the path towards getting a PhD. In general, an idea that you have on your own based on knowledge you acquired during your undergraduate studies is extremely unlikely to be suitable as a thesis topic. Rather, to get a PhD you’d need to apply and get accepted to a PhD program, take classes, and find an advisor who would help you develop a research topic to work on. The advisor has to be familiar with the area you’re working on. So in order to work on a research topic related to computer algebra you’d need to be in a department where there are people interested in this area.

As for your specific idea, as someone who works a lot with symbolic math software (which I’ve used as an aid when teaching calculus among other things) I do like it a lot. Computer algebra is actually an active research topic and I know of students who did their PhD developing algorithms for computer algebra software. However, if your project consists simply of implementing known algorithms, it sounds more like you’re doing software development rather than math research. That’s not what PhD research is about (although it may be a great idea for a commercial product or open source project). But as I said, the general area is certainly one that may be suitable as a research topic, once you are in the right environment where you have access to an adviser knowledgeable in the area and other relevant resources. Good luck!