A Practical Guide to Writing Computer Science Research Proposals
By: Nick Feamster
Tags: Proposal Writing, Funding, Research, Writing, Academia

A Practical Guide to Writing Computer Science Research Proposals

Everything you wanted to know about types of proposals, where to find funding opportunities, and what goes into a proposal—but were afraid to ask.

In a previous post, I offered some thoughts on how to write a winning research proposal. I aimed to gear that advice as much towards graduate students as faculty members, since there are many shared aspects to crafting a narrative for a research proposal and (say) a graduate fellowship application.

In this post, I offer some tips about the logistics of proposal writing in the field of computer science. The audience of this writeup is senior graduate students who are considering a career in academia, junior faculty members, and others who are simply looking for tips on writing research proposals. I’ll cover the following logistics:

Different types of research proposals. Many organizations offer funding opportunities. Your research proposal will take a different form depending on the organization you are applying for funding from. Depending on the type of project you aim to do, your timeline, and the balance between “basic research”, software development, outreach, and other activities, you may choose to apply to different organizations for funding.

Many organizations offer funding opportunities. Your research proposal will take a different form depending on the organization you are applying for funding from. Depending on the type of project you aim to do, your timeline, and the balance between “basic research”, software development, outreach, and other activities, you may choose to apply to different organizations for funding. Where to find proposal opportunities. Once you know the type of funding you may be interested in, the next thing to figure out is where to find out about those opportunities.

Once you know the type of funding you may be interested in, the next thing to figure out is where to find out about those opportunities. The parts of a research proposal. After you’ve identified the type of proposal you’re writing and the opportunity you’re applying for, you need to put together your proposal. Depending on the funding opportunity, your research proposal may be just a page or two of a project description, or it could be 50-plus pages, including Gantt charts, project plans, timelines, budget justifications, and so forth.

Types of Research Proposals

Generally speaking, there are three types of funding that academic researchers apply for: research grants, contracts, and unrestricted gifts. Research grants are usually federally funded (although foundations sometimes give research grants to academic researchers); contracts can be executed with government agencies or corporations; and unrestricted gifts most often come from corporations.

Research grants. The most common source of funding for computer science researchers comes from research grants—in particular, the National Science Foundation (NSF). I have a fairly standard funding portfolio for a systems-oriented computer science researcher; roughly 80% of my funding comes from federally funded research grants, and in particular agencies such as the NSF. Computer scientists can and do apply to other federal agencies for funding—other common agencies include the Department of Energy, the Department of Homeland Security, and if the project has a medical or health-related aspect, sometimes the National Institutes of Health (NIH), although this is less common. Within the NSF, computer science researchers generally pay attention to the following directorates and divisions:

If you’re wondering whether your research idea is appropriate for a particular program, the National Science Foundation offers a very convenient awards search page. I’ve used this page to better understand what kinds of research a particular program funds, who they’ve funded, and the sizes of awards that they tend to give. For example, you can easily use the page to see the most recent awards (and awardees to the SaTC Frontiers program). The search page also has advanced search features to help you narrow down by award sizes, NSF organizations, and so forth, as well as a facility for downloading all of the awards as a CSV or Excel spreadsheet. When applying to a new program I’ve never applied to before—as well as to understand whether NSF has already funded projects that relate to something I’m thinking about —I’ll often download a full awards spreadsheet to better understand the program’s portfolio.

The NSF awards search page shows what kinds of awards the NSF has funded within a program.

From these search results, you can click on any award to see an award abstract, which gives you more details, including (1) an award abstract, summarizing the project; (2) sometimes a set of sample publications that have resulted from the funded project. I sometimes look at award abstracts for closely related research to understand how it might relate to or otherwise complement something I’m thinking of proposing.

Contracts (and subcontracts). Contracts are a little more complicated that federally funded research awards. Whereas research awards are, in some sense, a “done deal” once they are awarded to the Principal Investigator (PI) (i.e., the faculty member running the research award), contracts often bind funding to deliverables, spelled out in a contract, often including a detailed project plan, schedule, and statement of work. Research contracts can come from just about any organization—federal agencies (e.g., DARPA, DHS) and corporations are two common organizations that will execute research contracts with universities. A variant of a research contract is a subcontract, whereby you as the PI are performing work on behalf of a “prime” contractor.

Subcontracts can arise in a variety of ways. In my work, the most common instance of a subcontract is through research I might do as part of a larger DARPA contract. DARPA projects often involve strict timelines and deliverables, and funding is often tied to quarterly reporting and timelines. This can be a stressful enterprise for a faculty member where research (and graduate students) can sometimes proceed on irregular, non-linear timescales. To make these kinds of projects more manageable, I often team up with a prime contractor, who carries the main responsibility for deliverables on the project to the program manager; we would then perform our work through a subcontract. Subcontracts typically carry significantly less funding than a prime contract, but they can be a little more flexible, because you can work with your prime contractor to manage the slightly less predictable timelines of academia.

