Google技术开发指南:给大学生自学的建议
2014-12-09 10:13
253 查看
科班式建议
计算机科学简介
说明:计算机科学简介是介绍编码相关的基础内容。
在线资源:Udacity – intro to CS course、Coursera
– Computer Science 101
至少学习一门面向对象编程语言:C++、Java或Python
初学者在线资源:Learn to Program: The Fundamentals、MIT
Intro to Programming in Java、Google’s Python Class、Coursera
– Introduction to Python、Python Open Source E-Book
中级在线资源:Udacity’s Design of Computer Programs、Coursera
– Learn to Program: Crafting Quality Code、Coursera – Programming Languages、Brown
University – Introduction to Programming Languages
学习其他编程语言:
提示:你可以选择这些语言中的一种或多种——Java Script、CSS、HTML、Ruby、PHP、C、Perl、Shell、Lisp、 Scheme。
在线资源:w3school.com – HTML Tutorial、CodeAcademy.com
测试你的代码
提示:学习如何追踪bug、创建测试和断点。
在线资源:Udacity – Software Testing Methods、Udacity
– Software Debugging
开发逻辑思维并学习离散数学
在线资源:MIT Mathematics
for Computer Science、Coursera – Introduction to Logic、Coursera – Linear and Discrete Optimization、Coursera – Probabilistic Graphical Models、Coursera – Game Theory
深入理解算法和数据结构
提示:学习基本的数据类型(栈、队列和背包)、排序算法(快速排序、归并排序、堆排序)、数据结构(二叉搜索树、红黑树、散列表)、大O表示法。
在线资源:MIT Introduction
to Algorithms、Coursera Introduction to Algorithms Part 1 & Part
2、List of Algorithms、List
of Data Structures、Book:
The Algorithm Design Manual
深入了解操作系统相关知识
在线资源:UC Berkeley Computer Science 162
学习人工智能
在线资源:Stanford University – Introduction to Robotics、Natural
Language Processing、Machine Learning
学习如何构建编译器
在线资源:Coursera – Compilers
学习密码学
在线资源:Coursera – Cryptography、Udacity
– Applied Cryptography
学习并行编程
Online Resources: Coursera – Heterogeneous Parallel Programming
在线资源:Coursera – Heterogeneous Parallel Programming
接触课堂之外的项目
提示:创建并维护一个网站、构建自己的服务器、或构建一个机器人。
在线资源:Apache List of Projects、Google
Summer of Code、Google Developer Group
处理一个非常大的系统(代码库)中的一小部分,阅读并理解已有的代码、文档,并进行调试。
提示:Github可以用来阅读源码并为某个项目做贡献。
在线资源:Github、Kiln
与其他开发者共同工作
提示:这将帮你提升团队工作工作的能力,同时从他人那可以学到新东西。
有针对性的学习算法知识并提升编码能力
提示:可以在CodeJam或ACM 这些编程竞赛上练习算法知识。
在线资源:CodeJam、ACM
ICPC
做一个教学助手,帮助他人
提示:帮助他人可以加深你对该领域的理解。
软件工程师方面的实习经验
提示:实习申请要在实习开始前提前申请。在美国,实习期是在夏季(5月到9月),申请一般会提前几个月。
计算机科学简介
说明:计算机科学简介是介绍编码相关的基础内容。
在线资源:Udacity – intro to CS course、Coursera
– Computer Science 101
至少学习一门面向对象编程语言:C++、Java或Python
初学者在线资源:Learn to Program: The Fundamentals、MIT
Intro to Programming in Java、Google’s Python Class、Coursera
– Introduction to Python、Python Open Source E-Book
中级在线资源:Udacity’s Design of Computer Programs、Coursera
– Learn to Program: Crafting Quality Code、Coursera – Programming Languages、Brown
University – Introduction to Programming Languages
学习其他编程语言:
提示:你可以选择这些语言中的一种或多种——Java Script、CSS、HTML、Ruby、PHP、C、Perl、Shell、Lisp、 Scheme。
在线资源:w3school.com – HTML Tutorial、CodeAcademy.com
测试你的代码
提示:学习如何追踪bug、创建测试和断点。
在线资源:Udacity – Software Testing Methods、Udacity
– Software Debugging
开发逻辑思维并学习离散数学
在线资源:MIT Mathematics
for Computer Science、Coursera – Introduction to Logic、Coursera – Linear and Discrete Optimization、Coursera – Probabilistic Graphical Models、Coursera – Game Theory
深入理解算法和数据结构
提示:学习基本的数据类型(栈、队列和背包)、排序算法(快速排序、归并排序、堆排序)、数据结构(二叉搜索树、红黑树、散列表)、大O表示法。
在线资源:MIT Introduction
to Algorithms、Coursera Introduction to Algorithms Part 1 & Part
2、List of Algorithms、List
of Data Structures、Book:
The Algorithm Design Manual
深入了解操作系统相关知识
在线资源:UC Berkeley Computer Science 162
学习人工智能
在线资源:Stanford University – Introduction to Robotics、Natural
Language Processing、Machine Learning
学习如何构建编译器
在线资源:Coursera – Compilers
学习密码学
在线资源:Coursera – Cryptography、Udacity
– Applied Cryptography
学习并行编程
Online Resources: Coursera – Heterogeneous Parallel Programming
在线资源:Coursera – Heterogeneous Parallel Programming
非科班的学习建议
接触课堂之外的项目提示:创建并维护一个网站、构建自己的服务器、或构建一个机器人。
在线资源:Apache List of Projects、Google
Summer of Code、Google Developer Group
处理一个非常大的系统(代码库)中的一小部分,阅读并理解已有的代码、文档,并进行调试。
提示:Github可以用来阅读源码并为某个项目做贡献。
在线资源:Github、Kiln
与其他开发者共同工作
提示:这将帮你提升团队工作工作的能力,同时从他人那可以学到新东西。
有针对性的学习算法知识并提升编码能力
提示:可以在CodeJam或ACM 这些编程竞赛上练习算法知识。
在线资源:CodeJam、ACM
ICPC
做一个教学助手,帮助他人
提示:帮助他人可以加深你对该领域的理解。
软件工程师方面的实习经验
提示:实习申请要在实习开始前提前申请。在美国,实习期是在夏季(5月到9月),申请一般会提前几个月。
相关文章推荐
- 转:Google技术开发指南:给大学生自学的建议
- Google技术开发指南:给大学生自学的建议
- Google聘用澳大利亚大学生开发新搜索技术(转载)
- Google官方开发指南:提升移动Web性能表现的四大建议
- Google官方开发指南:提升移动Web性能表现的四大建议
- Google官方开发指南:提升移动Web性能表现的四大建议
- 首届 Google 暑期大学生博客分享大赛——2010 Android 篇 android关于 Google Map 开发的应用
- Google 互联网开发技术交流会:下一代 Web 标准和浏览器发展趋势
- 基于DotNet构件技术的企业级敏捷软件开发平台 - AgileEAS.NET平台开发指南 - 开发流程
- 技术人员如何写好简历,来自Google工程师的建议
- 关于自学IT技术的一点心得和建议 推荐
- Java EE 5 开发指南 - 第三章 Java Servlet技术
- 基于DotNet构件技术的企业级敏捷软件开发平台 - AgileEAS.NET平台开发指南 - 报表系统集成说明
- ASP.NET服务器控件开发技术自学教程
- JNI技术开发和配置指南
- Web开发中的性能:谈Google和Facebook的网站使用到的技术,图片预加载CSS Sprites
- Google建议:打工没前途!做技术没前途!!程序员没前途!!!java没前途!!!!
- Google正在开发实时环境声音辨认技术