Welcome!  We (Professors Nick Feamster and Alexander Gray) have created this site as a resource for advice on research and creativity methods and techniques for Ph.D. students.  Our intended audience is Ph.D. students in computer science programs, but many of the concepts that we present on this site may also apply to other disciplines.

The material we have provided will prepare you to perform great research in computer science, regardless of the area you ultimately choose to pursue for your Ph.D. The material should:

  • Teach you many skills that you will keep in your “research toolbox” for the rest of your career:
    • time management
    • productivity and (selective) procrastination
    • how to read a research paper
    • how to review a research paper
    • how to write a research paper (technical writing)
    • how to generate ideas, creativity, sources of problems
    • information management (research notebooks, etc.)
    • how to give a good talk
    • how to write a proposal
    • how to be a good TA
  • Find some inspiration regarding open problems and big ideas
  • Offer general tips for life in graduate school and beyond

The material that we have provided on this site is based on a class that was designed by Professors Nick Feamster and Alex Gray from Fall 2006 through Fall 2010 at Georgia Tech and is now being revamped in Fall 2013 by Professor Nick Feamster.

This project started in Fall 2006, when the two of us were asked to prepare a course for incoming Ph.D. students at Georgia Tech to help them become exposed to research methods early in their career.  After agreeing to take on the preparation of this new course, we quickly discovered that, while there is a wealth of knowledge about research techniques and methods, and many thoughts on skills for creative and critical thinking, this material had not been aggregated or distilled into a single document or course.  We spent the next five years developing a course at Georgia Tech, “CS 7001: Introduction to Graduate Studies”, refining the concepts, methods, and assignments each year.

We have learned a lot from these course offerings.  We have distilled many of our insights and lessons from teaching this course in a an ACM SIGCSE paper.  On this site, we will codify the modules from the course.  We have also made our course notes available on this site, for the benefit of both other Ph.D. students and for faculty at other universities who may choose to use this course as a model for similar courses at their institutions.

Various aspects of this course have been replicated at other universities.  We have made the material from the course available to others for the benefit of both computer science Ph.D. students and others who might wish to teach a similar course.

With Fall 2013 upon us, we are now planning to add material to the site on a weekly basis, as students take the course at Georgia Tech this fall.  By the end of fall term 2013, we will have amassed a full set of resources for graduate students as they embark on their graduate careers.

We are working on adding all of the content to this site.  Meanwhile, please also feel free to peruse some of the previous course offerings (e.g., 20082009).

We will welcome feedback on the material as we post it.


Nick FeamsterPrinceton University
Alexander GraySkyTree, Inc.