I went to university to study a degree which has computer software and hardware elements to it. I didn't do badly in my normal modules at all, I never got below a 2:1 grade in any module, and some of them I got to over 80% percentage wise. Now, I don't feel like I come from a terribly good home, and there has been a lot going on in the background that is sort of still there, at least some of it is.

When it came to my dissertation I picked a topic somewhere in September last year. My topic was to do more with physics and graphics than my actual degree. I thought it would be interesting to find out about these things. I tried to do it in C++ which I already knew, and apply OpenGL to see it on the screen.

Honestly, I didn't know how or why but learning anything on the topic didn't work for me. Creating the programming environment took me days and sometimes I still have issues with just making the bare skeleton of things work. I followed a tutorial from over 10 years ago (so quite outdated for my liking) on how to do this particular thing, but its 2 days from hand in date number two and the practical side doesn't work. To give you an idea of time, I say I failed twice because I managed to get a 3 month extension due to Covid, and failed to hand anything in on hand in date one, and now will fail to hand in anything on hand-in date two because I simply can't learn how this works.

When it came to actually working and meeting with my supervisor, every meeting I would want to break down and cry, and so I'd avoid most meetings, and then further not be able to do any meetings online during Covid, because every single second I knew that I didn't understand a thing, and there was nothing to say to him. I haven't spoken to him for over 3 months. I generally tried to do work in the mornings, and only started with my hobbies in the evening so that I gave myself at least 3-6 hours of work per day to do this, especially after the extension was given as this was my only work for those three months. But it looks like I am just too stupid to do this. Tutorials for OpenGL took me days to get through in a way that I understand what was going on. I got some medication for my panic attacks, but generally, due to this work, I've been waking up to me sweating and breathing really fast for the last few weeks especially, not to mention constant nightmares I have. Needless to say, I find it difficult to be happy right now and people have been telling me I am distant and I act like I hate them.

I don't know how to move on from this failure and tackle the re-take, if it happens at all at this point. I want to ask for some sort of study leave, so that I can study what a dissertation is, and what is it that I could possibly research instead of this, and then hopefully go back and do the retake, not run away from my supervisor, and actually feel like I know what I am doing like I usually did during my modules. In general, I need some recommendations on how to tackle dissertation and failure, as well as how to pick a dissertation topic I feel like I can do.

Sorry if this is the wrong place to ask for help, please leave a comment on where I can go otherwise, but mostly I just wanted advice from people that actually have an academia background and could write a dissertation, especially in a computer or programming related field.

  • 16
    Prioritize your health. Rely on mental health professionals, not the internet, for that. Commented Aug 2, 2020 at 6:01
  • 1
    To me, "failed" would be a failing grade assigned to work that was due. You have received one extension, and have a second extension looming. You may or may not receive a failing grade when you submit your work, but you have not already failed twice. But speaking of the grade for your work, find out what is expected of your dissertation. Sometimes, all that is required is that you learn something, not that you create new information.
    – Teepeemm
    Commented Aug 2, 2020 at 18:35
  • @Teepeemm That may be true in a strict legal sense, but the reality is (1) The OP hasn't told hls/her supervisor there is a problem (2) The extended deadline is two days away, and (3) He/she doesn't have any work to hand in. Given those facts, IMO writing any sort of dissertation in two days is going to require magic.
    – alephzero
    Commented Aug 2, 2020 at 18:58

6 Answers 6


Your first and main source for help and advice on this should be your supervisor.

Working in industry I went through a high stress phase when I tended to cry during meetings with my boss. He was a very courteous person, and ignored my crying except for moving a box of tissues next to where I was sitting. Depending on your supervisor, you may need to bring your own tissues, but that is no reason to cut yourself off from essential help and advice.

Your supervisor knows what is expected for your dissertation. It is not something you should go off and study by yourself. Your supervisor should also be able to help you with where to go from here in terms of getting an extension and modifying your project if that is the best thing to do.

As for not having anything to say to him, "I am stuck, and will not be able to hand anything in on the current schedule" is something you should tell him as soon as possible - a few weeks ago would have been better than today, but today is much better than tomorrow.

In addition to a PhD in computer science I have over 30 years computer industry experience. I would plan and expect to spend a week or so learning my way round OpenGL if I needed it. Needing a few days to understand a tutorial, especially as you probably have less experience learning programming languages and libraries, does not seem like a very serious problem to me.

