成为一个成功的软件工程师
2015-05-21 15:19
281 查看
打好扎实的计算机科学基础对于成为一个成功的软件工程师是非常重要的。本指南主要关于如何提升自己的技术能力,非常适合学生用于制定教学课程,当然这里提供的网络资源,并不意味着就可以完全取代现有的课程,正式的课程安排还是要学的(除非你不想拿到毕业证书)。
计算机科学课程导论,介绍编码的基本知识。
在线资源:Udacity – intro to CS course, Coursera
– Computer Science 101
初级在线资源: 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
注:添加到你的知识库中——JavaScript、CSS & HTML、Ruby、PHP、C、Perl、shell script、Lisp和Scheme
在线资源: w3school.com – HTML Tutorial, Codecademy, 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
注:了解基本的数据类型(栈、队列和包),排序算法(快速排序、归并排序、堆排序),数据结构(二叉搜索树、红黑树、哈希表),和算法的时间复杂度.
在线资源: 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
在线资源: 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
这有利于增强和巩固自我的学科知识。
注:提前申请实习。比如说美国的实习期是在夏天的5至9月,那么你应该提前几个月就开始申请。
附:在国内可以在线练习IT题目的平台:牛客网
译文链接:http://www.codeceo.com/article/google-guide-for-technical-development.html
英文原文:Guide for Technical Development
翻译作者:码农网 – 小
学术学习的推荐
CS课程入门
计算机科学课程导论,介绍编码的基本知识。在线资源:Udacity – intro to CS course, Coursera
– Computer Science 101
至少要会一种面向对象的编程语言:C ++、Java或Python
初级在线资源: Coursera – Learn to Program: The Fundamentals, MITIntro 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
了解其他的编程语言
注:添加到你的知识库中——JavaScript、CSS & HTML、Ruby、PHP、C、Perl、shell script、Lisp和Scheme在线资源: w3school.com – HTML Tutorial, Codecademy, Udacity
– Mobile Web Development, Udacity – HTML5 Game Development
测试代码
注:学习如何捕捉bug,创建测试,破坏软件在线资源: Udacity – Software Testing Methods, Udacity
– Software Debugging
培养逻辑推理和学习数学离散知识
在线资源: MIT Mathematics for ComputerScience, Coursera – Introduction to Logic, Coursera – Linear and Discrete Optimization, Coursera – Probabilistic Graphical Models, Coursera – Game Theory
深刻理解算法和数据结构
注:了解基本的数据类型(栈、队列和包),排序算法(快速排序、归并排序、堆排序),数据结构(二叉搜索树、红黑树、哈希表),和算法的时间复杂度.在线资源: 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
学习UX设计
在线资源: Udacity – UX Design for Mobile Developers
学习人工智能
在线资源: Stanford University - Introduction to Robotics, NaturalLanguage 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
成为助教
这有利于增强和巩固自我的学科知识。
实习
注:提前申请实习。比如说美国的实习期是在夏天的5至9月,那么你应该提前几个月就开始申请。附:在国内可以在线练习IT题目的平台:牛客网
译文链接:http://www.codeceo.com/article/google-guide-for-technical-development.html
英文原文:Guide for Technical Development
翻译作者:码农网 – 小
相关文章推荐
- 如何成为一个成功的jsp程序员?(转载)
- 如何成为一个成功的Jsp程序员
- 如何成为一个真正成功的女人
- 成为一个成功Jsp程序员的九步
- 成为一个成功Jsp程序员的九步
- 如何成为一个成功的Jsp程序员?
- 要成为一个成熟的软件工程师不容易啊
- 如何才能成为一个成功的项目经理
- 如何成为一个成功的人?
- 《如何成为一个成功的职业经理人》
- 如何成为一个成功的Jsp程序员
- 如何在12个月内从零基础成为一个在旧金山工作的软件工程师
- 做seo更要有十足的热情 否则你很难成为一个成功的seoer
- 要成为一个成熟的软件工程师不容易啊
- 成为一个成功Jsp程序员的九步
- 如何成为一个成功的网络工程师
- 怎样才能成为一个成功的价值投资者?
- 如何才能成为一个成功的项目经理
- 如何成为一个成功的Jsp程序员
- 做人成功才能成为一个真正的人