A Comphrensive Guide for Your Research

Contents

引言

开展科研(计算机领域)对于学生来说是一个充满挑战但又令人兴奋的旅程。本指南旨在为正在阅读的你提供全面的资源,涵盖从工具使用到领域知识、会议期刊、论文编写等各个方面,帮助你在科研道路上取得成功。

科研工具的使用

编程环境与工具

  • 集成开发环境(IDE)
    • Visual Studio Code:一款轻量级但功能强大的源代码编辑器,支持多种编程语言和扩展。
    • PyCharm:专为 Python 开发者设计的 IDE,提供智能代码辅助和调试功能。
    • Eclipse:一个开放源代码的 Java IDE,也支持其他编程语言。
  • 编程语言
    • Python:易于学习,拥有丰富的库和框架,适用于快速开发和数据科学。
    • Java:广泛应用于企业级开发,具有强大的跨平台能力。
    • C++:高性能编程语言,适用于系统开发和性能关键的应用。
  • 调试工具
    • GDB:GNU 调试器,适用于调试 C/C++ 程序。
    • PDB:Python 自带的调试器,帮助调试 Python 程序。

版本控制系统

  • Git
  • GitHub/GitLab
    • GitHub:全球最大的代码托管平台,支持开源和私有仓库。
    • GitLab:提供类似于 GitHub 的功能,支持自建服务器。

文献管理工具

  • EndNote
  • Zotero
    • Zotero 官网:免费开源的文献管理工具,支持多种浏览器插件。
  • Mendeley
    • Mendeley 官网:Elsevier 公司提供的文献管理工具,具备学术社交功能。
  • LaTeX

文献查找下载工具

在科研过程中,获取所需的学术文献是非常重要的一环。以下是一些合法且常用的文献获取渠道和工具:

  • 图书馆资源:利用所属学校或研究机构的图书馆,访问订阅的数据库和期刊,如 IEEE XploreACM Digital LibrarySpringerLink 等。
  • 开放获取(Open Access)平台
    • arXiv:主要收录物理、数学、计算机科学等领域的预印本论文。
    • arXiv-sanity:在功能上相比于 arXiv 有很大的改进,包括在浏览中显示摘要、评论和非常基本的社交、推荐、库功能。搜索也更好用。
    • Directory of Open Access Journals (DOAJ):索引和提供高质量的开放获取期刊。
  • 学术社交网络
    • ResearchGate:研究人员可以分享自己的论文,并与同行交流。
    • Academia.edu:提供论文分享和跟踪研究兴趣的功能。
  • 学术搜索
    • Google Scholar:通过搜索论文标题,查找可用的在线版本或相关链接。
    • dblp: computer science bibliography:专为 CS 设计的论文查询网站,收录比较顶级并可以被检索到的论文。可以根据会议、期刊等分类查询作者的论文,想搜一个计算机会议的所有文章时好用。
    • Semantic scholar:可以结合外部材料整合进行论文的语义分析。功能包括:展示引用和参考文献、度量论文影响力、展示论文图表、自动生成关键词(根据标题)、分析作者、在互联网寻找额外资源(例如,相关 youtube 视频),以及推荐论文。
    • Paper Digest – AI for tracking and summarizing papers: 提供邮件订阅前一天出的论文的列表,附有每篇论文的一句话总结。对我更重要的是这个网站也会在每个顶会论文全部公布时进行整理。
    • SCI-Hub 科研论文全文下载可用网址
  • 代码实现查找: Papers With Code:自动把论文连接到实现代码的 GitHub 资源库和数据集,并根据 GitHub 的收藏量排序。展示各任务上的 SOTA 以供比较。
  • 电子邮件请求:如果无法获取全文,可直接给论文作者发送礼貌的电子邮件,说明研究需求,请求共享论文。
  • 作者个人主页:一些研究者会在个人或机构主页上分享自己的论文,直接访问作者的网站可能获取到需要的文献。

