3

I am a front-end developer and I find it extremely difficult to find a bachelor's thesis topics since all the computer vision, machine learning, data mining stuff is done in languages other than JavaScript. I feel like the fact that I am a frontend developer limits me to topics like front-end JavaScript framework comparison, responsive web application design etc. But I just don't feel like these are good research topics.

Is there any advice/topic suggestions you can give me?

  • 7
    You know that it is fully expected that you may have to (gasp) learn new languages and technologies while doing your Bachelor's thesis, don't you? Most of the Bachelor and Master students who I supervised had no prior knowledge about the programming languages they were using in their thesis. (And besides, I cannot help but find a somewhat practically-oriented computer science major that has graduates who have only ever used a single programming language somewhat fishy.) – O. R. Mapper Feb 13 '18 at 6:42
  • 2
    Surely you worked with other systems during the rest of the bachelor? – user25112 Feb 13 '18 at 6:59
3

You could easily extend your possibilities by learning another programming language. Since you are already familiar with the underlying concepts, it should not take too much time to learn something like C, Java, or whatever is common in your field.

I would also do this apart from your thesis. This gives you a lot of new possibilities also after your thesis in your future career.

However, I recommend you to learn a new language before you start your thesis, otherwise you might run out of time or achieve only limited results. But that depends on your personal situation and how much time you have left.

1

It's worth to know related technologies as frontend usually needs some backend and AJAX is not so old technique. Even backend can be written in Javascript (Node.js), it's limiting if you don't know Java, .NET, Python.

Javascript in it's current standard ECMAScript 5 is not nice language and you may end up with lot of antipatterns and it's worth to look for reasons why there are proprietar solution Angular, React mixing HTML, Javascript and inventing new things like Shadow DOM or a way to standardize new ideas in ECMAScript 6 and HTML standard and (by my opinion better) frameworks like Aurelia or Ember.

It's also worth to look into visualization API- E.g. WebGL with it's 3D capabilities and support among browsers is better and better. Inspiration could be one of early public application: Zygotebody (https://www.zygotebody.com).

  • While this is good advice for an industrial career path, I'm not sure learning Angular or React will really help finding an academic research topic. – user25112 Feb 13 '18 at 9:32
  • 1
    @Keelan It's bachelor thesis. I doubt that anybody expects advanced research. But comparing recomendation of standard HTML and ECMAScript 6(represented by Aurelia/Ember/...) with proprietar solution (represented by Angular/React) may be fair topic for such thesis. – TJK Feb 13 '18 at 10:46
  • This may differ between institutes, but I have never seen a bachelor thesis in that direction. – user25112 Feb 13 '18 at 10:48
  • @Keelan: Neither have I (comparing technical standards as such), but I have seen plenty of Bachelor and Master theses that contained a practical component (i.e. a prototypical implementation) with any set of fashionable and not so fashionable technology stacks. – O. R. Mapper Feb 13 '18 at 11:04
1

Computer science/engineering students are expected to be able learn new programming languages and technologies whenever they need to. Although I am most comfortable coding in Java and C++, I am mainly using Matlab and Python for my bachelor's thesis which is in Brain-Computer Interface although I had no prior experience with Python and was barely familiar with Matlab but they are the languages of choice in this field. Many of my colleagues also picked up new languages and frameworks to implement their bachelor's theses.

Not the answer you're looking for? Browse other questions tagged or ask your own question.