计算机论文的研究方法有很多种。研究方法就是解决问题的工具。好比你要拧螺丝就需要螺丝刀。你要钉钉子就需要锤子。做研究也是一样。不同的问题需要用不同的方法。
一种常见的方法是实验方法。研究人员先提出一个想法。这个想法可能是一个新的算法。也可能是一个新的系统设计。然后他们去搭建一个实验环境。这个环境可能是真实的计算机。也可能是用软件模拟出来的。他们在环境里运行自己的新方法。同时也会运行一些旧的方法。他们会收集很多数据。比如程序运行的速度有多快。结果有多准确。用了多少内存。最后他们比较这些数据。新方法比旧方法好在哪里。好多少。为什么会有这些好处。实验方法的好处是结果看得见。数据很实在。别人可以相信。
另一种方法是理论分析方法。研究人员用数学工具来研究问题。他们不一定要在计算机上运行程序。他们用公式和定理来推导。比如分析一个算法的复杂度。他们证明这个算法需要多少时间。需要多少空间。他们关心算法的正确性。证明算法在任何情况下都能得到正确结果。理论分析很严格。逻辑上必须每一步都正确。这种方法能给出非常坚实的结论。但它有时离实际机器有点远。理论上的最优算法可能在现实中很难实现。
调查研究也是一种方法。当你想了解人的行为和看法时就用这种方法。比如研究一个新的软件界面是不是好用。你可以找很多用户来试用。你设计一份问卷。问他们问题。你觉得这个按钮容易找到吗。完成这个任务你花了多少时间。你喜欢这个设计吗。你还可以观察用户怎么使用软件。记录他们在哪里卡住了。在哪里犯了错误。通过分析这些回答和记录。你可以知道软件的优点和缺点。调查研究的关键是找到合适的调查对象。问的问题要清楚。不能有误导。
案例研究方法深入考察一个具体的实例。选择一个典型的例子。花很长时间仔细研究。比如研究一个大型软件项目的开发过程。你去看他们的文档。去访谈里面的程序员和经理。分析他们怎么分工。怎么沟通。怎么解决遇到的问题。案例研究能提供非常详细和深入的理解。它能揭示复杂现象背后的原因。但它的结论可能只适用于这个特定的案例。不一定能推广到所有情况。
有些研究用设计科学方法。它的核心是创造一个新东西。这个东西可能是一个模型。一个方法。或者一个系统。研究过程是循环的。先明确需要解决的问题。然后设计出解决方案的原型。接着评估这个原型。看看它哪里不行。再根据反馈改进设计。这样不断重复。直到得到一个好的结果。设计科学方法重视产品的实用性和创新性。它创造的知识就体现在这个最终的设计产物里。
还有比较研究。把两个或多个现有的东西放在一起对比。它们可能是不同的技术。不同的工具。不同的策略。研究者设定同样的条件。让它们处理同样的任务。然后从各个方面进行比较。看看哪个更快。哪个更省资源。哪个更容易使用。比较研究可以帮助人们在众多选择中做出更好的决定。
混合方法结合了上面说的好几种。比如既做实验收集数据。又做理论分析。还做用户调查。混合方法能从多个角度看待同一个问题。得到的结论更全面。更可靠。当然这样做需要更多时间。更多精力。
选择哪种方法取决于你的研究问题。你想知道一个新算法快不快。那就用实验方法。你想证明一个算法的正确性。那就用理论分析。你想了解用户的感受。那就用调查研究。你想深入理解一个复杂过程。那就用案例研究。你想创造一个有用的新工具。那就用设计科学方法。你想帮别人在几个选项中做选择。那就用比较研究。你觉得一个问题需要多方面证据。那就用混合方法。
研究必须有可靠的数据。数据从哪里来很重要。有些数据是自己做实验产生的。有些数据是从公开数据集获得的。有些数据是通过调查问卷收集的。使用数据要诚实。不能随便修改。数据处理的方法要写清楚。别人按照你的步骤应该能得到相同的结果。
研究过程需要仔细记录。你最初的想法是什么。你设计了什么方案。你具体每一步是怎么做的。遇到了什么困难。你是怎么解决的。这些记录让研究过程可以重复。别人可以检查你的工作。也可以在你的基础上继续前进。
评价一个研究方法好坏有标准。这个方法能真正回答你的问题吗。这个过程清楚吗。别人能照着做吗。你得到的结果可信吗。数据足够支持你的结论吗。你有没有考虑过其他可能性。你的研究有没有实际用处。或者有没有理论价值。
计算机研究的世界很大。新的问题不断出现。研究方法也在不断发展。有时候需要把旧的方法组合起来用。有时候需要创造全新的方法。关键是保持清晰的思路。知道你为什么要用这个方法。知道你每一步在做什么。知道你的证据在哪里。知道你的结论是什么。
做研究就像在黑暗中探索。好的研究方法就是一盏可靠的灯。它不能一下子照亮所有地方。但它能让你看清脚下的路。让你一步一步稳稳地往前走。最终找到你想要的东西。或者发现一个全新的地方。研究方法没有绝对的最好。只有最适合你的问题的那个。选对了工具。工作就能更顺利。得到的结论也更能让人信服。