I am a senior at Worcester Polytechnic Institute. After asking another question on this website, I have decided to become a professor of practice. To do this, I will pursue a Ph.D.

A Ph.D. project that I have already started in my free time this summer is developing an application and website that would help with calculus education. The application has

  1. A computer algebra system which solves the calculus problems
  2. A system which shows the work that the computer algebra system performs
  3. A system which gives hints for the user
  4. A system which allows the reader to type in each line of their work for the system to check for correctness and possibly identify the reason the answer is incorrect. This would include a system which would allow the user to draw graphs with their mouse for curve sketching problems.
  5. A website where the application would be available for free use.
  6. If there is still time left, typed notes and maybe even video lectures to correspond with the application.

I already have done 3,014 lines for the computer algebra system over the summer and I would love to make this my research project. I think that this would make an awesome research project because I would do it even if I didn't get a Ph.D. (I originally was considering making a level with the website as an alternative to the Ph.D.)

However, I worried that it would not be eligible as a Ph.D. project because I'm creating something rather than discovering a new theorem, numerical algorithm, or mathematical model. This made me even consider not getting a Ph.D. as my previous experience with research in numerical analysis was not enjoyable.

  • 19
    Do you plan to do any evaluation of whether it works in terms of students understanding calculus better than with a control such as a textbook or conventional class? Commented Aug 26, 2019 at 9:46
  • 12
    Complete side note: Is there a specific reason you are developing your own computer algebra system instead of using an existing one? As far as I can tell, this does not seem to be your main focus and it is certainly quite a lot of work.
    – Wrzlprmft
    Commented Aug 26, 2019 at 9:46
  • 23
    Have you done a literature review on what similar approaches have been attempted before and how your proposed approach would be different from all of that? Novelty is IMHO the main distinguishing factor why many interesting practical projects are great for a lower level thesis but not suitable for PhD level research.
    – Peteris
    Commented Aug 26, 2019 at 11:09
  • 37
    Imho, 3k lines is not a lot of code, so don't use that as a motivation for your phd (which would be far more work). Personally, I have more than once written something of that magnitude and just walked away from it with no particular emotion.
    – KlaymenDK
    Commented Aug 26, 2019 at 14:54
  • 9
    The actual advice: Find an adviser, etc. But I'd like to nitpick on computer algebra part. I happen to have a PhD for developing parallelisation approaches for computer algebra algorithms. Developing a somewhat capable computer algebra system is a multiple man-years effort, probably in hundreds of man-years, if you want it to be general enough. A core can be done-ish during a PhD, but barely anything else. My point: there are a many existing computer algebra systems. Some are open-source. The trend few years ago went into combinations of systems. Look at SAGE, Magma, GAP, GiNaC, etc. Commented Aug 27, 2019 at 19:07

