2020年06月16日更新
大家好,答主最近整理了一份资料来培训个人项目的码农,目前在深受多个国家软件工程师的喜爱,特别拿出来给国内的朋友分享:软件工程师入职培训?docs.google.com /> /> />
答主最近还做了一个适合学习系统设计的开源实战项目,感兴趣的朋友可以到这里读读代码,希望能有所收获:https://github.com/short-d/short?github.com />
最后这是答主的Github,想了解答主近期动态的朋友,可以一下:https://github.com/byliuyang />
2018年12月28日更新
感谢大家一直以来对本回答的支持和收藏。由于这个回答年份以后,答案里的部分资料已经过时了。在今后的日子里,答主会把最新的网课以及经典书籍整理到自己的个人小站,感兴趣的朋友可以关注:https://www.time4hacks.com?www.time4hacks.com
如果你喜欢答主的小站,或希望创建自己的在线个人履历,可以参照答主的源代码哟: byliuyang/onlineResume
祝大家新年快乐!
2018年9月28日更新
答主已经在硅谷工作4个月了,很开心!最近公司赞助,答主参加了GopherConf2018 ( 全球Go语言开发者大会),开始学习Go语言。 />
最近看到两本用Go的书不错,在这里分享给大家。
/>用Go语言做编译器
/>用Go语言做脚本解释器
我最近还在学习计算机视觉相关知识,感觉斯坦福李飞飞教授的CS231n非常棒。跟着这个课程,可以深入学习数学公式,手动实现Convolutional Nerual Network。一定要课后作业,这是最有价值,加深理解的部分。 />CS231n: Convolutional Neural Networks for Visual Recognition?cs231n.stanford.edu
值得一提,我最近在看的斯坦福Compiler的课也很不错,非常适合对计算机底层感兴趣的朋友。 />
如果你基础扎实,希望在未来成为架构师,答主在这里强力推荐我最爱的两本架构相关的书:
/>Clean Architecture: A Craftsman's Guide to Software Structure and Design, First Edition
/>Clean Code: A Handbook of Agile Software Craftsmanship
---------------------------------------------------------------------------------------
2018年2月23日更新
希望深入学习计算机科学,或者希望来硅谷找一份工作的朋友,可以翻阅我个人网站上整理的书籍和网课。亲身验证有效,答主6月份就搬到硅谷上班啦~
下面是给大家整理的一些新资料~Yang Liu?www.time4hacks.com
我最近在读的书Get Ready for CSS Grid Layout - 已看完?abookapart.comYou Don't Know JS: Up & Going - 已看完?github.comYou Don't Know JS: Scope & Closures - 已看完?github.comYou Don't Know JS: this & Object Prototypes - 正在看?github.com
我在学习的网课:Intro to Self Driving Car - 已拿到证书?www.udacity.comIntro to Machine Learning - 已学完?www.udacity.comMachine Learning - 正在学?www.udacity.comAWS Certified Solutions Architect - 正在学?acloud.guru
2017年10月22日更新
今天答主给编程和硬件爱好者们带来一些开拓视野,结交极客,体验创造乐趣,以及扩展人脉的活动。
这里是部分北美高校最火爆的Hackathon ( 黑卡马拉松 )。部分活动提供 国际签证邀请信 以及国际机票报销。部分学校提供接待学生,安排在本校宿舍住宿。( 答主之前参加了麻省理工的活动,住在了学校宿舍,有吃有喝,好棒! )。全球顶级的Hackathon是工程和科技专业本科生非常值得留下的大学回忆 (谷歌,脸书,亚马逊,微软等公司都来开讲座哦!)。
正在举办hacktech, Mar 2018, California Institute of Technologies 加州理工大学
hackillinois, Feb 23 - 25, 2018, University of Illinois 伊利诺伊香槟分校
vthacks, Feb 2018, Virginia Tech 弗吉尼亚理工
TreeHack, Feb 16 - 18, 2018, Stanford 斯坦福
hack@brown, Feb 3-4, 2018, Brown 布朗大学
Hack@WPI, Jan 12 - 14, Worcester Polytechnic Institute 伍斯特理工 ( 欢迎来我校玩哦 )
boilermake, Jan 20 - 22, 2017, Purdue 普度大学
申请关闭或已经结束(Application Closed申请关闭) hacktx, Oct 28 - 29 2017, University of Texas Austin 德州奥斯汀
(Ended已结束) hackgt, Oct 13 - 15, 2017, Georgia Institute of Technology 佐治亚理工
(Ended已结束) calhacks, Oct 6 -8, 2017, University of California--Berkeley 加州伯克利
(Ended已结束) MHacks, Sept 22 - 24, 2017, University of Michigan North Campus 密歇根安娜堡
(Ended已结束) HackMIT, Sept 16 - 17, 2017, MIT 麻省理工 ( 我来了这个!百度居然是赞助商,每项百度奖给一万美金现金!)
(Ended已结束) hophacks, Sept 15 - 17, 2017, John Hopkins 约翰霍普金斯
(Ended已结束) bigredhacks, Sept 15 - 17, 2017, Cornell 康奈尔
(Ended已结束) HackCMU, Sept 8 - 9, 2017, CMU 卡内基梅隆
(Ended已结束) pennapps, Sept 8 - 10, 2017, University of Pennsylvania 宾夕法尼亚
这是我的Github ( byliuyang/CollegeHacks ), 后续会更新更多的活动,喜欢的朋友记得给我一些小星星哦!
2017年10月22日更新
Alpha Go Zero论文
Artificial intelligence research has made rapid progress in a wide variety of domains from speech recognition and image classification to genomics and drug discovery. In many cases, these are specialist systems that leverage enormous amounts of human expertise and data.
However, for some problems this human knowledge may be too expensive, too unreliable or simply unavailable. As a result, a long-standing ambition of AI research is to bypass this step, creating algorithms that achieve superhuman performance in the most challenging domains with no human input. In our most recent paper, published in the journal Nature, we demonstrate a significant step towards this goal.
2017年10月22日更新
PS: 我刚刚和小伙伴报名了Udacity的《自动驾驶汽车入门》课程,感兴趣的朋友可以看看,还有18天开课 (我可怜的800刀就这么给网课了)
1)Bayesian Thinking 贝叶斯思维
Learn the framework that underlies a self-driving car’s understanding of itself and the world around it, and to see the world the way a self-driving car does.
2) Working with Matrices 矩阵运算
This course will focus on two tools which are vital to self-driving car engineers: object oriented programming and linear algebra.
3) C++ Basics C++入门
This course is the first step in a rewarding journey towards C++ expertise. The goal is translation: get a program written in Python, and translate it into C++.
4) Performance Programming in C++ C++性能优化
Explore how to write good code that runs correctly. We’ll focus primarily on low level features of C++, but we’ll discuss other best practices as well.
5) Navigating Complex Data Structures 高级数据结构
Algorithmic thinking is a skill you’ll refine throughout your career. In this course you’ll focus on frequently used data structures and algorithms.
6) Visualizing Calculus and Controls 微积分
In this course you’ll learn basic calculus—the mathematics of continuity. You’ll also learn to use some of Python’s most popular visualization libraries.
7) Machine Learning and Computer Vision 机器学习与计算机视觉
In this course you’ll learn how a computer sees an image, and how we can use machine learning to teach a computer to identify images programmatically.
一年没更新了,看到大家的评论,感觉心里暖暖哒!
刚放假,今天给大家更新一点干货。
1) 关于查看境外网站的方法,请大家自行解决,答主肉身,爱莫能助。
答主希望大家抱着学习提高的心态,访问境外网站。
2) 答主目前读大三,回答里不当或错误的信息,还希望大家包容指正。
2016年12月21日更新
1)增加python书籍合集
2)增加算法经典
3)增加前端经典,包括angular 2, react,js高进进阶
4)增加网络安全经典
5)增加iOS 设计模式经典,iOS实战完全instagram克隆网课(力荐)
6)增加游戏人工智能设计经典
7)增加C语言宝书
8)增加 Java 入门与进阶经典
9)增加Ruby on rails进阶经典
10)增加计算机图形和 OpenGL经典
11)增加编译器设计进阶经典
12)增加机器学习进阶论文,包括谷歌Deep Mind官方Alpha Go设计与解析
13) 增加Docker入门与进阶
14)增加算法面试经典
15)增加python 和 机器学习入门与进阶视频合集(我本科学长做的,目前B站播放量1.3 W, 粉丝过700) />
鉴于题主咨询了Python,这里把答主喜爱的python资料合金置顶
Python经典免费资料合集 />
学编程重要的是要攻克英文,英文是开启另一个世界的钥匙。
自学攻克英文的方法:
攻克听力:
iTunes上有好多连续更新的广播,多听科技类广播非常有帮助,既能提高听力,又能学到专业知识
1)科学美国人,60秒技术新闻听力:60-Second Tech />
2)Technology Translated,虚拟现实、A/B测试都有讲
攻克阅读:读下面的书就好了。
写作,撸代码写注释练习吧。
自学才是最好的方法,自学的同时,我推荐以下网站和资料(作者给了非常酷的项目做练习):
1)Codecademy /> />
/> />
iOS克隆完整的Instagram,近乎完美的UI,完整的后端。 />
Web全栈: />
UI设计: />
3)
Google Official Android:
机器学习:
Deep Learning(谷歌人工智能首席科学家)
Web:
Python:
PROJECT P4: Design a Game API
Java:
浏览器(开发自己的浏览器,实现HTML,CSS, JS解析渲染)
[答主已刷完一半]普林斯顿详细讲解了每一个算法细节,所有的算法全都给出完整的Java代码,非常适合初学者打基础。 /> />
5)书籍&其他资料:
Javascript
[答主已读完]Eloquent JavaScript(用JS做编程语言,做超级马里奥,模拟生态系统,画布画图,实现简易express框架和angularjs框架),
生态系统 />
编程语言 />
类似GBA游戏 />
[答主已刷完]Facebook React&Web pack:SurviveJS,
[答主已刷完]AngualrJs: Ng-book2 Angular 2 完整教程,从UI、测试、架构全都包含,非常全面和专业,堪称经典。
进销存 />
Gmail Hangout. />
克隆Youtube搜索 />
克隆pinterest />
[Full stack react] React 完整教程,从UI、测试、架构全都包含,包括高级redux。
网站后端:
[答主已刷完]Ruby on Rails Tutorial(讲解非常透彻,作者是2011年ruby hero,全球限量5位,Twitter克隆) />
图中的Social network指的Twitter。
Ruby metaprogramming,
Agile Web Development with rails 5 />
The rails 5 way,业界经典,高级进阶资料,被作为reference />
[数据库大而全的经典之作]:Database management system the complete book,
[答主正在刷]人工智能:Artificial Intelligence Modern Approach 3rd edition
[答主正在刷]操作系统:Operating System Modern Approach 4th edition
[答主正在刷]网络编程: Computer Network a top-down approach
[答主正在刷]汇编与底层:Computer system a programmer's perspective
------------------------------------------------------------
答主初中是做C#入宅的,所以也推荐一些微软开发资料
微软官方C#教材 />
----------------------------------------
对PHP感兴趣的:
[答主扫过几眼]
Symfony3,The book
知名的以下框架基于PHP Symfony3 />
----------------------------------------
对C感兴趣的,推荐
[答主的教授推荐]
The C Programming Language 2nd Edition />
Expert C programming />
-----------------------------
对编译器感兴趣的
[答主的下学期的课本]
compilers principles techniques and tools />
Modern Compiler Implementation in C
Modern Compiler Implementation in Java />
Advanced Compiler Design and Implementation />
-----------------------------------
Computer Graphics 计算机图形
[答主看了部分章节] The OpenGL Programming Guide />
[答主看了部分章节] Interactive Computer Graphics, OpenGL版本 />
[答主看了部分章节] Interactive Computer Graphics, WebGL版本 />
---------------------------------------
网络安全
Security in Computing />
----------------------
Java入门&进阶
普林斯顿Java核心 />
Effective java />
---------------------------------------------
人工智能
Programming Game AI by example />
--------------------
算法
Algorithm Design />
[谷歌邮件列表里推荐过来的] The Algorithm Design Mannul /> />
---------------------
iOS 进阶 />
--------------------
Docker入门进阶 />
-----------
计算机科学入门进阶 /> />
---------------
Javascript />
You don't know JS />
The Introduction to reactive programming you have been missing />
-------------------------------------------
内核开发
[答主的正在刷]
Linux Kernel Development Third Edition />
----------------------------------------------------------------------------------------------------------
机器学习合集 /> /> />
Alpha Go设计与分析 />
以下资料引用自 Google Technical Guide,笔者非常喜欢
------------------------------------------------------------------------------------------------
Take an "Introduction to CS” courseFocus on basic coding instructions
Online resources:
Code in (at least) ONE object-oriented programming language (C++, Java?, Python?)Beginner online resources:
Intermediate online resources:
Learn other programming languagesAdd to your repertoire:[答主做过]JavaScript?
[答主做过]CSS & HTML
[答主做过]Ruby?
[答主做过]PHP?
[答主做过]C?
Perl?
[答主做过]Shell? script
Lisp?
[答主做过]Scheme?
Online resources:
Test your codeLearn how to catch bugs, create tests, and break your software
Online resources:
Develop logical reasoning and knowledge of discrete mathOnline resources:
Develop a strong understanding of algorithms and data structuresLearn about fundamental data types (stack, queues, and bags), sorting algorithms (quicksort, mergesort, heapsort), data structures (binary search trees, red-black trees, hash tables), and Big O.
Online resources:
Develop a strong knowledge of operating systemsOnline resources:
Learn UX designOnline resources:
Learn artificial intelligenceOnline resources:
Learn how to build compilersOnline resources:
Learn cryptographyOnline resources:
Learn parallel programmingOnline Resources:
Work on projects outside of the classroomCreate and maintain a website, build your own server, or build a robot
Online resources:
Work on a small piece of a large system (codebase), read and understand existing code, track down documentation, and debugGitHub is a great way to read other people’s code or contribute to a project
Online resources:
Work on projects with other programmersThis will help you improve your ability to work well in a team and enable you to learn from others.Practice your algorithmic knowledge and coding skillsPractice your algorithmic knowledge through coding competitions like CodeJam or ACM’s International Collegiate Programming Contest.
Online resources:
Become a teaching assistantHelping to teach other students will help enhance your knowledge in the subject matter.Gain internship experience in software engineeringIn the U.S., internships take place during summer (May–September). Applications are usually accepted several months in advance.
-------------------------------------------
着急做开发的朋友,可以试试LiveCode。能做IOS,android,windows phone,linux,web,windows,mac应用程序,目前正在增加微信朋友圈应用开发环境。