Jeff Kinne

Research Assistants


Past Students

Students who have worked on independent projects with me in the past include

Current Positions

I do not currently have any paid positions available. Some positions may be available for the summer of 2016. If that occurs, I will email the cs-grads and cs-ugrads email lists in the spring asking for applications. If you would like to work with me on a master's project (for CS 685/695) or for an undergraduate independent study course, please stop by to talk.

A student working on research with me has two options in terms of the topic/project. First, you could research on topics related to my own research - computational complexity, theoretical computer science, some topics related to bioinformatics or linguistics. For more on these, see the description and links below. In this case, I would help you with background material and picking a particular problem to look at. Second, if you already are interested in a topic, you can propose a project to me. For example, a student in the past was interested in neural networks and genetic algorithms, and we came up with a project in that area for him/her to work on. In this case, I will help you as best I can with background material, but it may be the case that we are both learning the area together if you choose an area I am not an expert in.

Theoretical Computer Science

My personal research is in theoretical computer science, specifically computational complexity. For more on what this means, see my research publications, see Computational Complexity on wikipedia, search the web, or come talk to me. The courses at Indiana State that are closest to my research are the theory and algorithms courses (CS 620, 658, 621, 420/520, 458/558, 303) and some of the math courses. If you greatly enjoyed those courses, you may be interested in research in theoretical computer science.

Unsure?   Suppose you are unsure if you are interested in theoretical computer science, or you have not taken many (or any) of the courses I listed. Do the following excite you? If so, you may be interested in theoretical computer science.

If you are unsure, feel free to come talk to me about what this research is like.

Research Assistants - Type of Work

The basic format is to consider "things we don't know yet" and try to figure them out. This entails learning what is already known and trying to improve on current knowledge. This means most of your time would be spent reading, thinking, and trying things out.

Programming?   Traditional research in theoretical computer science makes use of surprisingly little actual programming: theoretical computer science research is a mix between math proofs and computer science algorithms. However, I am interested in bringing theory of computing and practical programming together more than is often done. So depending on the interests and skills of the individual student, working on research with me could involve large programming projects that have a strong theoretical foundation.

Research Topic?   The exact problem you work on will depend on your interests. It will have to be something I am interested in and can advise you on. But it is critical that you are interested in the topic, so you will determine the direction the research takes (under my guidance, of course). To begin the project, I will take the lead in giving you some background on the types of problems you could work on. Once you are getting comfortable, we will decide together which direction you should go in.

Presentations.   Students will present to me what they have learned and discovered regularly - at least weekly. These presentations will be informal, with me asking questions and potentially helping on some steps (e.g., why is such and such probability < 1?).

By the end of the research project, the goal is that the student has a good background in some aspect of theoretical computer science and has made some nice new observations. The student will write up these observations into a written paper and present the results publicly at Indiana State, and more broadly if appropriate.

Benefits.   Participating in this type of research project is particularly beneficial to those thinking of pursuing further graduate study after leaving ISU. But the project would be beneficial and fun for anyone interested in theory of computing.

Schedule.   There is some flexibility in terms of the schedule. If you have a summer vacation planned, we can probably schedule your 10 work-weeks around that.

Current Project Description

Projects that are somewhat ongoing include the following.

  1. Bioinformatics. Work with myself and Dr. Yongsheng Bai on projects related to Bioinformatics. One project looks for novel splice junctions in encoded RNA sequences. See the RSR project website.

  2. Linguistics. Work with myself, Dr. David Hutchison, and Eric Anderson on analyzing databases of English text to construct language models that can be used in automated reasoning. The work that is needed currently is to write and run programs that collect data about how frequently different words appear immediately after or near other words, and then use this data in constructing or analyzing sentences.

  3. Factoring. Factoring large numbers is a very difficult task which RSA encryption relies on for security. The project would be to study the best factoring algorithms and attempt to factor the largest possible numbers with ISU's computing resources (e.g., using the HPC and linux labs as a distributed computer).

  4. Randomized algorithms. Some problems have much more simple or faster algorithms if they can use random bits. This project would be to pick one particular problem and study how fast we could make a deterministic algorithm for the problem. One potential problem is prime testing. Another is certain kinds of numerical integration.

  5. Brain trauma research. When a patient with severe brain trauma reaches the hospital, very specific protocols are followed to monitor their condition and respond to changes in their condition. The project would be to examine (with "smart" computer algorithms) extensive data that has been collected on some patients to try to find relationships between treatment choices and outcome.

  6. Distributed graphics. Modern computer animated movies largely typically use vast computer resources to render the movie. This project would be to study these algorithms and see what can be achieved with ISU's computing resources (e.g., using the HPC and linux labs as a distributed computer for making movies).

  7. Game theory and college athletics. Universities have recently been changing athletic conference affiliation quite a bit. An interesting question is when this will ever end, and if the universities are really acting in their own interests? This project would be to try to model and study the universities' choices in terms of game theory.