如何深入理解编程概念?

时间:2010-06-13 11:26:00

标签: language-agnostic

我是一名营销人员,多年来一直在使用PHP / MySQL。最近(过去几个月)我一直用Python编写我自己的脚本/程序,我真的很喜欢整个问题解决过程。

我已阅读(略读)一些书籍并了解OOP,多态性等基础知识。我特别关注AI和自然语言,但似乎这些东西需要计算机科学的硕士学位。我的数学知识很差。我上一节课是微积分,我忘记了它的大部分。

基本上我正在寻找可以帮助我以更加分析的方式思考的东西,并且可能会看到我以前没有的解决方案。提高我使用Python编程的能力也很不错。

我不需要学习某种特定的语言或就业,只需享受。虽然我的工作经常涉及Web开发,所以一些实用程序会很好。我不喜欢只是阅读它们来学习概念。我需要应用它们,即使这些例子都是人为的。一些好书或其他资源的推荐会很好。 :)

道歉,如果这太模糊/错位......

5 个答案:

答案 0 :(得分:3)

您需要一个项目。这将解决你解决问题的技能。我过去在课堂上提出的一些项目想法:

  • 一个小的“银行”计划,以跟踪家庭财务状况。
  • 一个跟踪投资的小程序。
  • 某种游戏,如小棒球模拟,或带房间和门的冒险游戏。
  • 科学计划,就像模拟遗传学的程序一样。
  • 模拟帆船比赛。
  • 播放音乐的节目。
  • 绘制有趣图片的程序。

您填写详细信息。它必须是简单有趣。不要“咬你的东西而不是咀嚼”,比如实时3D图形(除非你认为你可以做到)。

我有一个学生,一个甜蜜的年轻亚洲女人,模仿了一段关系 - 芭比与肯 这是残酷的!但它很有教育意义......

答案 1 :(得分:1)

  

我读过(浏览过)一些书籍,并了解OOP,多态等基础知识。

通过用OO语言书写来运用这些知识,而另外一种语言本身会为你的编码带来新的选择。 (以PHP为基础,显而易见的选择是使用JavaScript将功能放入Web应用程序的客户端中。)

一旦你对第二语言感到满意,就增加第三种,第四种语言......每年学习一门新语言还有很多话要说。 (并且需要时间来理解新的范例,在那里有一辈子的学习。)

答案 2 :(得分:1)

  

我对人工智能有很大的兴趣   特别是自然语言,但它   看来这些东西需要计算机科学的硕士学位。

不是真的。人工智能和自然语言的研究突破很少见。尽管在过去50年左右的时间里取得了进步和改进,但没有人知道如何做好这些事情。这些都是难题。

  

基本上我正在寻找要学习的东西   这将有助于我进行更具分析性的思考   方式,也许看到我之前没有的解决方案。

这是解决问题的一般方法。此技能不仅限于计算机编程。

你可能已经过了这个,但这里是general problem-solving process

选择一种计算机语言。在花了大约6个月研究语言的语法之后,研究该语言的设计模式。学习设计模式肯定会帮助您以更加分析的方式思考。

答案 3 :(得分:1)

转到projecteuler.com,尝试解决它们。

答案 4 :(得分:0)

免费书籍Think Python: How to Think like a Computer Scientist教授许多编程概念,如:

  • 封装 - 将代码分组为函数
  • 概括
  • 组合 - 从另一个中调用一个函数
  • 递归 - 自己调用函数
  • 调试概念
  • 增量开发

同时它充满了实际的例子和练习。练习的答案在本书的网站上给出。