Questions tagged «education»

提及学习/教学计算科学的问题

7
每位计算科学家应具备哪些核心技能?[关闭]
每个科学家都需要对统计知识有所了解:什么是相关性,什么是置信区间,等等。同样,每个科学家都应该对计算有所了解:问题是什么?期望每个在职的科学家都知道有关构建和使用软件的合理知识吗?我们列出的核心技能是-人们在以“ cloud”或“ peta”为名处理任何事物之前应了解的事情-是: 基本编程(循环,条件,列表,函数和文件I / O) shell /基本的shell脚本 版本控制 测试多少程序 基本SQL 这个列表中没有很多东西:矩阵编程(MATLAB,NumPy等),使用得当的电子表格,它们与大多数编程语言一样强大),诸如Make的任务自动化工具,等等。 那么:您的清单上有什么?您认为现在期望每个科学家都知道吗?您会从上面的列表中拿出什么来腾出空间吗?没有人有足够的时间学习一切。
52 education 

7
通过翻牌计数进行算法分析已经过时了吗?
在我的数值分析课程中,我学会了通过计算相对于问题的大小所需的浮点运算(触发器)的数量来分析算法的效率。例如,在Trefethen&Bau的“数值线性代数”一书中,甚至有3D外观的翻牌计数图片。 现在时髦地说“触发器是免费的”,因为获取不在缓存中的任何内容的内存等待时间比触发器的成本大得多。但是,我们仍在教学生数数失败,至少在数值分析课程中是如此。我们应该教他们计算内存访问吗?我们需要写新的教科书吗?还是内存访问太特定于机器而无法花费时间?从瓶颈还是访问内存的角度来看,长期趋势是什么? 注意:以下某些答案似乎是在回答一个不同的问题,例如“我是否应该过分重写我的实现以节省一些触发器或提高缓存性能?” 但是我要问的更多的是“ 用算术运算或内存访问来估计算法复杂性是否更有用?”

8
是否有任何开源或易于访问的软件可以简化
我总是用手来计算,但现在我的同志们变得烦人,并且进行了很多重复的练习,其中涉及的只是像上面的表达式那样插入东西。我对诸如Python或R之类的简化此类方程式的开源软件特别感兴趣。我尝试使用Wolfram Alpha,但未成功。哪些开源软件包能够替代表达式入方程x 2 +2x+3并简化结果?具体来说,我正在寻找具有类似命令之类的软件包。x=2–√t−1x=2t−1x=\sqrt{2}t-1x2+2x+3x2+2x+3x^{2}+2x+3simplify

7
计算科学是否涉及编程?
我在Wikipedia上了解了计算科学,但是我的理解不是很清楚。 计算科学是否涉及编程?计算科学与计算_ ____有什么不同?计算_____的空白可以是任何学科(材料科学,工程学,化学,生物学等)?(我将从事计算材料科学。)

3
我应该如何学习创建和编程HPC系统?
我所从事的领域不一定能完成大量的HPC工作,当它遇到时,通常是其他领域的研究人员探索其方法等的新应用的结果。首先,这意味着它永远不会真正地在学习过程中被引入,也不会在讲习班,研讨会等类似场合中得到长大,有可能不需要它就可以从事整个职业。 但是,与此同时,我所做的许多工作都可以从更好地利用我可用的HPC资源中受益-主要是采用很好的并行蒙特卡洛模拟的形式。 我的问题是找到资源来学习如何使用群集,MPI等。并且在我不太了解的情况下将好与坏分开。 对于有关在这些类型的系统上进行编程的书籍,或者有关设置和运行自己的非常适度的HPC设置的书籍,有何建议?
16 hpc  education 

1
“知识卷轴”方法对Comp的效果如何。科学吗?
我在读这在数学SE。基本问题是: 假设有人希望学习高级的东西;一种方法是从基础开始并逐步建立。但是“大局”可能会在此过程中迷失方向。另一种方法(我更喜欢将其称为“递归Wiki”)是拿起一篇论文,然后用Google / Wiki读一个人们不理解的术语。阅读它们。其中将包含新术语。Google / Wiki,直到您完全了解该材料的“基本情况”为止。向后工作,直到您完全了解纸张。重复其他论文。这将在保持动力的同时获得知识。但是,这可能会导致基本问题。 它基于斯坦福大学Vakil教授的文章。这是节选: .....数学是如此的丰富和无限,以至于不可能系统地学习它,而且如果您在继续学习下一个主题之前等待一个主题,那么您将无所适从。相反,您将拥有远远超出您的舒适范围的知识卷须。然后,您可以稍后从这些卷须回填,并扩展您的舒适范围;这比学习“前进”要容易得多。(警告:此回填是必需的..... 反对该方法的人普遍认为,对于像代数几何这样的领域(每个季度发表100篇论文)或String Theory研究(如果您尝试在接触String Theory之前建立数学基础)的领域,就可以了。 80与阿尔茨海默氏症。我的问题是:这是学习CompSci的好策略吗? 由于Comp Sci的跨学科性强(通常,工程师必须同时了解数学和计算机知识),这样的递归学习模式是否足以进行学术研究?还是传统模式太好了,无法替代? 例如,我需要了解0操作系统知识,了解转换后备缓冲区(TLB)。 我的递归路径(根据维基百科)是: TLB>缓存>(返回)TLB>页面表>(返回)TLB>虚拟地址>(返回)TLB>重新读取。完成 我觉得我知道TLB是什么,如果再次遇到它,我会知道会发生什么。我在欺骗自己吗?

1
以计算物理学着称的大学
我对计算物理学非常感兴趣,学习这些主题非常有趣。由于我计划出国一学期,所以我想知道哪些大学以计算物理着称?特别是关于美国的大学? 我知道计算物理学不是物理学的一个庞大而独立的分支,而是经常被整合到理论物理学系中。但是,尽管如此,我还是非常感谢活跃和不断发展的研究小组的任何暗示和建议。 编辑:我被要求在我感兴趣的主题上添加更多细节。 这有点困难,因为我在我的第四学期学期,几乎不了解晶格量子场论。因此,很难说我更喜欢特定的研究领域。 我希望找到一种大学/系,该系将提供一些关于计算物理的讲座或提供广泛的可能性,以便我一获得理论背景就可以进行专业研究。
14 education 

6
在C / C ++中是否有BLAS的参考级实现?
netlib BLAS实施是一个很好的参考,大多数未进行优化且有据可查(例如zgemm)。但是,它在Fortran 77中使用,这使那些接受过更现代编程编程的人无法使用。在C / C ++中是否有BLAS的参考级实现(如netlib)?
11 blas  education 

5
集中精力学习数学或计算是否更可取?
在研究Krylov子空间方法的同时,我可以选择探索HPC背后的数学或计算理论(硬件,OS,编译器等)领先一步。目前,我知道,这两个足以只是通过获得。例如,我知道如何推导CG方程和迭代方法的基础,但是对于细节和诸如Preconditioners和Convergence之类的更复杂的东西我一无所知。同样,我知道有限元方法的基础(弱形式,非弱形式,诸如Codomain和Galerkin之类的东西),但不知道其深度。在计算方面,我知道如何以所有可能的语言进行串行编码,并且可以很好地使用OpenMP和MPI。我不太了解硬件和缓存。 我的问题是:一个人应该专注于什么:数学或计算?它们在HPC中密不可分吗?是否建议一个人了解一个而不是另一个? 编辑:我目前主修机械工程(我很遗憾),并且有大量的工程和计算课程(流体,传热等)。我今年将加入HPC研究生院,在开始研究生学习之前,我想加强一些方面(数学/比较/混合)。我同样喜欢数学和数学(因此“尽享更多乐趣”是多余的)。


4
我们如何评估学生在计算科学课程中的表现?
作为必须教授计算机科学课程的人,我面临着一个古老的问题:我如何评估学生学习一门学科的能力,该学科取决于难以使用“标准”测试方法进行测试的应用程序(笔试或口试)?本课程的一部分确实取决于对抽象水平的理论和方法的理解,为此,我想继续对这些概念使用笔试。但是,测试对这些方法的实际使用的理解需要另一种方法 鉴于自然挑战不仅与不同平台(用于MATLAB,Modelica,Mathematica和其他语言)的泛滥相关,而且还与Internet连接和测试安全性相关,因此,我将对新的或原始的方法感兴趣,以实际评估学生对以下方面的理解:数值方法。(增强测试安全性的功能是特别可取的。) 编辑:我还应该提到,我所教的课程是入门级课程,因此学生的工作基础相对较小。
10 education 

1
可以轻易理解的论点是,普通的Runge-Kutta方法不能推广到SDE吗?
解决随机微分方程(SDE)的一种简单方法是: 采取常规的多步Runge-Kutta方法, 对基础的维纳过程进行足够精细的离散化, 使Runge-Kutta方法的每个步骤都类似于Euler-Maruyama。 现在,这在多个级别上都失败了,我明白了为什么。但是,现在我的任务是说服这个事实的人们,他们对Runge-Kutta方法和随机微分方程一无所知。我所知道的所有论点都无法在给定的上下文中很好地传达。因此,我正在寻找一个容易理解的论点,即上述方法注定要失败。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.