Write a good paper abstract by Michael W. Godfrey
Helpful Hints for Technical Paper Writing by Armando Fox
How to write a great research paper by Simon Peyton Jones
How to write a great research proposal by Simon Peyton Jones
Writing style guide
Writing a good introduction by Jim Kurose

Giving a talk

On Preparing (Good) Talks by Ranjit Jhala
Clear talk by Kayvon Fatahalian
Armando’s Paper Writing and Presentations Page by Armando Fox
How to give a great research talk by Simon Peyton Jones
How to give talks that people can follow by Derek Dreyer
Creating an effective poster by John Wilkes
Designing Effective PowerPoint Presentations by CMU GCC

Grad school and research

CS PhD –help
Graduate School Survival Guide by Wanda Pratt
On offering advice to aspiring scientists by Oded Goldreich
You and Your Research by Richard Hamming
Doing a Systems PhD by Steven Hand
Useful Thoughts about Research by H.T. Kung
How to Live in Paradise by David Evans
Where do (successful) research ideas come from? by Margaret Martonosi
The Heilmeier Catechism

Good talks

The Future of Networking, and the Past of Protocols by Scott Shenker

Systems and Linux kernel

Operation Costs in CPU Clock Cycles
Latency Numbers Every Programmer Should Know
Simplified Linux kernel structure
Scaling in the Linux Networking Stack
Linux Storage Stack Diagram Linux kernel map
Network data flow through kernel
Linux kernel map
How SKBs work
Linux perf Examples


Handouts from CMU Student Academic Success Center
Quick and Dirty Instructions for the New ACM Typesetting Format—acmart Class