2010-06-13 61 views
3

我是一名营销人员,多年来一直在PHP/MySQL中忙乱。最近(过去几个月),我一直在用Python编写我自己的脚本/程序,并且我非常喜欢整个解决问题的过程。如何更深入地理解编程概念?

我已经阅读了一些书籍,并理解了OOP,多态等基础知识。我对AI和自然语言有着特别的兴趣,但似乎这些东西需要计算机科学的硕士学位。我对数学的认识很差。我最后一堂课是微积分,我忘记了大部分。

基本上我在寻找能够帮助我以更分析的方式思考的事情,也许会看到我之前没有的解决方案。提高我用Python编程的能力也不错。

我不需要学习一种特定的语言或用于工作,只是享受。虽然我的工作经常涉及网络开发,所以一些实用工具会很好。我不喜欢通过阅读它们来学习概念。我需要应用它们,即使这些例子是人为设计的。一些好书或其他资源的建议将会很好。 :)

道歉,如果这是过于空泛/放错地方...

+0

这应该是程序员? – 2012-07-20 13:04:22

回答

1

我读过(脱脂)的一些书籍,了解面向对象,多态等的基础

练习通过使用面向对象语言编写知识,而这种附加语言本身会为您的编码带来新的选择。 (以PHP为基础,显而易见的选择是使用JavaScript将功能添加到Web应用程序的客户端中)。

一旦您对第二语言满意,请添加第三,第四,...每年学习新语言都有很多需要说明的地方。 (这将需要时间来了解新的范式,有学习那里的一生。)

1

我在AI和 自然语言尤其是一般的兴趣,但它 看来这些东西需要在大师计算机科学。

不是。人工智能和自然语言方面的研究突破很少。尽管过去50年来取得了进展和改进,但没有人知道如何做得很好。这些都是很难的话题。

基本上我正在寻找的东西需要学习 这将有助于我认为在更多的分析 方式,也许看到的解决方案,我没有之前。

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

您可能已经过去了,但这是general problem-solving process

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

1

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

3

您需要一个项目来完成。这将强化你的解决问题的能力。我曾在课堂上建议的一些项目创意:

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

您填写详细信息。它必须是简单好玩。不要“咬牙切齿”,比如实时3D图形(除非你认为你可以做到这一点)。

我有一个学生,一位年轻的亚裔美女,模仿了一段关系 - 芭比与肯。
这是残酷的!但它是教育......

0

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

  • 封装 - 从另一个
  • 调用一个函数 - 分组码到功能
  • 泛化
  • 组成递归 - 自己调用函数
  • 调试概念
  • 增量式开发

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