语言表达工具

搭配查找

句式推荐

写作检查

除开各种类 ChatGPT 外的一些选择。请注意在线检测工具的泄露风险,谨慎处理关键文字。

  • Grammarly:语法、句型、标点、选词检测修改,有浏览器插件。
  • Nounplus.net:免费的在线英文语法检测。

公式编辑

  • Mathpix:通过截取复杂数学方程式的截图将其转换为 LaTeX 代码。可以处理 PDF 的印刷体和照片中的手写公式等。
  • MyScript Webdemo:Math 模块可以将手写公式转为 LaTeX 代码;同时,Diagram 模块可以将手绘的框图转化为工整的框图。
  • Detexify LaTeX handwritten symbol recognition: 忘记某些字符用 LaTeX 怎么表示时,可以在这个网站上通过手写来查询。
  • Excel2LaTeX:用在 Excel 上的宏工具,能够将 Excel 表格转换为 LaTeX 代码,节省很多时间。能够满足大多数效果的转换,有些效果可能需要微调。

绘制示意图工具

绘图工具

  • Mac OS 系统可以使用 OmniGraffle。
  • PPT 通常是我的第一选择:入手快,种类多,自由度高,支持导出矢量图。

绘图参考

PPT 插件

  • IguanaTex:帮助插入 LaTeX 公式的 PPT 插件。将输入的 LaTeX 代码转换为高质量的 png 或矢量图来插入。

图片转换

提供各种格式的图片的转换服务的网站很多。这里只是简单列举,你也可以通过搜索引擎来找到其他类似的网站。

图片修整

  • Crop PDF files online - PDF Tools:裁剪 pdf 文件的白边。
  • TexLive 自带了一些命令行工具:
    • 将 eps 转换为 pdf:epstopdf <file.eps>
    • 自动裁剪 pdf 的白边:pdfcrop <file.pdf>

计算机科学基础知识的学习途径

计算机视觉(CV)

人工智能(AI)

  • 基础理论
    • 机器学习:Andrew Ng 的机器学习课程,深入浅出。
  • 框架使用
    • TensorFlow:谷歌开发的深度学习框架。
    • PyTorch:Facebook 开发的深度学习框架,灵活易用。
  • 实践项目
    • Kaggle:数据科学竞赛平台,提供丰富的数据集和竞赛机会。

区块链(Blockchain)

  • 概念理解
  • 平台学习
    • 以太坊:支持智能合约的区块链平台。
    • Hyperledger:Linux 基金会托管的开源区块链项目。
  • 智能合约

数据收集资源

在科研过程中,获取高质量的数据集是进行实验和验证的关键。以下是一些常用的数据收集平台和工具,涵盖各个领域。

通用数据集平台

  • Kaggle
    • Kaggle Datasets:提供数千个开放数据集,涵盖机器学习、深度学习等多个领域。
  • UCI Machine Learning Repository
    • UCI 数据集:经典的机器学习数据集仓库,适用于分类、回归、聚类等任务。
  • OpenML
    • OpenML:一个开放的机器学习平台,提供数据集、任务和结果的共享。

公共政府数据平台

  • 中国政府数据开放平台
    • 数据中国:汇集中国各级政府的公共数据资源,包括经济、人口、环境等多个领域。
  • Data.gov
    • Data.gov:美国政府的开放数据平台,提供农业、教育、能源等领域的公共数据集。
  • 欧盟开放数据门户(European Union Open Data Portal)
  • 英国政府开放数据
    • data.gov.uk:英国政府的开放数据网站,涵盖交通、健康、教育等多个领域的数据集。
  • 澳大利亚政府开放数据
    • data.gov.au:提供澳大利亚各级政府的公共数据资源。
  • 世界银行开放数据
  • 联合国数据
    • UNData:联合国提供的全球统计数据,涵盖人口、气候、贸易等多种主题。
  • 日本政府开放数据
    • data.go.jp:日本政府的开放数据平台,提供多领域的数据集。
  • 加拿大开放数据
    • open.canada.ca:加拿大政府的开放数据门户,涵盖农业、商业、环境等领域。

