这个问题最初是在堆栈溢出时提出的,但建议将问题移到这里。
我找不到和我要问的问题完全一样的问题,所以如果已经有类似的事情,请原谅我,请自由地指出我的正确方向。这也需要一些背景解释,请原谅我。
背景故事
基本上,我大约18个月前从大学毕业,获得了商业信息系统和日语学位。日本人占了学位的一半,因此国际清算银行只是一个联合机构。我只在语言方面学习PHP,基本上没有计算理论--一切都是职业的(网络、编程基础、CMS开发、Office和VBA,然后是大量的商业理论课程)。
因此,我决定教自己C#和ASP.Net,并尝试获得程序员的职位。我创建了一个在线商店风格的网站和一个Windows表单中的小型CRM应用程序,既教我自己,又构建一个组合,幸运的是,我成功地抓住了一个开发人员的位置。
坏的一面?我是我公司唯一的开发商。别误会我,在过去的一年里,我学到了很多东西,我做了一些很有意义的事情。大学之前,所以知道基本的无论如何,但这是一个非常“从书本学习”的工作-每天晚上。
那么现在..。我现在正处在一个时刻,我正在定期地构建软件,对时间尺度做出正确的判断,甚至有人告诉我,我的代码和方法是好的,其他专业人士在游戏中的时间比我长,而且他们为我提供了工作机会。
/backstory
这整件事归结起来就是,我现在想学习那些我不做CS就会错过的话题。更重要的是,你能推荐书籍/免费在线课程吗?我想学习计算机科学理论,而不仅仅是更好的编码。
谢谢!
发布于 2010-11-08 14:21:31
这里的关键是尝试吸收概念,而不是细节。例如,与其学习Java,不如了解它带给表的虚拟机以及它与C# CLR的区别。
您想要涵盖的主题类型如下(不按特定顺序排列):
有大量的资源-MSDN的第九频道,雅虎!/Google视频,YouTube,VideoJug等。
如果你真的想跟上一个科普·斯奇的人,那么看看任何一所大学的课程招股说明书,来了解他们在CS课程中所涵盖的主题。就我个人而言,我会更多地关注软件工程课程,而不是计算机科学,因为你有编程的历史,但也许不需要学习微电子来理解它们(在英国,CS =编程+硬件,SE =编程+理论)。
发布于 2010-11-07 22:01:15
数学。
你必须真正擅长数学。这并不是因为为了编写代码,您可能会遇到求解微分方程的需要,而是因为您需要解决数学问题所需的相同技能,才能真正精通软件工程。我建议你在当地社区学院上几门高级数学课。也许是一种数值方法或离散数学课。
几年前,我修了一门软件工程课程,攻读计算机科学学位,教授使用了麻省理工学院的开放式课程软件的一些材料。他用了6.170道菜。我建议学习这门课,并学习一门关于面向对象编程,特别是设计模式的好课程。如果你还有时间,想学更多,那就继续学习人工智能和计算理论。如果我不得不选择一门在我作为开发人员的职业生涯中最有帮助的课程,那就是设计模式的研究。
因为我的名声很低,所以我不能发布更多的链接。做一个谷歌搜索“四人帮设计模式”的书,是经典地用来教这门学科。
祝好运!
发布于 2010-11-07 23:03:28
如果你能负担得起,可以无限订阅在线狩猎书籍。你将有数千本与计算机有关的书籍(和其他技术书籍)。选择一个主题:算法是一个很好的起点。然后介绍了数据结构和程序设计。面向对象编程选择一种不同于您已经知道的新语言--比如Ruby或Python。浏览一些关于每个主题的书籍,以及那些你喜欢的书,深入阅读。
然后,选择一些您感兴趣的主题,比如操作系统、编译器、密码学、图像处理等等。
https://softwareengineering.stackexchange.com/questions/17525
复制相似问题