关于写论文说来简单但做起来难的三条建议
A few years ago, we prepared a series of workshops on writing research papers and talks. Our first workshop began with three obvious principles:
- Understand your ideas.
- Know what a good paper looks like.
- Write for your reader, not for yourself.
These tips are obvious, but they’re not easy!
1. Understand your ideas.
“If you can’t explain it simply, you don’t understand it well enough.” — attributed to Albert Einstein
If you don’t understand your ideas well, you will not present your ideas well. No matter how good of a writer you are, you cannot get your reader to understand your ideas better than you yourself do. So understand your ideas before you communicate them.
Einstein’s apocryphal advice is the converse: if you find that you are not presenting your ideas well, that could be a sign that you don’t understand them well. This means that it can be a good practice to write in order to understand. As you struggle to write down your ideas, you will learn to think about them better, and you will find and fix bugs in your ideas. (To do this, of course, you need to start writing early – even, as some people are in that habit of doing, starting the paper on day one of a project.)
2. Know what a good paper looks like.
If you don’t know what a good paper or talk looks like, then you won’t be able to write a good paper or talk. When you see the statements
2 + 2 = 4
2 + 2 = 5
how quickly do you see which one is true and which one is false? But when you look at a paper, how quickly can you tell whether it is good or bad? Strive to develop the ability to recognize good and bad communication instantly.
Fortunately, this is not hard to do. Read other people’s papers. Not your own papers, because you already (hopefully) understand your own papers. Read published papers and read your friends’ drafts. If you understand a paper, it’s probably good – try to spot what makes it good, and go and do likewise. If you don’t understand a paper, it’s probably bad. If you can, ask the author for clarifications. The better you get at asking questions, the better you will be able to ask yourself the same kinds of questions as you write.
3. Write for your reader, not for yourself.
It should be obvious that, because the point of communication is that you have some knowledge and you want to impart that knowledge to your readers, communication should be adapted to the needs of your readers, not yourself. But think about the difference between writing for your readers and writing for yourself. Writing for yourself is easy: type in a bag of words that activates your neurons just enough to remind you of your own work – done! Writing for others is hard. So it should not be a surprise that, in practice, many people end up just writing for themselves.
Make your writing clear to your readers, not just yourself. This takes extra time – a lot of extra time. But this time makes all the other time you spend on research not go to waste.
In our next post, we’ll share three more (hopefully less obvious) tips on how to make your writing reader-centric.
David Chiang (University of Notre Dame)
Kevin Knight (University of Southern California / Information Sciences Institute)
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 第012课 内存控制器与SDRAM
- 一篇文章教给你Bypass学习基础
- 第013课 S3c2440代码重定位详解
- [901]sqlite数据库的导出与导入
- 【React】730- 从 loading 的 9 种写法谈 React 业务开发
- 第014课 Jz2400_ARM异常与中断体系详解
- 作为一个程序员居然还没有属于自己的一个博客?
- 第015课 NOR Flash操作原理及裸机程序分析
- Redash 二开 - 前端环境搭建
- Verilog Task Concurrent Activation
- then, catch, finally如何影响返回的Promise实例状态
- 第016课 Nand Flash操作原理及裸机程序分析
- 第20课 SPI协议详解及裸机程序开发分析
- 第017课 LCD原理详解及裸机程序分析
- 微信小程序:一文彻底搞懂openid和unionid