如何写好一篇高质量的IEEE/ACM Transaction级别的计算机科学论文?

2023-11-13


http://www.zhihu.com/question/22790506/answer/81787300?f3fb8ead20=ea27429f8cbe31fd9183a68ccb41caa7&from=timeline&isappinstalled=0


作为一个博士生,一直为写论文头疼,读过很多高质量论文,觉得写的真好,但是轮到自己写总是力不从心。 最讨厌的是活生生的把一个A级别的idea写成C质量的论文.....

在这里的高质量限于IEEE/ACM Transaction级别,或者同等级别的Conference, 例如SIGKDD,CVPR,STOC,CCS之类

看过很多如何写论文的文章或者视频, 但都面向的是如何写论文, 而不是如何写Transaction级别的论文, 希望得到一些指点.
知乎用户 ,PHD in CS
收录于 编辑推荐 230 人赞同
恭喜你已经有了一个A类别的idea和相应的实现以及数据,那么接下来就是写文章的问题了。计算机论文写作还是有一定的规律可以遵循的。

首先,你需要判断自己的文章是投往哪个A类期刊或者会议,是IEEE的还是ACM的。通常IEEE会议的格式和ACM会议的文章格式要求有所不同,我建议你在投论文之前先把该会议的Call For Papers好好研读一番,弄清楚文章长度,需要使用的Latex或者Word模板以及匿名方式等一系列非技术性问题,然后再开始写作。

在写作之前,先问问自己如果这篇文章写好以后给整个领域(community)的贡献是什么,这实际上是整个文章的灵魂,也就是你解决某个问题(problem)的方案(idea)。想清楚以后把它(们)按照重要性顺序写下来,这些就是你在Introduction里面告诉读者包括审稿人的contributions。贡献可能是新算法,新架构,新实现或者是前人没有的insights。你在写contributions的时候面向的读者很有可能是自己,所以可能忽略了problem背景和定义,这些就可以慢慢在Introduction里面填充。

这样Introduction就写好了,比如说:某某问题是实际中存在的一个问题,这个问题重要性是blah,blah,blah。之前发表的论文针对这个问题提出了三个有代表性的解决方案(此处引用可能至少三篇论文)。第一个解决方案甲大概做了一二三,但是没做四;第二个解决方案乙做了一四,但是没做二三;第三个解决方案丙做了一二三四,但是性能比较差。在这篇文章中,我们提出一个性能比较好并且同时做一二三四的解决方案。接下来写我们这个解决方案是如何实现同时支持一二三四的情况下提升性能的。比如说用了新算法,新架构或者新的实现,都可以。讲完基本技术创新点以后就是contributions,把之前想好的贴上去就可以了。最后在Intro里面加上后续内容组织,比如说第二章是相关工作,第三章是综述,。。。

一般来说Intro写完以后会写一章相关工作(Related Work)。从最Related的论文开始写起,比如说以上提到的三篇。这里需要着重讲的是,Related Work不是记流水账(e.g.,甲用了idea A,乙用了idea B,丙用了idea C),而是要比较这些论文,阐述她们各自的优缺点。

Related Work写完后,你需要写一个Overview来总括你的问题和解决方案。我的经验是最好想一个最最简单的例子(Running Example),然后使用这个例子引出你要解决的问题。接着再把之前在Intro中提到的现有解决方案挨个说一遍,并且用那个案例表明三个解决方案的不足(这里最好用实际数据)。最后把你的解决方案介绍一下,重点是与前人做的相比较。如果你用了一种新的算法,你可以大概提一下这个算法的思路以及实验数据;如果是新架构,最好放一张架构图上去,然后阐述一下新架构的优势(以及劣势)。在这一章介绍自己的idea的时候,你只需要概略描述即可,凡是涉及到技术细节的东西均可以引用后面的章节来节省页面空间。

后面这一章就完全是技术细节了。如果是自己做的的话,这一章是最好写的,因为你只需要把code/算法/架构在纸上还原出来即可。注意由于页面限制,一般来说这一章不可能包括所有细节,按重要性取舍吧。注意有些corner cases,如果很重要的话,千万别省略。

技术细节讲完了,如果页面允许,你还可以大致讲一讲你的实现情况。比如说新的系统是在Linux上实现的,新加了20000行C代码,1500行Python以及300行Bash script。C代码主要干什么,Python主要干什么以及Bash script干什么,最好能与技术细节里面所讲的呼应。

