谷歌公司发布程序员养成指南,推荐相关在线课程

进入谷歌那样的大公司工作是多少程序员的人生梦想!最近,Google Education代言啊不推荐了一系列计算机相关课程,为想要学习编程的大学生们指明方向,非大学生也可以来学习哟~

谷歌推荐的课程更像是一个“技能树”,课程主要来自美国名校和各种开源教程,你也可以按照这个顺序学习中文的同类课程。

前面的 academic 系列课程比较接近计算机专业的学习顺序。如果你不打算成为专业的工程师,只想掌握一点编程知识,在工作中使用的话,可以直接拉到帖子中部开始观看。

————————以下内容搬运自Google Education————————

要成为一名成功的软件工程师,你必须具备扎实的计算机科学基础。本自学指南适用于想要学习编程的大学生们,分为专业方向和非专业方向两个系列。你可以借助这个指南进行自学,但请首先修够你的专业学分,以保证顺利毕业。

本课程表中的课程不能代替大学课程,但它们能够帮助你进一步学习计算机科学,或者对这个领域建立初步理解。

关于如何使用本学习指南的4点建议:

  • 请考虑自己的实际情况进行学习。
  • 如果你还想学习《指南》之外的其他课程,尽管上吧!
  • 本指南仅供参考,即使学完这上面的所有课程,也不能保证你一定能进入谷歌工作。
  • 本指南不定期更新。你可以在Google +上关注 Google for Students +Page ,随时获取更多资讯。


【为进军学术界作准备的课程】

计算机科学导论课程

你可以选择提供在线编程工具的计算机导论课程。

课程推荐:

Udacity - intro to CS course

Coursera - Computer Science 101


学习至少一种面向对象编程语言,如C++,Java 或Python

入门课程:

Coursera - Learn to Program: The Fundamentals,

MIT Intro to Programming in Java(注:这是他们的公开课视频)

Google's Python Class(注:Google Developers出品!)

Coursera - Introduction to Python

Python Open Source E-Book(注:Python教材免费在线看!)


中级课程:

Udacity's Design of Computer Programs

Coursera - Learn to Program: Crafting Quality Code,

Coursera - Programming Languages

Brown University - Introduction to Programming Languages (注:这是布朗大学公开课的课件)


学习其他的编程语言

To learn list:Java Script, CSS, HTML, Ruby, PHP, C, Perl, Shell. Lisp, Scheme.
相关在线学习资源:

w3school.com - HTML Tutorial

CodeAcademy.com


测试和提高自己的编程能力

例如:排查故障,创建测试,破解软件

相关课程:

Udacity - Software Testing Methods

Udacity - Software Debugging


学习逻辑推理和离散数学

相关课程:

MIT Mathematics for Computer Science(注:这是MIT公开课)

Coursera - Introduction to Logic(注:《逻辑学导论》有中文字幕哟!)

Coursera - Linear and Discrete Optimization

Coursera - Probabilistic Graphical Models

Coursera - Game Theory(注:斯坦福精品课程,还有续集《博弈论2》!)


深入理解算法和数据结构

学习基本的数据类型,如堆栈、队列和数据包;

了解排序演算法,如快速排序,二路归并排序和堆排序;

了解数据结构,如二叉搜索树,红黑树和哈希表。

相关课程:

MIT Introduction to Algorithms,

Coursera Introduction to Algorithms Part 1 & Part 2

List of Algorithms

(注:这是英文维基给出的所有算法的列表,看看你完成了多少?)

List of Data Structures(注:同上)

参考书籍: The Algorithm Design Manual

(注:这是美国亚马逊的购买链接,不清楚有没有中文版)


深入了解操作系统

相关课程: UC Berkeley Computer Science 162

(注:上面的链接是Youtube的播放列表,ppt等课件请看学校网站的资源


人工智能相关课程

Stanford University:

Introduction to Robotics,

Natural Language Processing

Machine Learning

(以上全是斯坦福的课程!人工智能哪家强!)


如何开发一个编译器

相关课程:Coursera - Compilers


密码学

Coursera - Cryptography

Udacity - Applied Cryptography


并行编程

相关课程:Coursera - Heterogeneous Parallel Programming


【如果你侧重应用方向】

项目开发相关课程

这方面的内容包括创建和维护一个网站,建立自己的服务器,或开发一个机器人。

相关课程:

Apache List of Projects(注:这是apache.org提供的教程)

Google Summer of Code

Google Developer Group


如果你想了解一个大型系统的一部分(如代码库),阅读和理解代码,或跟踪文档和排查故障,那么你可以到Github上围观和学习别人的代码,并尝试开发自己的项目。

相关资源:GithubKiln


如果你想通过学习提高与程序员合作的能力,那么你可以先尝试和程序员们共同完成一个项目。


如果你想补充算法知识,练习编程技巧,可以参加CodeJam、ACM举办的国际编程大赛等活动。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值