As I mentioned, the most common contracts (and subcontracts) that I engage in are DARPA subcontracts. The best way to find out about DARPA programs is (once again) through their webpage. DARPA program managers tend to have quite a bit of latitude in defining their programs. As a result, it can be more fruitful to follow a program manager’s activities, rather than any particular program. I find it helpful to identify a few program managers who tend to be working on interesting things related to my research and track as they release new programs and opportunities. (Right now, in my area, that program manager is Josh Baron, who is doing very cool things in Internet censorship). After identifying the opportunity, the next step with DARPA is to find out when the “proposer’s day” will be, and to make sure to attend it. The Proposer’s Day is, effectively, where anyone who is interested in the program shows up—nominally, the agenda is to find out more about the program, but another significant activity of proposer’s day is to meet other proposers. Many DARPA projects I’ve been involved in have resulted from a connection I’ve made at a Proposer’s Day.

Unrestricted gifts. The last category of research proposals are unrestricted gifts, or simply “gifts”. Despite the moniker, gifts are not like Christmas gifts, per se: The reason that they bear this name is that, unlike the other types of funding, the entity that gives the money to the researcher (via the university) cannot explicitly ask for deliverables. For example, it’s not possible to give a researcher a research gift and ask that they deliver a research result or software prototype on a particular timeline.

Why would a corporation or other organization give a gift if there were no strings attached? There are two reasons: First, unlike the other types of funding that universities accept, universities typically do not take “overhead” on gifts. Overhead (sometimes called indirect costs) is essentially a “tax” that the university takes on incoming grants and contracts; it is a federally negotiated, university-wide rate and typically runs in the ballbark of 50–65% of the overall amount of the award. So, for a $1 million grant, the researcher might only see $500,000 of the actual award money, and the rest goes to the university’s operating budget (to pay for, among other things, keeping the lights on in the lab, paying the salaries of the staff who help write the grants in the first place, and so forth). So, the first reason a gift is attractive to a corporation is that all of the money it gives to the university goes to the researcher. This can be appealing, given that most corporate unrestricted gifts are a fair bit smaller than other types of funding anyway (a typical gift might be around $100,000 or less, which might be an order of magnitude less than a research grant or contract).

The second reason that gifts might be appealing even though there are no “strings” is that there are in fact strings attached—corporations give gifts to researchers often as part of fostering a long-running relationship, on research projects, student recruiting, larger strategic initiatives, and so forth. And so, while strings don’t come in the form of deliverables, the corporation may give a gift as part of a strategy to develop that relationship. Similarly, a researcher who is interested in maintaining that relationship (and future gifts) will devote energy and attention to the corporation or organization making the gift.

Corporate gifts can and do often flow through official research programs. Many large companies, including Microsoft, Google, Cisco, Comcast, Intel, IBM, and many others offer forms of research awards programs to university faculty. The organized and established nature of these programs speaks to the value and priority that these organizations place on being engaged with academics and the research community—whether the goal is research, development, recruiting, or all of the above.

Where to Find Funding Opportunities

While I covered some aspects of finding funding opportunities in the above section, searching for funding opportunities can be a little daunting at the outset, and thus I think the topic warrants its own section, particularly because there are a few general strategies.

Using a funding aggregator. Various services that aggregate funding opportunities exist. The one I (try to) use is Pivot. The site takes a little while to set up and tune, but once you have various opportunities flagged, it’s a simple matter of logging in periodically to see what kinds of opportunities exist. Below is an example of the dashboard of funding opportunities that I’m tracking in Pivot. Admittedly, I do not use this site as much as I probably should (partially because my university staff, colleagues and administrators are so good at sending me opportunities!). It’s also possible to configure Pivot to send email.

Funding agency (and corporation) websites. This approach is fairly straightforward. Many funding agency websites are (obviously) pretty well organized for telling you about funding opportunities, deadlines, and so forth. For convenience, I’ve listed a few of these below, as a starting point:

- Foundations: MacArthur

- National Science Foundation: CISE Directorate, CNS Division

- DARPA: Josh Baron, Jonathan Smith

- Industry: Cisco, Facebook, Comcast

(This is naturally incomplete, and specific to my own research. Your mileage may vary. I’ll flesh this list out, either here as I update the post, or elsewhere on a separate page.)

