你如何帮助人们学习逻辑?

时间:2009-01-22 01:46:29

标签: logic

非IT人员,尤其是程序员,没有很好的方法来解决问题。他们根本不像我们这样的程序员那样思考,他们有一个很好的logic。 我被问过太多次,我会建议他们改进他们的逻辑,最终有助于日常的专业问题。我想到的是好的谜题,数学问题等等。

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

9 个答案:

答案 0 :(得分:6)

关于codinghorror.com的相关文章:

Separating Programming Sheep from Non-Programming Goats

  

所有编程老师都会发现这一点   他们的结果显示出“双峰”。   好像有两个人口:   那些可以[编程]的人,以及那些   不能[程序],每个都有自己的   独立钟形曲线。差不多所有   编程教学与研究   学习集中在   教学:改变语言,改变   应用程序区域,使用IDE和   努力工作。 没有一个有用,   并且双驼峰仍然存在。

快速摘自上述摘录:据推测,如果一个人无法开始编程,无论你做什么都行不通。

  

编写您拥有的计算机程序   接受这个,接受   无论你想要什么   程序意味着,机器会   盲目地遵循其毫无意义的规则   并且变得毫无意义   结论。在测试中一致   小组表现出对此的预先接受   事实:他们有能力看到   数学计算中的问题   规则的条款,并可以遵循这些   他们可以领导的规则。该   另一方面,不一致的群体,   寻找不是的含义。该   空白组知道它正在寻找   无意义,拒绝   处理它。

我提议的解决方案:将它们转换为无神论/虚无主义。这样,他们就不会试图在不是[原文如此]的情况下寻找意义,也许会在二元方面达成协议。

答案 1 :(得分:3)

大多数不喜欢极客的人也不想像极客一样思考。

但解决问题的一部分是将其分解为更小的部分,每个部分都是一个容易解决的问题。如果他们可以学习如何将问题分解为可管理的块,那么他们将会很好地改善解决类似极客问题的某些部分。

至于逻辑,提醒他们不矛盾的法则:A!=!A。一件事情不可能同时存在真假。我们花了太多时间甚至不想直接思考。

答案 2 :(得分:2)

对于大多数非程序员,我推荐数独游戏和Brain Age等游戏。

答案 3 :(得分:2)

我第一次参加第一学期的课程约3次,然后我在绝望中尝试了一种采用“程序化”学习方法的在线课程。

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

为了解决不同的问题,在纸上玩“玩”玩具程序的时间最终结束了我对这个主题的绝对困惑。

使用我使用过这种程序化方法的免费CS入门课程的链接(放弃我的常规讲师)是:

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

使用堆栈和队列以及递归(但我们在课程中使用C但我认为在最终分析中并不重要)仍然难以解决考试级问题。

最后,考虑到我的技术水平,我没有考虑到CS专业,因为我会花费很长时间(大概2到3年)。

我小时候应该注意那些拼图书。我当时更像是一个乐高爱好者:)

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

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

答案 4 :(得分:1)

人们总能通过练习提高解决问题的能力,但(imo)只能在一定程度上提高。有些人永远不会这样想。从出生开始他们就没那么紧。我不认为我们对我们天生的潜力有很大的控制权,正是我们用它做的事情。

答案 5 :(得分:0)

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

答案 6 :(得分:0)

我怀疑接线是遗传的,它更可能在童年时被社会印在大脑上。有些孩子做谜题而其他孩子没做,那些做很多谜题的孩子会做好准备,但正如蜥蜴比尔提到的那样,我认为任何人都可以重新训练他们的大脑来抽象解谜。

答案 7 :(得分:0)

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

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

  • 玩国际象棋(这真的对生活有所帮助,如果你经常玩,你会自动开始考虑不同问题的不同替代方案,并将它们减少到最好的问题)
  • 解决Sudokus (这对于演绎技巧非常有用)

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

答案 8 :(得分:-2)

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

Logical Fallacies

我会向任何对语言的休闲性感兴趣的人推荐这个网站。网站上各种逻辑谬误的例子在很大程度上都非常好,我保证你会学到一些东西。转发它。

NMR