非IT人员,尤其是程序员,没有很好的方法来解决问题。他们根本不像我们这样的程序员那样思考,他们有一个很好的logic。 我被问过太多次,我会建议他们改进他们的逻辑,最终有助于日常的专业问题。我想到的是好的谜题,数学问题等等。
话虽如此,你会推荐什么?为什么?书籍,网站,文章?
答案 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)
我不擅长逻辑,我曾经记得我有一个问题,我想从阵列中删除某些东西,有人来告诉我“你为什么不创建一个新的但不包括您要删除的项目?“。我觉得非常惭愧,我的意思是,解决方案是完美的,毕竟,每种方法都需要迭代每个元素,为什么不简单地做到这一点并将它们复制到一个新的数组中,但不包括不需要的数组?
但回到这个问题,我建议的一些事情是:
真正提高我的逻辑技能的另一个练习是设置一个简单的编程任务,然后尝试以3-5种不同的方式解决它。
答案 8 :(得分:-2)
这是我在网上找到的最好的逻辑谬误网站之一。
我会向任何对语言的休闲性感兴趣的人推荐这个网站。网站上各种逻辑谬误的例子在很大程度上都非常好,我保证你会学到一些东西。转发它。
NMR