计算机视觉数据集

  • ImageNet
    • ImageNet:大型图像数据库,用于图像分类和物体识别研究。
  • COCO Dataset
    • COCO:用于物体检测、分割和标注的大型图像数据集。
  • MNIST
    • MNIST:手写数字识别的标准数据集。

自然语言处理数据集

  • GLUE Benchmark
    • GLUE:用于评估自然语言理解模型的多任务基准数据集。
  • SQuAD
    • SQuAD:机器阅读理解的数据集。
  • Wikipedia Dumps

语音与音频数据集

  • LibriSpeech
    • LibriSpeech:大型英语语音数据集,用于语音识别研究。
  • VoxCeleb
    • VoxCeleb:大规模的说话人识别数据集。
  • AudioSet
    • AudioSet:由谷歌提供的音频事件数据集。

时序与金融数据

医学与生物数据集

  • PhysioNet
    • PhysioNet:提供生理学信号数据库,用于医学研究。
  • The Cancer Imaging Archive (TCIA)
    • TCIA:医学影像数据集,供癌症研究使用。

社会科学与人文数据集

数据采集工具

  • Web Scraping 工具
    • Beautiful Soup:Python 的网页解析库,用于从网页抓取数据。
    • Scrapy:Python 的强大爬虫框架,适用于大规模数据抓取。
    • Selenium:用于自动化网页浏览和数据提取。
  • API 访问工具
    • Postman:用于 API 开发和测试的协作平台。
    • Requests:Python 的 HTTP 库,简化 API 调用。

开源数据集汇总平台

  • Data.gov
    • Data.gov:美国政府的开放数据平台,提供各领域的公共数据集。
  • KDNuggets
  • Awesome Public Datasets

计算机科学会议与期刊介绍

顶级会议

重要期刊

会议期刊查找筛选

  • ccf-deadlines:可以根据研究方向和 CCF 等级来筛选本年度已经确定截稿日期的会议。对国内的同学比较友好。
  • AI Conference Deadlines:可以根据研究方向筛选会议。但是好像需要科学上网才能看到全部信息。
  • Conference List:根据截稿时间排序,过期的会议不在首页出现。有一页可以看每个研究方向有哪些会议,但是没有办法根据研究方向筛选还没过期的会议。
  • Conference Partner (会伴):计算机最新国际会议和期刊列表。可以注册以关注会议或期刊。比较全,但目前信息更新不及时。

论文的编写与发表

论文结构

一篇优秀的论文通常包含以下几个部分:

  1. 题目:题目是论文的招牌,旨在告诉读者论文的主要内容并暗示研究成果。一个好的题目应贴切、具有新鲜感和创意,准确反映论文内容。题目长度适中,字词精准,避免过长或过短。

  2. 摘要:摘要是整篇论文的缩影,应提纲挈领地概述研究内容和成果。内容清晰简洁,避免冗长,使读者在阅读后对论文有清晰的概括。

  3. 导论:导论引导读者进入论文的核心,包括研究动机、所探讨的问题、解决问题的重要性。介绍相关研究成果的优缺点,指出本研究与他人工作的差异和优势。

  4. 回顾:回顾相关的研究方法,简要介绍他人的工作,为后续的比较和讨论奠定基础。无需详述,可通过示例或重写算法突出重点。

  5. 主体:详细描述所提出的方法,是整篇论文的核心。通常只提出一个方法,避免在一篇论文中提出多个互相竞争的方法,除非每个方法都有特定的适用条件。

  6. 理论分析:这是论文的重要部分,用于证明所提出方法的正确性、适当性和可行性。利用相关理论进行分析,与其他方法比较,突出本方法的优势。

  7. 实验:通过实验数据验证理论分析的正确性和优越性。实验数据应客观、充足,避免伪造数据。多引用知名数据集和实验结果,增强说服力。

  8. 讨论:针对理论分析和实验结果进行讨论,分享观察到的现象和心得。内容应客观,不夸大其词,全面交代方法的优缺点。

  9. 结论:对整篇论文进行总结,强调研究贡献,突出论文价值。可提出值得思考的问题或未来研究方向,供读者参考。

  10. 参考文献:列出论文中提及的所有参考文献,格式统一,信息完整,方便读者查阅。只列出实际引用的文献,确保准确性和相关性。