9 Answers 9


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.

  • 1
    Alternatively, the process of developing the software might be the focus of the dissertation, especially in more of a "software engineering" track. Commented Aug 26, 2019 at 17:23
  • 9
    @chrylis: If that process advances the state of the art, yes. Otherwise, still yes...but it should be a master's dissertation, rather than a PhD dissertation.
    – Brian
    Commented Aug 26, 2019 at 18:42
  • 13
    A colleague of mine got a PhD for developing a CRUD application for biologists to enter the results of their experiments. But that was back in the 80s where stuff like that actually was revolutionary.
    – Philipp
    Commented Aug 27, 2019 at 7:48

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.

  • 50
    Even for a mathematics education degree the main components of a thesis would usually be not the software system itself but the methodology (and the theoretical/experimental backing of that methodology!) of the particular education elements that the system supports.
    – Peteris
    Commented Aug 26, 2019 at 11:04
  • 5
    @Peteris right, and you could do this even if you didn't develop the system yourself. A rigorous evidence-based investigation into the effectiveness of a pedagogy or pedagogical tool someone else developed (but hasn't shown to be actually effective) is real research. Commented Aug 26, 2019 at 15:14
  • Might also work for Comp. Sci. ?
    – WGroleau
    Commented Aug 26, 2019 at 15:54
  • 6
    @WGroleau I would be skeptical about this project fitting the Ph.D. in Computational Science (if that's what you are talking about) or Computer Science. Both those disciplines would tend to have similar criteria as for the Ph.D. in mathematics, as opposed to Ph.D. in math education. Commented Aug 26, 2019 at 16:17
  • 3
    @WGroleau I'm a computer scientist. I've never heard of anybody doing a software project instead of a dissertation. Commented Aug 27, 2019 at 21:10

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!


Having fairly recently completed a PhD where the main anchor was the creation of a piece of software, you will find the software alone will not be enough of a contributing factor to be awarded a PhD. (That said, you may be successful in your defence of originality and contribution with software alone, but it's very subjective and country specific. I highly doubt it, though).

What I found was while the development of the software did form several chapters, the methodological approaches I adopted and enhanced were unique enough to form an original contribution. Here are some suggestions for those looking to create software for their PhD can do:

  1. Adopt solid software engineering principles and follow rigorous methodologies. Can you perhaps extend this methodology and propose a new one for your domain, thus making an original contribution? Can you then defend your proposed methodology?
  2. Your software is, arguably, an original contribution but is very unlikely to pass any form of defence if you just code dump. It will be a tremendous help and go some was to successfully arguing and defending your methodology.
  3. Does the creation of your software pose any research questions on the periphery, so to speak? You mention this is educational software, so you can research the pedagogy of using software as an educational tool. What has the literature previously shown us and what does your approach contribute to this body of knowledge?
  • > software alone will not be enough of a contributing factor -- I agree with your for the majority of cases. Mostly, it's either the novel design decisions, incorporated in the software (i.e., the algorithms) or the result of computation (data too hard to obtain elsewise). Commented Aug 27, 2019 at 19:09

I literally just had a class that touched on this subject today as a part of the Introduction to Research unit I'm taking as a part of my Master's Degree.

Basically, the goal of research is the creation of new knowledge. If you're not creating new knowledge, you're not doing research, you're doing development. So, the question you have to ask yourself is this: once you take all of the artefacts like data sets or software programs that you've created away, what is left? What is the new knowledge you've created?

Have you created a new process for solving a particular problem, or discovered a method for improving an existing process for solving it? Have you uncovered some facet of how a complex system functions? Have you discovered new insights on how humans interact with systems, or how systems interact with the world around us?


I have a Ph.D. in Computer Science from an Ivy League school. Throughout my Ph.D. program, I focused very heavily on developing educational software like you are proposing. I succeeded, but there were some big challenges on the path.

First, the most important thing to my success is that I was able to find a Ph.D. advisor who really believed in what I was doing. I can't stress enough that this was key and it didn't happen through walking into an office and just asking someone who seemed like a fit to advise me. I failed with three other professors before one became interested in my work and willing to guide me, back me up, and help me find funding.

Second, for the first few years of my program, when I would show off my latest work, I was plagued by the repeat question, "That's really great, but where is the research?" As other answers are stating, creating a great piece of educational software isn't really research worthy of a dissertation. I didn't have a good answer for that question. It didn't matter that my software was being used at several schools and was really helping students. I had to change my mindset. I identified some parts of my software where even though I had a solution that was good enough for my use, a more general solution would be applicable to other problems that I wasn't working on. I expanded on those parts. I connected with people working on those other problems, and built up a solution that was novel and useful. It was also full of hard math which I suspect satisfied some unwritten standards of my department.

In the end, I had something to show which was a research problem worthy of a Ph.D. and I used my educational software as a way of demonstrating that research. I was able to bring a professor (not in my department) who was using my software onto my committee. I was able to answer the question "where is the research?" at the start of my defense. I believe having such a strong application of my research really helped me through my defense, but the application alone certainly would not have been enough.

  • 1
    "Where is the research?" - These questions are nonsense and are an indication of the state of decay in academic research. Old people having the power of interpretation in their hands, forcing young people to align with their fixed set of opinions.
    – image357
    Commented Aug 27, 2019 at 6:25
  • 10
    @image A PhD is a research degree. If something is presented as being part of a PhD, it is entirely reasonable to ask in what sense it is research. If the answer is obvious to the student, then it's an easy question to answer and won't take much of their time; if the answer isn't obvious to them, that's an indication of a serious problem with the programme of work. If you believe you're being oppressed by old people in universities, go start your own university with your own ideas about what a degree should be. And convince people that it's worthwhile. Commented Aug 27, 2019 at 10:57
  • 6
    @DavidRicherby IMHO that is one of the reasons why we need to increase the prestige of advanced non-PhD degrees. There are people who just build awesome stuff, have an extremely high level of understanding of an established body of knowledge, teach known concepts really really well, etc., that just aren't a good fit for a research degree but IMHO deserve to be recognized as experts. Commented Aug 27, 2019 at 12:49

There are at least a few places where you can work on educational tech / research. Neil at WPI runs the Learning Sciences and Technology program, and is a great place to start. (I was a grad student of his.) There's folks / programs at CMU, Stanford, and U Penn that I can think of. You'll need to do more than just code the system, tho.

One of the points of getting a PhD in this field is to learn how to test your design. It's great to have come up with a design / program, but how do you make sure that it actually delivers on the promise to improve learning? That's what an LS&T degree will help you learn to test. It will also let you know what other systems are out there.

Given that you're at WPI, whether you want to stay in the same school for grad work, or go elsewhere is a big decision. Neil is an awesome guy, loves to talk about LS&T and will be very happy to talk to you about his program and/or the pluses / minuses of staying / going. He also knows (and is known by) people in all of the programs I've mentioned.

Good luck!


While you most likely won’t get away with no research in addition to producing the software there might be situations where the focus can be less on research.

You need to find a thesis supervisor who is willing to accept your work and can guide you towards the degree of practical outcome vs. research your thesis needs to contain.

And while this is not „pure science“ if the supervisor and institute have a financial interest or expect prestige you would be surprised how flexible academic principles suddenly get.


A suitable Ph.D. program could be to develop a machine learning system that can assess the weaknesses of the student and can come up with effective exercises to train the student. You would then need to write algorithms that can simulate weak students who are prone to make errors in certain areas. You then let a suitable machine learning system interact with such algorithms using a computer algebra system. When the system is sufficiently well trained to be able to recognize the weak points of the simulated student, you can apply the system to real students to fine tune it.

Since such a project would involve novel applications of machine learning methods, it would lead to quite a few peer reviewed publications making the work good enough to earn you a Ph.D The requirement is that a Ph.D. thesis must be based on original research, many universities demand that it be based completely based on peer reviewed articles of which the Ph.D candidate was the major contribution.

  • 1
    No I don't think that's enough. You need to prove that every single point you make is valid. Just to be able to prove that "a machine learning system that can assess the weaknesses of a student" is full of rabbit holes.
    – kevinadi
    Commented Aug 27, 2019 at 4:51
  • 2
    "a Ph.D. thesis must be completely based on peer reviewed articles": entirely false.
    – Martino
    Commented Aug 27, 2019 at 13:39
  • This answer could be improved a bit, but in some ways is one of the best answers to OP's concrete question. Most of what they are trying to do is old hat, but there are interesting AI problems in making a system which can give directed hints and exercises based on the computer forming a model of the strengths and weaknesses of a particular student. This might be the most promising avenue for OP to explore. They would of course need to first do a literature search and see what has already been done in that area (since it is likely that others have already looked at the problem). Commented Aug 27, 2019 at 16:53
  • 1
    @Bzazz That depends on the standards that the university is using. Some use an even more rigorous standard that says that at least one of the papers must be single-authored by the Ph.D. candidate. Commented Aug 27, 2019 at 16:53
  • @DavidRicherby I've modified the text to make that clear. Commented Aug 28, 2019 at 7:24

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .