我想在业余时间从事一个编程项目,并想知道是否有一个项目可以以某种方式帮助科学界?
10 回答
当然,很多!我知道我不是第一个想到像Numpy/Scipy这样的数值计算库的人——其中的代码实际上相当成熟,但他们当然可以使用帮助文档。还有GNU Octave,它与 Numpy 做很多相同的事情,但不需要 Python。一个有很多工作要做的稍微相关的领域是计算机代数系统 (CAS),它基本上是 Mathematica 的开源等价物;例如Maxima,更多内容在http://sage.math.washington.edu/home/wdj/sigsam/opensource_math.html中列出。您还可以帮助使用可视化库,即创建 2D 和 3D 绘图和图形。对于 Scipy,最常用的绘图生成器是Matplotlib, 例如。还有很多更专业的数据可视化工具,我相信您可以通过几次搜索找到它们。
我个人认为需要大量工作的一个领域是为上一段中提到的程序创建 GUI;Matlab 和 Mathematica 等商业程序相对于其开源等效程序的一大优势是易于使用的图形界面。对于可能不擅长命令行操作的科学家来说,拥有一个好的可用界面会非常有用,但如果要赶上开源项目,还有很长的路要走。
我知道BOINC一直在寻求帮助
编辑:这是他们的编程帮助页面http://boinc.berkeley.edu/trac/wiki/DevProjects
除了在线搜索开源项目之外,您还可以尝试联系您当地的大学,询问他们的研究人员(学生或教师)是否需要开发帮助。
如果您仍在寻找,请随时通过我的个人资料页面与我联系 - 我知道需要软件的硬件产品 - 它用于研究(化学和生物学)
核广告粒子物理社区大量使用ROOT,它是使用开源方法开发的。他们毫不费力地接受建议和补丁。主要工作是在 C++ 中,但也有对其他语言的绑定和支持。
我确信其他学科也有自己的特定领域工具。例如,我知道有开放的计算流体动力学和有限元系统。
看看四周。虽然领域知识会有所帮助,但大多数大型工具都需要在 RDBMS 访问、GUI、文档等日常工作方面的帮助......
您可以通过阅读学术期刊的摘要来发现当前的科学问题。例如生物信息学杂志。
几个例子:
你也可以在Nature Network:Collaboration或FriendFeed: The Life Sciences上提出你的帮助
化学中有许多令人兴奋的机会。有一个强大的开源社区,其中大部分是在 Blue Obelisk ( http://www.blueobelisk.org ) 下组织的。在不需要以前的化学知识的可视化和算法方面做出了重大贡献,社区非常欢迎任何希望提供帮助的人。
有关已实现标准的示例,请查看 Jmol,它以 3D 形式可视化分子和其他化学(http://www.jmol.org);
还有真正的机会在平台/语言之间进行移植。最常见的是 Java、Python、C++,我们一直在使用 C#。您也不必成为 ace 程序员 - 对数据标准、数据资源、教程、打包、安装程序、测试等的贡献都受到高度重视。
其中一些项目在 Sourceforge 上排名前 100-500 的项目中。
不要忘记,如果您发现一个项目有点过头了,或者您无法真正做出贡献,但您仍然喜欢它的想法,您可以随时捐赠!