3

I am a junior in high school and I've developed an optimization system for functional languages that could be very powerful. My computer science professors at Boise State University believe I should write a paper and take my idea as far as I can.

I've formalized my method, but I haven't had an expert look at it rigorously. I'm also being careful to retain intellectual property safety, so my options are a little limited.

Where should I start? I have implemented the optimizer in Haskell (it doesn't actually compile and generate code, but it demonstrates the concept). I'm thinking that I need to finish the research paper focusing on the system itself and see if I can publish it to a journal.

The doctor specializing in compiler optimizations at BSU said I might be able to present at Apple because I was planning to generate code with LLVM, which they want to encourage interesting projects for and demonstrate its versatility. This sounds like an exciting prospect, but I'm guessing writing a research paper comes before that.

I feel slightly overwhelmed. I'm not sure if I should implement the compiler further to lend my paper credibility, or see if the idea takes off and gather a small community to fully implement it. I'd write the research paper (I have the methods section done), but I'm no expert at research papers, and I might need someone who knows about compiling functional languages that I can trust to look at it. Also, I'm worried that I'll be discriminated for my age (I'm 16 years old).

What are some good resources on writing research papers, particularly computer science ones? Where should I start when I have it written? How would I develop interest and a community to implement and expand my idea?

rovaughn
  • 287
  • 1
  • 6
  • "it doesn't actually compile and generate code, but it demonstrates the concept". That's a bit of a problem, don't you think? What evidence do you have that it can actually work? – S.Lott Sep 09 '11 at 02:16
  • The program manipulates an abstract syntax tree, so I can prove it optimizes the code. The only thing that's missing is a front-end parser and a back-end code generator or virtual machine. – rovaughn Sep 09 '11 at 03:06

4 Answers4

7

My computer science professors at Boise State University believe I should write a paper and take my idea as far as I can.

Copy the question you have written on this site into an email to the professors that advised you to write a paper on your idea. They will have input far more applicable and much more reliable than anything you'll get here.

Anyone in academia is usually very positive and willing to help younger in-experienced students. Consider getting someone more senior to co-author the paper with you.

J.K.
  • 13,063
  • 1
  • 40
  • 56
  • Thank you for the response. I am talking with them and they've been helping me, but they've been very busy, so I've been trying to see what I can do while I wait for them to respond or help. I figure I might as well get as much information as I can. – rovaughn Sep 09 '11 at 03:02
  • 3
    @alecRN The pace for working with (principal) researchers is usually slow, since they are usually multitasking between their students, writing grants and cutting a lot of academic red tape. Most research papers have multiple co-authors. Maybe you could find a grad student of his wiling to help you out? He might have more time available. – Vitor Py Sep 09 '11 at 09:15
  • @Vitor thanks, that's a good idea. I think I know how to find a few. – rovaughn Sep 09 '11 at 12:53
4

What are some good resources on writing research papers, particularly computer science ones?

Where should I start when I have it written?

How would I develop interest and a community to implement and expand my idea?

Answer:

My computer science professors at Boise State University believe I should write a paper and take my idea as far as I can.

Talk to "computer science professors at Boise State University". Immediately. Don't waste time with a bunch of random strangers. Talk to them. Focus on them.

S.Lott
  • 45,264
  • 6
  • 90
  • 154
  • Thanks for the response. I am talking with them and they've been helping me, but they've been very busy, so I've been trying to see what I can do while I wait for them to respond or help. I figure I might as well get as much information as I can. – rovaughn Sep 09 '11 at 03:04
  • @alecRN: Don't waste your time with random strangers. Invest your time with your mentors. – S.Lott Sep 09 '11 at 11:05
2
  • The first step is to find a mentor available enough to coach you. This may be your professor or a friend PhD student.

  • Then write a report about what you found, what you already completed and what is still in progress.

  • This report must be reviewed by your mentor and then refined by you. It will be the base of all future work.

  • With your mentor, find a workshop where junior researchers have the opportunity to present their results to an audience. The most important part is the interactions with peers. Listen to their questions and their suggestions. This will help to guide your work. Keep contact with your new friends, they may be interrested in your progress.

  • With more ideas you will eventually be able to write a paper for a conference or a journal.

mouviciel
  • 15,473
  • 1
  • 37
  • 64
1

In addition to getting the support of your professors, I'd go ahead and learn LaTeX. There's even a stack exchange site for it. This tutorial should help.