自然地,技术细节和实现讲完了就该讲你是如何用实验验证你的解决方案支持你的contributions啦。根据上面的例子,你需要写的是如何从实验数据中展示你的解决方案支持一二三四并且性能不错。支持一二三四这种是或否的问题比较容易说,但是性能不错就需要和前人作品做大量比较了。柱状图,折线图,表格等等数据展示手段,只要能说明问题都可以采用。这里需要注意的是,只要你写在论文里面的文字或者是图表,你都要想清楚背后的原因,最好能在论文里做充分的解释。比方说,你采用了新的算法,性能见表1,原因是复杂度降低了;你采用了新架构,性能提升见图3,原因是新架构节省了内存拷贝。通常来说,新算法或者架构会总体上提升性能,但也可能会有异常情况,即新方案比不过老方案的地方。这时需要格外注意,因为这是你的weaknesses,你需要用令人信服的说法向读者展示这些异常情况存在的可能性较低,或者可以通过某种简单方式避免。

如果写到这里你还有充足页面可用,你可以试图写一个discussion章节来讨论你的方案的缺点,以及未来有可能的改进情况。不要怕展示缺点,你越诚恳审稿人对你印象越好。如果你是故意遗漏新方法的一个很显然的缺点,这会给审稿人非常不好的印象。你也可以提一些你的方案的其他应用等等。

最后就是结论啦,用一两个段落概括一下解决的问题,解决思路以及贡献就可以了,比较好写。

如果你需要写一些附录,比如说文章里有几个定理没有给出证明,那可以在后面的Appendix章节中加入。通常Appendix审稿人不太会读。

我还有一些小建议,希望能对你有所帮助:

1. 找到会议程序委员会(Program Committee,也就是审稿人)的页面,然后看看哪些审稿人做得和你做的相关。如果有的话你应该在Related Work中引用他们的作品,因为大家都希望自己的论文被别人引用。不要怕有礼貌得指出他们的论文缺点,如果你说得对,审稿人看到会很高兴的。

2. 论文提交前用你能找到的任何有效的书写检查软件检查一下拼写错误或者简单的语法错误,我知道有些审稿人会对这种小问题过敏,如果一篇论文中此类错误过多可能会导致直接悲剧。有条件的话,找一个英语为母语的人帮你最后把把关。这里我推荐你如果可能的话找一个美国教授合作写论文,可以节省很多时间。

3. 如果你之前没中过2-tier或者3-tier的期刊或者会议,那么可以先从这些着手,慢慢锻炼。

祝你好运!

利益相关:计算机博士刚毕业,期间3篇CCS一作,1篇PLDI一作。
PLDI,,同行啊
6 月前
qqy
谢谢答主,受益匪浅。
5 月前
看见CCS就忍不住想回复一发...我当年在读master的时候也投了一次,虽然被reject的
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何写好一篇高质量的IEEE/ACM Transaction级别的计算机科学论文? 的相关文章