This approach is fairly straightforward. Many funding agency websites are (obviously) pretty well organized for telling you about funding opportunities, deadlines, and so forth. For convenience, I’ve listed a few of these below, as a starting point: - MacArthur - CISE Directorate, CNS Division - Josh Baron, Jonathan Smith - Cisco, Facebook, Comcast (This is naturally incomplete, and specific to my own research. Your mileage may vary. I’ll flesh this list out, either here as I update the post, or elsewhere on a separate page.) Your university. Colleagues at your university (including staff) often track funding opportunities that you might not otherwise come across. Some people’s full-time jobs at the university, in fact, involve keeping an eye out for funding opportunities and matching those opportunities to faculty. Many private universities where I’ve worked (especially the University of Chicago) also have ample internal funding opportunities—sources of funding from the university’s own budget, or through endowments, that are only available to faculty at that university. Those are good to keep an eye out for, and typically your university may even have a web page that is specific to internal funding opportunities.

Ultimately, finding research funding opportunities can sometimes be as much about opportunity, and being in the right place at the right time, than it is about meticulous search. Now that I’ve been in the research enterprise for about fifteen years, I’ve typically found that my research is mature and broad enough that funding opportunities find me, and that there are more than enough opportunities to apply for funding for. The exercise then becomes more of finding the right “home” for the kind of research I want to do—balancing my own priorities about deliverables, research timelines, and partners with those of the program to which I am applying. In the end, as with many things in life, the opportunities outnumber the hours in the day and the limiting factor is time, so I find that being very clear about your own research priorities and the kind of research I want to do can be very helpful for helping me identify the right opportunities.

The Parts of a Research Proposal

The structure of a research proposal will depend entirely on the organization to which you’re applying for funding. Thus it is very important to pay attention to all of the directions about all of the required components to your proposal. I recently had a 15-page proposal returned from the National Science Foundation because I forgot to include one paragraph about how the project was relevant to the program—basically, the entire proposal was returned because I didn’t include a paragraph that was essentially pro forma and obvious from the content of the proposal.

This anecdote points to another important point: Read the requirements carefully; even for programs that have been around for awhile, requirements are constantly changing. For whatever reason, the NSF likes to make small tweaks to proposal requirements and formatting, and they are very meticulous about checking whether you’ve met these requirements and not shy about returning your proposal if you don’t “tick all of the boxes”. This is not just NSF—just about every funding agency has a laundry list of items that the proposal must have, from Gantt charts to collaboration plans. The

NSF even maintains (and regularly changes) a document called the PAPPG where you can read all about these requirements that you must follow when preparing your proposal. No matter where you are submitting a proposal, the organization you are submitting to very likely outlines these kinds of requirements. read them carefully.

The request for proposal (RFP) documents can be long, and the list of required items can also be long, tedious, and bureaucratic. Fortunately, this is where your university’s pre-award process can come to the rescue: your grant administrators typically have a pre-award support team that will look over your proposal to make sure that it meets all of the requirements of the RFP. Note that, for this team to do a good job, they need to have ample time to review your proposal, so you need to give your proposal to them with at least a few hours to check it over—the more time the better. Some universities actually won’t even submit your proposal if you don’t get it to the pre-award team days in advance. It is very important to check with both your university’s award office and the award offices of collaborators to understand what this timeline is. I’ve had to bail out on proposals simply because a collaborator’s award office wanted the complete proposal for review sooner than my university’s.

While all research awards differ in content and structure, I’ll go over a few of the components of a typical NSF award, since that’s a common proposal for computer science researchers. Again, note that this is not to be taken as a checklist and you should check the specific RFP for requirements, as these requirements do differ. Some components include:

Project summary and description. This is the part of the proposal that you are likely most concerned with, since it contains the content of the proposed research. NSF typically has a one page summary that also includes a section on “intellectual merit” (what is the intellectual contribution of the work) and “broader impacts” (what are the impacts of the research project on the discipline, other disciplines, practice, and society at large).

This is the part of the proposal that you are likely most concerned with, since it contains the content of the proposed research. NSF typically has a one page summary that also includes a section on “intellectual merit” (what is the intellectual contribution of the work) and “broader impacts” (what are the impacts of the research project on the discipline, other disciplines, practice, and society at large). Budget and justification. Of course, you are asking for money, and so the proposal has a budget. In an NSF proposal, this budget typically takes the form of a multi-year budget, broken down into categories: personnel (e.g., graduate students, postdocs, faculty summer salary), materials and supplies (including hardware that is less than $5,000), equipment (anything over $5,000), travel, and so forth. This part of the proposal can be complicated, but fortunately universities have professionals whose job it is to help you assemble these budgets. Usually, the financial administrator you are working with will need some parameters from you, including: (1) the project title; (2) the start date and length of the project; (3) a pointer to the project solicitation; (4) the budget parameters (how many students, postdocs, summer salary months, M&S, travel, etc.). When deciding to apply for a grant opportunity, I will typically send all of this information in a single email to the administrator, with the title of the the opportunity as the subject line. Many proposals, including NSF proposals, also require a justification document that accompanies the budget, essentially explaining what you are asking for and why. Typically this document is a variation of a template.