If you are using a current version of OpenGL with a ten-year-old tutorial that may be part of the problem. The tutorial and the OpenGL version you are using may not be compatible. In general, if a tutorial or book is not working for you, try a different one - there are plenty to choose from. Also, once the tutorial tells you what features you need to use, read the reference documentation on those features.

Given that you have medication for panic attacks, you may be able to use that issue to get extra time and help from your university's disability services. If you have not already done so, discuss your project difficulties with whoever is treating you for the panic attacks.

  • 3
    OpenGL is conceptually quite hard. It relies quite heavily on math and some of the concepts like homogeneous coordinates dont even come up in most ath curriculums. It does not help that modern openGL is way different from legacy openGL. Also unless you picked up 3d graphics in the 1990's you now need to wade a mathematics heavy explanations on how things like render equation work. ON top of this is its not particlarily easy to come to terms needing to program 2 different kinds of processors at the same time. So a week is indeed quite minimum.
    – joojaa
    Commented Aug 2, 2020 at 7:26
  • 4
    @joojaa Agreed. If I were the OP's supervisor I would be questioning whether it is necessary to involve OpenGL. For example, if the objective is to get a few charts to go in a dissertation I would ask whether it would be possible to dump the relevant numbers to a .csv file, read them into a spreadsheet, and use the spreadsheet's chart capabilities. Commented Aug 2, 2020 at 7:36

You have to speak with your supervisor / course mentor / Head of Department as any solution will have to be within the course regulations.

We cannot suggest a solution as we don’t have the regulations for your course so you have to reach out to them.

  • 2
    This is a great comment, but not an answer. Commented Aug 2, 2020 at 6:01
  • @AnonymousPhysicist The OP will need to speak to the mentor or equivalent, so this must be an answer or at least part of the anser related to the qualification being sought as comments are not for answers...
    – Solar Mike
    Commented Aug 2, 2020 at 6:36
  • 1
    @AnonymousPhysicist how is "speak with your supervisor / course mentor / Head of Department" not an answer to "How do I move forward?"?
    – wimi
    Commented Aug 2, 2020 at 21:36
  • @wimi The question is very vague, but clearly asks for an action. Talking to someone is not "move forward." Also "I need some recommendations on how to tackle dissertation and failure, as well as how to pick a dissertation topic I feel like I can do." Commented Aug 3, 2020 at 1:07

I looks to me like you are overly ambitious regarding the goals you have set for your dissertation project. Modern C++ is a large and complex language with unsafe memory handling, thus offering you more than enough rope to hang yourself. In addition, OpenGL also offers a large and complex API, requiring you to understand the intricacies of dividing the rendering work between the CPU and the massively parallel and specialized GPU. Moreover, both C++ and OpenGL have evolved significantly over the past decades, and as a result you'll find tons of outdated information on the web. To these two problems add the fact that you also need to obtain the required domain expertise in physics and possibly also computer graphics (if you hadn't taken such a course). In short, possibly due to inexperience regarding what you set out to achieve, you've set yourself up for failure. Very few would have succeeded in what you set out to do, so don't blame yourself.

I don't know if your supervisors only agreed on the topic rather than its implementation. If they knew how you were going to implement your topic (with C++ and OpenGL) they could have warned you that this was over-ambitious. Consider explaining to them that you misjudged the difficulty of using the technologies you chose, and that you need a significant extension to start from scratch.

Then, use a friendlier environment to tackle only the physics problem. For example, depending on your existing knowledge and the problem's requirements, you can use Python or R and Jupyter notebook or Processing. Python would be great for reusing diverse third-party libraries, R for performing sophisticated numerical or statistical processing, and Processing for interactive animations. Split your work into small tasks, and try to make concrete progress each day. If you find yourself stuck for a longer period, reconsider your implementation choices and talk to your supervisor.


I coordinate graduation projects in our department, thus I have quite a bit of experience in this.

These things happen. It is normal. It happens to the better or worse students. If you are certain your mental situation is really tied to this mess, then it is the symptom. In this case it is easier to treat the issue then to treat the symptom. But just to make sure, visit a professional.

Before following any advice here, talk to your supervisor. There might be particular regulations in your department that may render these problematic.

