你如何帮助人们学习逻辑? [关闭]

Posted

技术标签:

【中文标题】你如何帮助人们学习逻辑? [关闭]【英文标题】:How do you help people learn logic? [closed] 【发布时间】:2010-10-02 20:09:07 【问题描述】:

不是 IT 的人,更具体地说是程序员,没有解决问题的好方法。他们根本不像我们这些程序员,他们有一个好的logic。 我被问了太多次了,我会推荐他们什么来改进他们的逻辑,这最终将有助于解决日常的专业问题。我想到的东西是很好的谜题、数学问题等等。

话虽如此,您会推荐什么,为什么?书籍、网站、文章?

【问题讨论】:

为什么即使问题被标记为“与编程无关”,也会因为“与编程无关”而关闭。我认为这个问题可能很重要,因为这些人正在努力提高他们的批判性思维能力,以便他们能够更轻松地解决问题。 是的,为什么它被关闭为“未编程相关”?它与编程有关。我应该被关闭为“不是一个真正的问题”:) 不要关闭这个。这是一个非常中肯的问题。 但是,问题标题应该编辑成更相关的内容。 这个问题似乎离题了,因为它不在帮助中心所述的讨论范围内。 【参考方案1】:

codinghorror.com上的相关文章:

Separating Programming Sheep from Non-Programming Goats

所有编程教师都发现 他们的结果显示出“双峰”。 好像有两个种群: 那些可以[编程]的人,以及那些 不能 [program],每个都有自己的 独立的钟形曲线。几乎全部 程序设计教学研究 学习集中在 教学:改变语言,改变 应用程序区域,使用 IDE 和 努力工作。 都不行, 双峰持续存在。

从上面的摘录中快速得出结论:推测如果一个人一开始就不会编程,那么无论你做什么都是行不通的。

要编写一个计算机程序,你有 接受这个,接受 无论你想要什么 程序的意思是,机器将 一味地遵循其无意义的规则 来一些毫无意义的 结论。在测试中一致 小组对此表示预先接受 事实:他们能够看到 数学计算问题 规则条款,并且可以遵循那些 规则,无论他们可能导致。这 另一方面,不一致的组, 在没有意义的地方寻找意义。这 空白组知道它正在寻找 毫无意义,拒绝 处理它。

我提出的半开玩笑的解决方案:将他们转变为无神论/虚无主义。这样一来,他们就不会试图在没有意义的地方寻找意义 [原文如此],然后也许会接受二进制。

【讨论】:

出于某种原因,我现在正在唱蛋糕歌词“绵羊去天堂,山羊去地狱!”【参考方案2】:

大多数不像极客那样思考的人也不想像极客那样思考。

但解决问题的一部分是将其分解为更小的部分,每个部分都是一个容易解决的问题。如果他们能够学会如何将问题分解为可管理的块,那么他们将在解决类似极客问题的某些部分方面做得很好。

至于逻辑,提醒他们不矛盾定律:A != !A。一个事物不可能同时是真的和假的。我们花费了太多时间,甚至没有努力思考。

【讨论】:

逻辑思维没有什么极客【参考方案3】:

我向大多数非程序员推荐数独和Brain Age 之类的游戏。

【讨论】:

【参考方案4】:

我第一学期的编程考试不及格大约 3 次,然后我绝望地尝试了一个采用“编程”学习方法的在线课程。

它通过为一些更常见(对你们来说真的很简单)编程逻辑构造提供上下文和动机,帮助我理解编程(我相信),从而帮助我克服了“困难”。

之后针对不同问题在纸上“运行”玩具程序数小时的练习终于结束了我对这个主题的绝对困惑。

使用我曾经使用过的这种编程方法的免费 CS 入门课程的链接(同时放弃了我的常规讲师)是:

http://chortle.ccsu.edu/CS151/cs151java.html

尽管使用堆栈、队列和递归(我们在课程中使用 C,但我认为在最终分析中这并不重要),但仍然被考试级别的问题所困扰。

最后,考虑到我的技能水平,我可能会永远学习 CS 专业(可能还要再等 2 到 3 年)。

我小时候应该注意那些益智书。那时我更像是一个乐高极客:)

CS 教师(只会说和说)需要多一点耐心,我们中的一些人不是很好的口头学习者。

分手的想法,我们都不能成为伟大的作家,但这并不能阻止一个人学习(或教一个人)如何写好。我认为信息时代的计算机编程也是如此。

【讨论】:

【参考方案5】:

人们总是可以通过实践来提高他们解决问题的能力,但(imo)只是在一定程度上。有些人永远不会这样想。他们只是从出生就不是这样的。我不认为我们对我们与生俱来的潜力有太多的控制权,只是我们用它做什么。

【讨论】:

【参考方案6】:

我发现,如果你一直在思考并且总是试图解决难题,即使是愚蠢的小孩,以一种整洁、有趣、优化、巨大、小型、​​几乎任何方式,那么你就会让自己保持敏锐。此外,阅读其他解决方案有助于指出您不会想到的事情,从长远来看,这些事情会为您提供可以应用于类似甚至不同情况的方法的“工具箱”。

【讨论】:

【参考方案7】:

我怀疑这种接线是遗传的,它更有可能在童年时期就被社会烙印在大脑上。有些孩子会拼图,有些则不会,那些会做很多拼图的孩子会准备得更好,但正如蜥蜴比尔提到的,我认为任何人都可以重新训练他们的大脑来解决抽象拼图。

【讨论】:

+1 相信人们可以改变。【参考方案8】:

我不太擅长逻辑,我曾经记得我遇到了一个问题,我想从数组中删除一些东西,有人来告诉我“你为什么不创建一个新的但不包括您要删除的项目?”。我真的很惭愧,我的意思是,这个解决方案是完美的,毕竟每种方法都需要迭代每个元素,为什么不简单地这样做并将它们复制到一个新数组但排除不需要的数组?

但回到这个问题,我推荐的一些事情是:

下国际象棋(这对你的生活很有帮助,如果你经常下棋,你会自动开始考虑不同问题的不同替代方案,并将它们减少到最好的方案) 解数独(这对推理技巧很有好处)

另一个真正提高我的逻辑能力的练习是设置一个简单的编程任务,然后尝试用 3-5 种不同的方式解决它。

【讨论】:

【参考方案9】:

这是我在网上找到的最好的逻辑谬误网站之一。

Logical Fallacies

我会向任何对语言的随意性感兴趣的人推荐这个网站。网站上每种逻辑谬误的例子大部分都非常好,我保证你会学到一些东西。转发一下。

核磁共振

【讨论】:

site you linked to 很糟糕,它解释了一堆常识性的东西,而少数有用的谬误被解释得很糟糕。 Wikipedia page 更有用也更容易理解。

以上是关于你如何帮助人们学习逻辑? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

人们通常如何在python中实现jsonp? [关闭]

使用opencv SVM训练火灾检测[关闭]

帮助学习 iCloud [关闭]

如何在颤动中实现以下小部件? [关闭]

最常用的日期查询[关闭]

如何使用 Google App Engine 验证表单数据? [关闭]