Thesis and Dissertation Topics for Students
I describe below some topics on which you can work with me for your MS project or thesis, or your PhD dissertation. I will first mention some common skills that you will require to work on these, and the types of skills you will acquire.
Pre-requisite skills
- C/C++ programming knowledge: All the topics have a significant programming component. Most of my current software is written in C or C++, and you will need proficiency in them. Knowledge of parallel programming using MPI, OpenMP, CUDA, or Pthreads will be useful.
- Mathematics background: Many of the topics have some mathematical component to them. Depending on your ability and inclination, you can work more along algorithmic directions, which would require greater mathematical maturity, or more along a software development direction, which would require less mathematical skills. However, some mathematical background will be useful in either case. I will later mention specific requirements along with each topic. An MS project is primarily programming oriented, and less mathematical background may be sufficient for it.
- A yearning for learning: You should be interested in maximizing your learning, rather than in minimizing your effort, especially for a PhD dissertation and MS thesis! You should also be interested in doing good quality work.
Skills that you will acquire
- Software development: You will get experience in writing a significant piece of software. Furthermore, some of these software will probably have users outside FSU, and so you will get exposure to user support, creating a user-friendly interface, etc.The other skills listed below are particularly applicable to PhD students, and to a lesser extent to MS Thesis students.
- Algorithms: Most of the PhD dissertation topics have a significant algorithmic component to them, and you will also learn some new mathematical techniques.
- Research skills: There is a creative aspect to research that is hard to teach in a classroom. Working on these research topics will expose you to real research. You will also read journal articles, interact with other researchers, etc.
- Written communication: I will ask you to submit short reports of your current activities regularly, in order to give you practice in professional writing. You will also probably write papers for conference and journal publications, apart from your thesis or dissertation.
- Oral presentations: I will ask you to give frequent oral presentations, and perhaps occasionally have others too attend and give suggestions, so that you develop confidence in your oral presentation skills.
Miscellaneous matters
- Time frame: I expect that a project will take at least a semester, and a MS thesis will take around a year. However, you should aim to finish your thesis about half a semester before you graduate, in order to give yourself enough time for formalities. Of course, this is just an estimate, and assumes that you put in sufficient effort of sufficient quality. The time required for a PhD dissertation is harder to estimate. But it should normally take at least three years of research effort, after completing most of your course work.
- Difference between a thesis and a project: A project is more oriented toward developing a good piece of software, whereas a thesis involves developing ideas too. A thesis will give you an opportunity for developing other skills, such as research and presentations at conferences. On the other hand, a thesis will take more time, but may help you better in your job search.
- Research assistantships: I have some funds available for a PhD student.
Topics
- Supercomputing for Policy Decisions
- Level: PhD dissertation, MS thesis, or MS project.
- Description: Computer simulations can be an effective tool for policy makers to understand the consequences of decsions that they make. In particular, I am leading a multi-university effort to reduce the likelihood of viral infection spread through air travel. More information is available at www.cs.fsu.edu/vipra.
- Mathematics pre-requisites: No specific area is absolutely required. However, for a PhD, different areas of mathematical expertise, such as optimzation and data analysis, could be useful, depending on the direction that you wish to pursue.
- Tools for Heterogeneous Multi-Core Processors
- Level: PhD dissertation, MS thesis, or MS project.
- Description: Multi-core processors, as the name implies, have multiple cores on a chip. In heterogeneous multi-core processors, these cores are not identical. An example is a conventional procerssor accelerated by a GPU. They can provide great computational power, but are difficult to program if one wishes to make effective use of the hardware. One of the important problems on which we are working is the development of tools for optimzation of workflows for GPU-accelerated computation.
- Mathematics pre-requisites: None. An interest in learning optimization techniques will be useful.
- Scalable algorithms on massively parallel processors
- Level: PhD dissertation, MS thesis, or MS project.
- Description: Massive parallelism, with hundreds of thousands of cores, provides abundant computational power. Furthermore, scientific applications needing such power are rapidly emerging. This combination promises a leap in scientific understanding, leading to useful products, such as fuel efficient cars, disaster resistant structures, and new methods of treating diseases. An important impediment to such developments is the difficulty in using massively parallel machines effectively. The aim of our research is to develop parallelization strategies which will enable applications to scale efficiently on much larger numbers of processors than they currently do. In particular, we are working on optimizing assignment of tasks to nodes, dynamic load balancing, and efficient GPU implementations.
- Mathematics pre-requisites: PhD thesis: Familiarity with numerical linear algebra and common numerical methods will be useful, as will interest in learning combinatorial optimization.