随机推荐

  • 【PHP代码审计】ThinkPHP代码审计

    目录 0x001 开发方式 0x002 审计流程 1 启用调试开关 2 版本查看 3 定位函数 4 测试是否存在漏洞 5 版本自身漏洞 0x001 开发方式 在审计源码时根据不同的开发方式对应不同的审计方法 自写 有的站点虽然使用了thin
  • 数组对象and字符串对象

    一 数组对象 JavaScript中的数组对象可以使用new Array 或字面量 来创建 在创建以后 就可以调用数组对象提供的一些方法来实现对数组的操作 1 1数组类型检测 数组类型检测有两种常用的方式 分别是使用 instanceof
  • source insight 绿色护眼主题&暗色护眼主题

    效果如下 绿色背景颜色为RGB 195 222 204 主题下载地址 链接 https pan baidu com s 1aSkQOo70nr498hf wHN4Jw 提取码 f3f6 来自百度网盘超级会员V5的分享
  • CollapsingToolbarLayout用法详解(简洁易懂)

    Collapsing翻译过来就是折叠的意思 CollapsingToolbarLayout 顾名思义就是可折叠的toolbar布局 先看一下使用它的效果 可以看到有这样几个效果 1 背景图片渐渐消失变为主题颜色 2 FloatingActi
  • stata学习笔记

    如何认识数据 S1 打开数据 首先 打开stata 你会看到这样的一个界面 面对全英文的界面 需要知道每一块位置代表着什么 方便以后的操作 中下 Command 命令窗口 你可以在此窗口输入想要执行的stata命令 左上 Review 历史
  • 我的第一个Spring程序

    转自 我的第一个Spring程序 下文是笔者创建第一个Spring示例的方法分享 如下所示 步骤一 使用Eclispe创建一个Java项目 在 Eclipse 中创建一个简单的 Java 项目 依次单击 File gt New gt Jav
  • Python:运营自媒体,如何修改图片的MD5值

    目录 前言 获取所有图片 更改图片MD5值 生成exe可执行文件操作 主界面 线程代码 进度条代码 前言 在我们运营自媒体的时候 或多或少会用到别人的图片 但是某些自媒体平台会判断图片的MD5 如果MD5相同 会认为你抄袭 默认会降低你的权
  • 静态链接与动态链接

    文章目录 静态链接 动态链接 说起静态链接和动态链接 大家肯定都不陌生 静态链接与动态链接的差别顾名思义 动态链接使动态库中的函数在程序运行后 才被用到 而静态链接则在运行前 就将所需函数合并了 我们来看看两者在 Linux 下的定义 静态
  • 单片机毕设 基于物联网的智能衣柜系统设计

    文章目录 1 简介 2 绪论 2 1 课题背景与目的 3 系统设计 3 1 硬件系部分 3 2 软件部分 3 1 系统架构 3 2 硬件设计 3 3 软件设计 主程序介绍 按键扫描程序设计流程 DHT11 读取程序流程图 LCD12864
  • 使用python搭建一个简易的Web服务

    介绍 简单的说 web服务器就是机器上监听了本地的IP和端口的一个进程 当有客户的请求进来时 它会响应客户的请求并返回相应的信息 客户端和服务端之间的通信基于HTTP协议 客户端可以是浏览器或者任何支持HTTP的应用 我们平时访问网页或手机
  • 2021-06-29 ffmpeg临时记录

    我们将 H264 和 AAC 码流存储为MP4文件的时候 就需要在 MP4文件中增加两个流通道 一个存储Video H264 一个存储Audio AAC 假设H264和AAC只包含单个流通道 avformat new stream 即在 A
  • 21. 实战:多线程+xpath抓取大量菜价信息(四种方法)

    目录 前言 目的 思路 代码实现 多线程 xpath 1 抓取单个页面 2 创建线程池 3 保存到文件 运行效果 完整代码 举一反三 多进程 xpath 多线程 bs4 多进程 bs4 总结 前言 我们学习了多线程 多进程对于提高效率的方法
  • Qt 的一些心得(背景设置,圆角,半透明)

    一 背景刷成黑色 前景色设为白色 方法一 paltette方式 经测试 该方法不会影响到其他控件 推荐使用 QPalette bgpal palette bgpal setColor QPalette Background QColor 0
  • SpringBoot课程笔记

    黑马程序员SpringBoot2课程笔记 一 基础篇 略 二 运维实用篇 1 SpringBoot运行与部署 略 2 SpringBoot配置 2 1 临时属性配置 可以在启动Boot程序时添加临时属性改变配置 2 1 1 属性加载优先级
  • java 静态类的实例_java中类的静态成员和实例成员

    一 基本介绍 java中的静态成员包括静态方法和静态成员变量 静态成员都是由static修饰的 java中的实例成员包括实例方法和实例成员变量 实例成员都没有被static修饰 二 使用语法 关于使用静态成员和实例成员的具体语法规则如下 p
  • 关于指针运算的一道题

    目录 刚看到这道题的时候我也和大多数小白一样感到无从下手 但是在我写这篇博客的前几分钟开始我对这道题有了一点点的理解 所以我就想着趁热打铁 写一篇博客来记录一下我的想法 题目如下 画图 逐一解答 题一 cpp cpp 1 c 2 POINT
  • 苹果手机10秒解除锁屏_忘记苹果锁屏密码10秒解决 音量键选择wipedata/

    导读 谈到苹果 大家应该都不陌生 有人问忘记手机密码了怎么办 另外 还有朋友想问oppo忘记图案解锁怎么办 这到底怎么回事呢 其实锁屏密码是四位数密码呢 下面是小编精心为你们整理的忘记苹果锁屏密码10秒解决 欢迎大家一起来阅读 忘记苹果锁屏
  • Android 获取当前应用的版本号和当前系统的版本号

    1 获取当前程序版本名 我们可以在AndroidManifest xml中设置程序的版本号等 如android versionName 1 0 那如果想在代码中获取这个版本号呢 可以用如下方法 这些修改版本号时只需要修改AndroidMan
  • 离线安装mariadb

    离线安装mariadb 文章目录 离线安装mariadb 一 下载Rpm包 二 按顺序安装依赖 galera安装 安装mariadb相关 三 安全配置 四 配置权限 五 通过navicat测试 一 下载Rpm包 前往MariaDB官网选择所
  • 如何写好一篇高质量的IEEE/ACM Transaction级别的计算机科学论文?

    http www zhihu com question 22790506 answer 81787300 f3fb8ead20 ea27429f8cbe31fd9183a68ccb41caa7 from timeline isappinst