Some of these resources might be helpful during your time in academia. I have also added some software and GitHub repositories I use daily. (Most related to academia are taken from Clemens Eppner's webpage and Paul Liang’s GitHub)
Other similar collections
Grad School Advice by Jason Hong
Advice for Research Students by Jason Eisner
Advice for researchers and students by Michael Ernst
Advice Collection by Tao Xie and Yuan Xie
Awesome CS PhD application advice by Jed Yang
CS PhD the greatest hits by Angela Jiang
List of PhD reflections by Stephen Tu
Thread of PhD application resources by Chaitanya Joshi
Useful computer vision PhD resources by Yana Hasson
Checklists for Stat-ML PhD students by Aaditya Ramdas
Related to Academia
Academic Writing
- Papers
- Alberto Rodriguez: Good Practices for Good Writing (from the R:SS 2020 workshop Citizens of Robotics Research)
- Amy Tabb: Basic Submission Checklist
- Bill Freeman: How to Write a Good Research Paper [Slides] (from the CVPR 2018 workshop Good Citizen of CVPR)
- Brett Mensh and Konrad Kording: Ten Simple Rules for Structuring Papers
- Cormac McCarthy: Novelist Cormac McCarthy’s Tips on How to Write a Great Science Paper
- Devi Parikh: Planning Paper Writing
- George Whitesides: How to Write a Paper to Communicate Your Research
- Jitendra Malik: How to Write a Good Paper [Slides] (from the CVPR 2018 workshop Good Citizen of CVPR)
- Kate Saenko: How to Write the Introduction for a Research Paper
- Kevin P. Lee: A Guide to Writing Mathematics
- Larry McEnerney: Leadership Lab: The Craft of Writing Effectively
- Marcel Hofeditz: 5 Academic Writing Tips for Non-Native Speakers
- Pratap Tokekar: Thoughts on Writing a Good (Robotics) Paper
- Simon Peyton Jones: How to Write a Great Research Paper (Talk)
- Stefanie Tellex: Writing a Technical Paper
- Virginia Gewin: How to Write a First-Class Paper
- Zachary Lipton: Heuristics for Scientific Writing (a Machine Learning Perspective)
- Abstracts
- Chittaranjan Andrade: How to Write a Good Abstract for a Scientific Paper or Conference Presentation
- Juliana Carvalho Ferreira and Cecilia Maria Patino: Twelve Tips to Write an Abstract for a Conference: Advice for Young and Experienced Investigators
- Nadine J. Kabengi: Tips for Writing an Abstract
- Nature 435, 114-118 (2005): How to Construct a Nature Summary Paragraph
- Philip Koopman: How to Write an Abstract
- Reviews
- Amy Tabb: My Reviewing Style, or How to Review Technical Papers When You've Not Been Taught How
- Devi Parikh, Dhruv Battra, and Stefan Lee: How We Write Rebuttals
- EMNLP Committee Blog: Advice on Reviewing for EMNLP
- Seth Hutchinson: Surviving the Review Process
- Research Statements
- Carnegie Mellon University, Global Communication Center: Writing A Research Statement
- Research Proposals
- George A. Hazelrigg: Twelve Steps to a Winning Research Proposal
- George A. Hazelrigg: Honing Your Proposal Writing Skills
- Jeff Trinkle: Some Keys to Preparing a Competitive Proposal From My Observations
- Posters
- Amy Tabb: Poster Session Strategies
- LaTeX
- Devi Parikh: Shortening Papers to Fit Page Limits
- Dustin Tran: Better LaTeX Defaults
- Jia-Bin Huang: Paper Writing with LaTeX
- Markus Püschel: Small Guide to Making Nice Tables
- Noah Snavely: A Short LaTeX Style Guide
- Citing
- Citation Machine Smart Writing
Research
-
General Advice
- Academia Stack Exchange: Posts Tagged With [research-process]
- Chris Olah: Research Taste Exercises
- Colin Chandler: What Is the Meaning of Impact in Relation to Research and Why Does It Matter? A View From Inside Academia
- Cordelia Schmid: How to Do Good Research & Evaluation [Slides] (from the CVPR 2018 workshop Good Citizen of CVPR)
- David Epstein: Why Specializing Early Doesn't Always Mean Career Success
- Danica Kragic: Building an Academic Career [Slides] (from the R:SS 2020 workshop Citizens of Robotics Research)
- David Patterson: How to Have a Bad Career in Research/Academia
- Donald Knuth: My Advice to Young People and On work habits, problem solving, and happiness (by Shuvomoy Das Gupta)
- Eugene Vinitsky: Personal Rules of Productive Research
- H.T. Kung: Useful Thoughts about Research
- Jeff Trinkle: Identifying a Fundable Research Project
- Jia-Bin Huang: How to Come Up With Research Ideas?
- Jim Kurose: 15 Pieces of Advice I Wish My PhD Advisor Had Given Me
- John Schulman: An Opinionated Guide to ML Research
- Mark Dredze and Hanna M. Wallach: How to Be a Successful PhD Student
- Michael Nielsen: Principles of Effective Research
- Mor Naaman: A Syllabus for PhD Students Working in My Group
- Nick Feamster and Alex Gray: How to Do Great Research
- Remzi Arpaci-Dusseau: Graduate School: Keys To Success
- Richard Hamming: You and Your Research [Transcript]
- Rosanne Liu: AI Research: The Unreasonably Narrow Path and How not to be Miserable
- Rowan McAllister: Workshop Organization Guide
- Siddhartha Srinivasa: What Should I Work On? (from the R:SS 2020 workshop Citizens of Robotics Research)
- Vincent Vanhoucke: So You Want to Be a Research Scientist
- Vladlen Koltun: Doing (Good) Research [Slides] (from the CVPR 2018 workshop Good Citizen of CVPR)
-
Designing Experiments
- Anca Dragan: Intro to Experiment Design [Slides] (from the R:SS 2020 workshop Citizens of Robotics Research)
- Andy Cockburn, Pierre Dragicevic, Lonni Besançon, and Carl Gutwin: Threats of a Replication Crisis in Empirical Computer Science (Talk)
- Peter Norvig: Warning Signs in Experimental Design and Interpretation
-
Making Videos
- Stefanie Tellex, Eric Rosen, and George Konidaris: Best Practices for Robot Videos
- Travis Deyle: Being Honest in Robot Videos: Motion Capture, Speedup Rates, and Teleoperation
-
Reading Papers
- Alec Jacobson and Colin Raffel: Role-Playing Paper-Reading Seminars
- Andrew Ng: Career Advice / Reading Research Papers
- David Ha: How Do You Skim a Research Paper?
- Eric Jang: How to Understand ML Papers Quickly
- Jason Eisner: How to Read a Technical Paper
- Srinivasan Keshav: How to Read a Paper
- Yannic Kilcher: How I Read a Paper: Facebook's DETR
-
Giving Talks
- Kayvon Fatahalian: Tips for Giving Clear Talks
- Kristen Grauman: Tips for Preparing a Clear Talk [Slides] (from the CVPR 2018 workshop Good Citizen of CVPR)
- Patrick Winston: How To Speak (from his MIT course: https://ocw.mit.edu/how_to_speak)
- Wolfram Burgard: How to Give a Presentation (from the R:SS 2020 workshop Citizens of Robotics Research)
-
Thinking Patterns and Unsolicited Advice
- Edward B. Burger and Michael Starbird: The 5 Elements of Effective Thinking
- Gabriel Weinberg: Mental Models I Find Repeatedly Useful
- George Mack: 15 of the most useful razors and rules I've found
- Jesse Richardson, Andy Smith, Som Meaden, and Flip Creative: Thou Shalt not Commit Logical Fallacies
- Kevin Kelly: 68 Bits of Unsolicited Advice, 99 Additional Bits of Unsolicited Advice
- Nabeel Qureshi: How to Understand Things
- Rhiannon Beaubien and Shane Parrish: Mental Models (~100 Models Explained)
- Wikipedia: List of Cognitive Biases
- Wikipedia: List of Fallacies
- Wikipedia: Five whys
-
Communication
- Basecamp: How We Communicate
- Basecamp: Group Chat Problems
- Paul Graham: Maker's Schedule, Manager's schedule
-
Useful Website
- Paper Digest: Artificial Intelligence summarizes academic articles for you [//][//]: # (- Leaving Academia)
Software
(Please use any recommended software or repositories at your own risk.)
Citation Manager
- Zotero: Citation Manager
Note-Taking on iPad and MacBook:
- Obsidian: Note-Taking - A knowledge base that works on local Markdown files
- Goodnotes Note down, shape, & share your ideas with the world's best digital paper
- Notability Note-Taking - Handwritten
- MarginNote A brand new e-reader to better study and digest your books - Good for reading papers and taking notes
Diagrams:
- draw.io: Flowchart Maker & Online Diagram Software Desktop Installer
Repositories
Building Academic Webpage
- Templates based on Jekyll
- academic-website-template (I am using this as a template)
- Minimal Mistakes Jekyll theme
- academicpages.github.io
- academic
- al-folio
- Hosting
Python
- Faster Python
- Jit Compilers
- TorchDynamo is a Python-level JIT compiler designed to make unmodified PyTorch programs faster
- Numba is an open source JIT compiler that translates a subset of Python and NumPy code into fast machine code.
- Cython is an optimising static compiler for both the Python programming language
- Jit Compilers
- Logging
- loguru Python logging made (stupidly) simple
Project templates
- README
- Data Science Project
Deep Learning
- Deep Learning Model Convertors
- computervision-recipes Best Practices, code samples, and documentation for Computer Vision.
- labml Monitor deep learning model training and hardware usage from mobile.
- wandb
- Conf-Generator
- PyTorch Examples
- ONNX Model Zoo
- Tensorflor Model Garden
Other Resources
Academic Web Pages
Collection of advice for prospective and current PhD students
Credit goes out to the original authors of each link and Paul Liang (pliang@cs.cmu.edu).
Table of Contents
- Other similar collections
- Related to Academia
- Software
- Repositories
- Other Resources
- Collection of advice for prospective and current PhD students
Advice for prospective students
General advice
Applying to PhD Programs in Computer Science by Mor Harchol-Balter
Graduate School Advice by Stanford CS
Undergrad to PhD, or not - advice for undergrads interested in research by John Hewitt
HOWTO: Get into grad school for science, engineering, math and computer science by Matt Might
Applying for a PhD in NLP by Zhijing Jin and ACL Year-Round Mentorship Session
Machine Learning PhD Applications — Everything You Need to Know by Tim Dettmers
Demystifying ML PhD Admissions to US Universities by Hima Lakkaraju
Ph.D. Applications: FAQ by Noah Smith
Quora answer on the admission committee process by Scott Fahlman
Reflecting on CS Graduate Admissions by David Anderson
A PhD is Not Enough: A Guide to Survival in Science by Peter Feibelman
The PhD in CS: Getting There and Being Successful by Michael Hilton, Janet Davis, and Ian Ludden
Statement of purpose
Database of Example PhD SOPs by the CS-SOP initiative
Some Suggestions on writing your statement of purpose by Jennifer Mankoff
Graduate School Personal Statements by Christopher Fletcher
Inside PhD admissions: What readers look for in a Statement of Purpose by Nathan Schneider
How to Write a Bad Statement by Andy Pavlo
Tips and Tricks, How-To Guide for Grad School SoPs by Erica Weng
Graduate School Statement of Purpose by MIT EECS
How to write personal statement for graduate school application by Stanley Chan
Writing a Google AI Residency Cover Letter by Katherine Lee and Ben Eysenbach
Public examples: [Cody Coleman], [Sai Rallabandi], [Jeremy Lacomis], [Sean Kross], [Zahid Hossain], [Jean Yang]
Visit days, choosing advisor and school
How to Choose Your Grad School by Tim Dettmers
How to Pick a Graduate Advisor by Ben Barres
The Definitive ‘what do I ask/look for’ in a PhD Advisor Guide by Columbia CS
Advice for current students
PhD survival guides
So long, and thanks for the PhD by Ronald T. Azuma
Graduate School: Keys To Success by Remzi Arpaci-Dusseau
The illustrated guide to a PhD by Matt Might
How to Be a Successful PhD Student by Mark Dredze, Hanna Wallach
Time Management by Randy Pausch
Advice to a Beginning Graduate Student by Manuel Blum
Finances for CS PhD students by David Anderson
A Survival Guide to a PhD by Andrej Karpathy
15 pieces of advice I wish my PhD advisor had given me by Jim Kurose
The Tao of PhD: Thriving in the Allen School’s Graduate Program by University of Washington
10 tips for PhD students by Daniela Witten
Expectation Setting by Eugene Vinitsky
Research
How to Do Great Research by Nick Feamster and Alex Gray
How to Have a Bad Career How to Have a Bad Career in Research/Academia by David Patterson
Useful Thoughts about Research by H.T. Kung
You and Your Research by Richard Hamming
Advice on Research and Writing by Mark Leone
Reading
How to Read a Paper by Srinivasan Keshav
How to Read a Technical Paper by Jason Eisner
Writing
How to write a good CVPR submission by Bill Freeman
Ten Simple Rules for Mathematical Writing by Dimitri Bertsekas
Notes on writing by Fredo Durand
How to write a (hopefully good) paper by Martin Vetterli
Blogposts
PhDLife Blog - A collection of blog posts from Warwick University
Reviewing
Reviewer Tutorial by CVPR 2022
How to write a good review by CVPR 2020
How to write a reviewer report by Stanley Chan
Presenting
Giving an Academic Talk by Jonathan Shewchuk
How to give a technical presentation by Michael Ernst
Teaching
How to Be a Teaching Assistant by Jason Eisner
Fellowship applications
Tips for the NSF GRFP Application by Danielle Perry
NSF GRFP Advice by Christine Liu
Public examples: [Extensive NSF collection by Alex Lang], [Victoria Dean (NSF personal)], [Victoria Dean (NSF research)], [Tara Safavi (NSF)], [Paul Liang (Facebook)], [Devendra Chaplot (Facebook)], [Sai Rallabandi (Facebook)]
Networking
Networking on the Network: A Guide to Professional Skills for PhD Students by Phil Agre
Organizing workshops and tutorials
Hitchhiker’s guide to organizing an academic workshop by Ben Eysenbach and Surya Bhupatiraju
Attending academic conferences
Nine things I wish I had known the first time I came to NeurIPS by Jennifer Vaughan
NeurIPS 2018 through the eyes of first-timers by Fangyu Cai
How To Make A Plan To Attend International Academic Conferences
Job search
Tips for Computer Science Faculty Applications
How to Ask for a Letter of Recommendation
Interview Questions for Computer Science Faculty Jobs
The Ph.D. Job Hunt - Helping Students Find the Right Positions by Ed Lazowska
Checklist for faculty job-hunting in Stat/ML by Aaditya Ramdas
Tips on the interview process by Jeannette Wing
Getting an academic job by Michael Ernst
Academic job search advice by Matt Might
Memoirs
I loved graduate school by Peter Bailis
What my PhD was like by Jean Yang
How to get a Ph.D. in computer science if you're me by Chris Martens