Now there are obviously two solutions. Second solution is generally not considered early enough by students. And it is perfectly acceptable in most situations. Accept defeat, change your topic. Now you may feel like defeated and may even think you are not good enough for this particular topic. Know this, when you are in a deadlock which you might be in, it doesn't matter if you are the best in the world. You are trapped and will not be able to get over the problem. If you are such a person that does not accept defeat, call it fallback and later try it again, after you finish your degree.

I have been programming for over 20 years, at times there were things that I found very difficult. Once I disengaged and tried even a few months later, suddenly the problem becomes so simple. The reason behind this is approach. Once you start something, you may commit to a path to the solution. But sometimes the path you have initially chosen is terribly unsuitable. The best idea is to start over with a completely different mindset.

First approach is obviously find a more efficient way to handle your project. A lot of commenters say OpenGL or C++ is difficult, don't believe them. I have written several game/graphics/ui engines with OpenGL and C++. They are easy once you learn them properly; but it is also very easy to get a wrong footing with both of these. Learning C++ properly is a serious challenge.

However, these are tools. If you are after 3D physics simulation, then the problem you will have will be about simulation. And if you join them right away, you will get nowhere. First start small, write a small application that cubes fall from sky. Watch and enjoy your work. Learn the pipeline. Slowly add things that you think will be simple. Everytime I wrote circles I animate sunflower patterns using the circles. So satisfying, so easy (just a simple formula). These things might not be related with your topic. But you just need to feel these tools. You don't learn how to use a hammer on the shelf you are trying to build. You practice on a piece of throw away wood.

You should start your project after being comfortable with your tools. You have a good working schedule, you should be able to learn and complete your project in a short amount of time.

  • You are right that these things happen the first time, and apparently the OP was given a second chance. But if the second attempt was a total failure (i.e. nothing at all was produced) and no warning was given that things were going wrong again until the final deadline arrived, there comes a time to say "enough is enough". Otherwise, you might as well just pass everybody who enrolls for the course and skip all the time-wasting activities of teaching, studying and actually learning something!
    – alephzero
    Commented Aug 2, 2020 at 22:19
  • When you are in a pit you sometimes don't realize that. I am not saying you should let anyone slip without the necessary hard work. However, I am also certain the chosen topic is not forced, there should be a way to change it. I am not sure the system in their university, but in ours, we don't give extension at all (maybe an extra week), we fail the student but they are allowed to retake the project/dissertation next semester. They are also free to continue or start on a different topic. Generally, whoever changes their project passes next time. Those who insist, well, more of them fail again. Commented Aug 3, 2020 at 23:11

Honestly, a BS project isn't expected to be great or even functional. It's expected to demonstrate problem solving methodology and show some results. I would argue your problem is that to even show any result involves a lot of boiler-plate coding which you seem to be having problems with.

What exactly are you trying to do?


As others have suggested, step 1 is to address your mental health with a professional. That doesn't mean you'll feel better instantly: it means you'll have a place of support and some reality checking and some assistance monitoring how you're doing.

Step 2 is re-establishing a relationship with your advisor (or a new one). This type of project is supposed to be hard and it's not something you are supposed to do alone, that's why you have an advisor. When setting up the scope of a project, ask them very direct questions for feedback:

Is this scope reasonable?

How much time do you think this would take a student at my level?

Are there better ways to approach this that I'm not seeing?

You've acknowledged here that you're failing. That's good, but you need to acknowledge it with your supervisor as well. In your position I would approach the advisor and say honestly: hey, I tried to do this on my own and it's not working out. I was scared to get advice and that made it harder for me. I don't know what my next steps should be and I need advice.

A good supervisor will take this and do the best they can to help you and will be much more useful than this Stack can be. You should plan to meet with them weekly at a minimum, and every week discuss what you've done and what you plan to do next week. It's okay if "what I did this week" is "I tried XYZ and all of them failed" or "I got stuck learning to do QRST and didn't make it further". This gives your an advisor a chance to help you through those spots and suggest other approaches or other resources, or help recalibrate your goals.

Other supervisors may not be willing to help at this level, in which case you would need to see if you can move to a different supervisor or look at other options you have.

  • 1
    @Hugh "This is supposed to be hard" refers to your project, not re-establishing a relationship with your advisor.
    – Teepeemm
    Commented Aug 2, 2020 at 18:33

You must log in to answer this question.

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