投稿与审稿流程

  • 期刊/会议选择:根据研究领域和成果选择合适的期刊或会议,了解其影响力和审稿周期。

  • 投稿准备:按照目标期刊或会议的投稿指南准备稿件,确保格式、字数和模板符合要求。

  • 审稿应对:认真阅读审稿意见,逐条回复并修改稿件。保持积极的态度,及时反馈,必要时可进行申诉。

参考文献的注意事项

  • 相关性:只列出论文中实际引用的文献,避免堆砌无关的参考文献。

  • 格式统一:遵循目标期刊或会议的参考文献格式要求,确保信息完整,包括作者、标题、出版物、年份等。

  • 权威性:优先引用权威期刊、知名会议和经典著作,提升论文的学术水平。

  • 准确性:确保引用的文献信息正确,引用序号与正文对应,避免错误引用。

论文投递

匿名链接

出于论文盲审考虑,有时候文件(如源码)链接需要是匿名的。有些人会选择在 Github 上创建一个匿名账号,但为每一个会议的每一篇论文都创建一个账号可能过于繁琐。我查到有一些工具支持匿名分享文件如下。

arXiv 提交

代码开源

为已发表的论文提供清晰、可复现的代码能够有效推动领域发展。这里推荐一些对开源代码有帮助的工具。

  • ReproducibilityChecklist-v2.0:一份机器学习复现清单,列举了你应该提供哪些文件来增强你的论文的可复现性。
  • pigar:Python 项目 requirements 文件自动生成工具。

时间管理与效率提升

  • 计划制定
    • Trello:可视化的任务管理工具。
    • Asana:团队协作和项目管理平台。
  • 笔记和知识管理工具
    • Notion:集笔记、知识库、任务管理于一体的全能工具。
    • OneNote:微软推出的数字笔记应用,支持多平台同步。
    • Evernote:支持跨设备的笔记和文档管理工具。
  • 番茄工作法
  • 效率工具
    • RescueTime:帮助追踪和管理时间使用情况。
    • Focus@Will:提供专注工作的背景音乐,提高效率。

学术报告与展示

  • PPT 制作
  • 口头报告:练习演讲技巧,提升表达能力。
  • 海报展示

更多资源与学习建议

在线课程与学习平台

社区与论坛

心理健康咨询

在科研过程中,保持心理健康至关重要。高强度的学习和研究压力可能会影响情绪和身心健康,以下是一些心理健康咨询资源:

  • 学校心理辅导中心:大多数高校都设有心理辅导中心,提供专业的心理咨询服务,建议预约咨询。
  • 心理健康热线
    • 中国心理援助热线:拨打电话 12320,获取免费的心理援助服务。
    • 全国心理援助联盟热线400-161-9995,提供全天候的心理支持。
  • 在线心理咨询平台
    • 壹心理:提供专业的在线心理咨询和心理测试。
    • 简单心理:连接用户与持证心理咨询师的平台。
    • 春雨心理:提供在线心理咨询和健康指导。

结论

科研是一项长期且富有挑战性的任务,但通过合理的规划和持续的努力,你将能够取得令人满意的成果。希望本指南能为你的科研之路提供有益的帮助,祝你在学术领域取得卓越的成就。