谷歌推荐的大学生技术学习指南

蒋钦
• 阅读 13902

看到一篇对大学生学习技术很有帮助的指南,翻译一下,供大家参考:


有一个扎实的计算机科学的基础,是成为成功的软件工程师的重要条件。这是一个引导大学生自学技术和非技术技能的建议。你可以通过这个指南决定选修的课程,但是请确保这个课程符合你专业要求,以保证顺利毕业。本指南提供的网上资源并不是要取代大学提供的课程。它们可能会给你所学的内容进行补充或提供一个主题的介绍。

阅读须知:

  • 请谨慎使用本指南
  • 可能还有其他你想学习的东西不在本指南里,请不要局限于此,大胆去做。
  • 完成了这些项目并不能保证能得到谷歌的工作机会
  • 本指南有可能更新或改变,请关注更新

欢迎关注 Google for Students +Page 获取更多小贴士和认识更多学生开发者。

学术化的建议

CS课程介绍

提供基础编程知识的计算机科学课程

在线资源:Udacity - intro to CS course, Coursera - Computer Science 101

至少学习一种面向对象的编程语言: C++, Java, or Python

给初学者的在线资源:Coursera - 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,Udacity - Mobile Web Development, Udacity - HTML5 Game Development

测试你的代码

注释: 学习如何找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

深入理解算法和数据结构

注释: 学习基本的数据类型(栈,队列,和包),排序算法(快速排序,归并排序,堆排序),数据结构(二进制搜索树,红黑树,哈希表),和Big O。

在线资源: MIT Introduction to Algorithms, Coursera Introduction to Algorithms Part 1& Part 2, List ofAlgorithms, List of Data Structures, Book:The Algorithm Design Manual

扎实的的操作系统知识

在线资源: UC Berkeley Computer Science 162

了解用户体验设计

在线资源: Udacity - UX Design for Mobile Developers

学习人工智能

在线资源:
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, Google Summer of Code, Google Developer Group

参与大系统的小功能开发,阅读和理解现有代码,跟进文档和调试等
注释: GitHub是阅读他人的代码和贡献代码的好工具。

在线资源: Github, Kiln

和其他程序员工作

注释: 这将帮助你提高你团队协作能力和向他人学习的能力。

实践你的算法知识和编码技术

注释: 通过编程比赛,例如codejam或ACM国际大学生程序设计竞赛,实践你的算法知识。

在线资源: CodeJam, ACM ICPC

成为一个教学助理

帮助教其他学生将有助于提高你的专业知识。

软件工程实习经验

注释: 在实习期前一段时间就要寻找实习机会。 在美国,实习在夏季和九月。 公司通常是提前几个月开始接收实习生申请。

原文 Guide for Technical Development
SegmentFault 整理编译

点赞
收藏
评论区
推荐文章
为“领头雁”赋能,我们一直在路上!
注重优化学生体验,打通“手机电脑”网络两端,通过线上点播观看,为妇联干部提供专业、系统的培训服务;设置提升校检人员的科学节点,及时发布短信提醒,技术团队可实时在线答疑,有效提升培训效率;通过在线发放评价问卷,了解学生的课程评价和培训需求,为后续培训做准备,形成闭环工作。在各级妇联的精心组织安排下,广大学生学习热情高涨,互动交流热情高涨,学习氛围浓厚。毕业率
Stella981 Stella981
3年前
2019 年 Web 开发技术指南和趋势
!(https://oscimg.oschina.net/oscnet/e54936478f714a778ef54d7fb30c1879.jpg)以下内容来自我特别喜欢的一个Youtube频道: TraversyMedia这是一个2019年你成为前端,后端或全栈开发者的进阶指南:1、你不需要学习所有的技术成为一个web开
Stella981 Stella981
3年前
Flink+ClickHouse构建亿级电商用户画像平台(PC、移动、小程序)
FlinkClickHouse构建亿级电商用户画像平台(PC、移动、小程序)完整版131节,2020年10月新课本课程采用FlinkClickHouse技术架构实现我们的画像系统,通过学习完本课程可以节省你摸索的时间,节省企业成本,提高企业开发效率。希望本课程对一些企业开发人员和对新技术栈有兴趣的伙伴有所帮助,如对我录制的教程内容有建议请及时
Stella981 Stella981
3年前
GitHub上最励志的计算机自学教程!
谷歌工程师条件:名校出身、CS专业背景、博士学位加持,技术过硬?国外一个叫JohnWasham的小哥告诉你:不用,自学8个月也可以!JohnWasham励志要成为一名谷歌软件工程师,但没有CS专业背景的他,只能通过自己的努力来达成理想。于是,8个月的时间里,小哥花了数千小时阅读书籍、编写代码、观看CS技术讲座,一路披荆斩棘、打怪升级。
可莉 可莉
3年前
2019 年 Web 开发技术指南和趋势
!(https://oscimg.oschina.net/oscnet/e54936478f714a778ef54d7fb30c1879.jpg)以下内容来自我特别喜欢的一个Youtube频道: TraversyMedia这是一个2019年你成为前端,后端或全栈开发者的进阶指南:1、你不需要学习所有的技术成为一个web开
Wesley13 Wesley13
3年前
Java应届毕业生该具备哪些技能(一)——基础部分
导读:本文主要针对一般大学,或者技术能力较弱,并且想干Java开发的大学生    很多软件工程专业的大学生在临近毕业的时候,根本不知道自己想干什么,或者知道想干什么的,但是技术能力又不太行。比如想Java开发,但是又不知道需要掌握哪些技能才能找到工作。那么我下面讲讲Java应届毕业生应该掌握哪些基本必备技能:一、Jav
Wesley13 Wesley13
3年前
IT人才招聘职业规划定位:能做、愿意做与应该做
许多刚毕业的IT猎头(https://www.oschina.net/action/GoToLink?urlhttp%3A%2F%2Fwww.youjobit.com%2F)大学生和毕业工作几年的职场人士都会有这样的感觉,就业与职业理想相差甚远,薪资待遇也与期望值有较大的差距。许多刚毕业的大学生和毕业工作几年的职场人士都会有这样的感觉,就业与职业
Wesley13 Wesley13
3年前
Java网络编程和NIO详解3:IO模型与Java网络编程模型
微信公众号【Java技术江湖】一位阿里Java工程师的技术小站。(关注公众号后回复”Java“即可领取Java基础、进阶、项目和架构师等免费学习资料,更有数据库、分布式、微服务等热门技术学习视频,内容丰富,兼顾原理和实践,另外也将赠送作者原创的Java学习指南、Java程序员面试指南等干货资源)!(https://imgblog.
Stella981 Stella981
3年前
25岁Java工程师如何转型学习人工智能?
收到不少童鞋的来信,其中以职业发展、技术成长的困惑居多。今天选择了一个颇具有代表性的问题:关于目前大热的AI入门学习,希望能帮助有同样问题的童鞋解惑指路。来信问题:25岁Java工程师如何转型学习AI?我是一名25岁的Java开发工程师。本科学习的专业是信息与计算科学(数学专业),因为对计算机方面感兴趣,之后培训学习了Java,所以现在从