Of course, you are asking for money, and so the proposal has a budget. In an NSF proposal, this budget typically takes the form of a multi-year budget, broken down into categories: personnel (e.g., graduate students, postdocs, faculty summer salary), materials and supplies (including hardware that is less than $5,000), equipment (anything over $5,000), travel, and so forth. This part of the proposal can be complicated, but fortunately universities have professionals whose job it is to help you assemble these budgets. Usually, the financial administrator you are working with will need some parameters from you, including: (1) the project title; (2) the start date and length of the project; (3) a pointer to the project solicitation; (4) the budget parameters (how many students, postdocs, summer salary months, M&S, travel, etc.). When deciding to apply for a grant opportunity, I will typically send all of this information in a single email to the administrator, with the title of the the opportunity as the subject line. Many proposals, including NSF proposals, also require a justification document that accompanies the budget, essentially explaining what you are asking for and why. Typically this document is a variation of a template. Current and pending support. Many funding organizations like to know what funding you already have, and what funding you have applied for. NSF requires it, and many other organizations also ask for it. It is a good idea to keep a “Current and Pending” document up-to-date, so that it’s ready to go when you decide to submit a proposal. A good financial administrator will simply keep this up to date for you (University of Chicago has awesome financial administrators, and so this document is never a concern; depending on where you work, the responsibility of keeping this document current might fall somewhat into your lap, but regardless make sure it’s up-to-date).

Many funding organizations like to know what funding you already have, and what funding you have applied for. NSF requires it, and many other organizations also ask for it. It is a good idea to keep a “Current and Pending” document up-to-date, so that it’s ready to go when you decide to submit a proposal. A good financial administrator will simply keep this up to date for you (University of Chicago has awesome financial administrators, and so this document is never a concern; depending on where you work, the responsibility of keeping this document current might fall somewhat into your lap, but regardless make sure it’s up-to-date). Curriculum vitae (CV). It’s quite common for funding organizations to ask for an up-to-date CV. The NSF has a standard two-page CV format with required sections. This is another document that you should keep up-to-date. A good pre-award financial administrator will be organized and simply have a copy of this ready to use when you’re ready to apply for a grant. (I’ll update this post with a pointer to my NSF two-page CV, in case others want to use the template.)

It’s quite common for funding organizations to ask for an up-to-date CV. The NSF has a standard two-page CV format with required sections. This is another document that you should keep up-to-date. A good pre-award financial administrator will be organized and simply have a copy of this ready to use when you’re ready to apply for a grant. (I’ll update this post with a pointer to my NSF two-page CV, in case others want to use the template.) Postdoc mentoring plan. If you have budgeted for a postdoc, NSF requires a postdoc mentoring plan, which explains how you will mentor the funded postdoc(s) in service of advancing their career. Typically this document is unspecific but it helps to have a plan that is spelled out carefully and is somewhat specific to activities that you plan to undertake as part of the mentoring process. (This is also a useful exercise and document to walk through with postdocs themselves, after the project is underway.)

If you have budgeted for a postdoc, NSF requires a postdoc mentoring plan, which explains how you will mentor the funded postdoc(s) in service of advancing their career. Typically this document is unspecific but it helps to have a plan that is spelled out carefully and is somewhat specific to activities that you plan to undertake as part of the mentoring process. (This is also a useful exercise and document to walk through with postdocs themselves, after the project is underway.) Data management plan. All NSF projects now require a data management plan, which is a short (1–3 page) document explaining the data that you will collect, analyze, store, and release during the course of your project. This document offers an opportunity to describe how you will use best practice procedures to guarantee privacy, ethical data collection, and adherence to various research protocols, including those of your university’s Institutional Review Board (IRB). NSF is also interested in replicability and release of research results, and so another section I tend to include in the data management plan describes how I will release data to the public, the terms of that release, as well as other artifacts we plan to release for the project, including source code or other artifacts.

This list is by no means exhaustive. Again, it is imperative to read the specific solicitation you are responding to, and to work with your university’s pre-award office to ensure that you are meeting requirements. But, it’s a good starting point. To help get people (including myself!) started, I have a github repository with a skeleton NSF proposal. It includes many of the above components in an “off the shelf” format, conformant with the PAPPG and most of the aspects NSF tends to ask for. It’s also a handy format for writing proposals to other organizations in general.

This post is by no means exhaustive, but I believe it covers about 80% of what many junior faculty and senior graduate students might need to know to get started writing academic research proposals in computer science. And, like many things in life, the hardest part is knowing where to start, so hopefully this information will get you well on your way. Happy proposal writing!