从面向找工作的角度出发,我觉得以下课程有很大帮助:
首推Robert Sedgewick,也是我觉得对我帮助最大的老师,讲课特点是能把复杂的算法讲解清楚(典型例子:红黑树,KMP算法)
他在Coursera有四门课,循序渐进,也越来越理论,尤其是前三门,非常值得一上。个人认为上完前两门,你的理论基础(当然还要结合刷题的实践)已经可以虐普遍的小公司和大部分的大公司了。上完第三门可以虐一流公司如Google,Facebook,Linkedin等。第四门还没开,不过看过课程介绍,觉得上完可以去当大公司的算法工程师了。
下面列出这四门课:
Algorithms, Part I 内容:Union-Find,Analysis of Algorithms,Stacks and Queues,Elementary Sorts,Mergesort,Quicksort,Priority Queues,Elementary Symbol Tables,Balanced Search Trees,Geometric Applications of BSTs,Hash Tables
Algorithms, Part II 内容:Undirected Graphs,Directed Graphs,Minimum Spanning Trees,Shortest Paths,Maximum Flow,String Sorts,Tries,Substring Search,Regular Expressions,Data Compression,Reductions,Linear Programming,Intractability 唯一的遗憾就是没有讲Dynamic Programming
Analysis of Algorithms 内容:Analysis of Algorithms,Recurrences,Solving recurrences with GFs,Asymptotics,The symbolic method,Trees,Permutations,Strings and Tries,Words and Mappings 也是非常干货的一门课!
Analytic Combinatorics 内容请参考连接,感觉已经非常理论了。
然后我想上的课有:
Stanford的Machine Learning:https://www.coursera.org/course/ml
Functional Programming Principles in Scala https://www.coursera.org/course/progfun
Principles of Computing https://www.coursera.org/course/principlescomputing
Programming Cloud Services for Android Handheld Systems https://www.coursera.org/course/mobilecloud 云
Algorithmic Thinking https://www.coursera.org/course/algorithmicthink
機器學習基石 (Machine Learning Foundations) https://www.coursera.org/course/ntumlone 试试台湾大学的课程
程序设计实习 / Practice on Programming https://www.coursera.org/course/pkupop 前半部分都是介绍C++比较无趣,后半部分讲算法。另外一个优点就是用POJ平台!
Web Intelligence and Big Data https://www.coursera.org/course/bigdata 大数据
The Hardware/Software Interface https://www.coursera.org/course/hwswinterface 其实就是CMU的15213,但据说讲的比CMU还好
Machine Learning https://www.coursera.org/course/machlearning
Introduction to Data Science https://www.coursera.org/course/datasci
Introduction to Recommender Systems https://www.coursera.org/course/recsys 感觉非常有意思的一门课,能做出像Amazon一样的推荐系统~
Web Application https://www.coursera.org/course/webapplications
Software as a Service https://www.edx.org/course/uc-berkeleyx/uc-berkeleyx-cs169-1x-software-service-1136
HTML5 Game Development https://www.udacity.com/course/cs255 感觉是个挺有意思的项目
Software Testinghttps://www.udacity.com/course/cs258 了解一些Test是做什么的
Software Debugging https://www.udacity.com/course/cs259 同上Debug
Programming Languages https://www.udacity.com/course/cs262
Design of Computer Programs https://www.udacity.com/course/cs212
Discrete Mathematics in Computer Science http://www.math.dartmouth.edu/archive/m19w03/public_html/book.html
Stanford系列:
http://www.stanford.edu/class/cs101/
http://openclassroom.stanford.edu/MainFolder/CoursePage.php?course=IntroToAlgorithms
MIT系列:
Introduction to Algorithm:
Advanced Data Structures
Computer System Engineering
Multicore Programming Primer
组合数学:http://v.ku6.com/playlist/index_2489333.html
图论: http://v.ku6.com/playlist/index_3735438.html
初等数论:http://v.ku6.com/playlist/index_2489323.html
Distributed System (KTH)
http://www.ict.kth.se/courses/ID2203/readings.html
http://www.semantikoz.com/blog/9-free-online-data-science-courses/
Data Science is a hot topic and there are plenty of courses and resources available for anyone interested. Try out these 9 free resources to get started if you are new to the topic or want to refresh on one of the subjects.
Data Science
Introduction to Data Science
A Coursera course specifically about data science, due to start in April 2013. I am very curious about it since its broad syllabus appears to capture many of the experiences data scientists need. Much of it had to be gathered in the field until now. Having a dedicated course for it is an appealing idea.
Course Syllabus – Specific Topics
- Data modeling: relations, key-value, trees, graphs, images, text
- Relational algebra and parallel query processing
- NoSQL systems, key-value stores
- Tradeoffs of SQL, NoSQL, and NewSQL systems
- Algorithm design in Hadoop (and MapReduce in general)
- Basic statistical analysis at scale: sampling, regression
- Introduction to data mining: clustering, association rules, decision trees
- Case studies in analytics: social networking, bioinformatics, text processing
Data Science Academy
The academy is due to start early 2013 with some interesting workshops:
- Dive into Cloudera Impala
- NumPy for Data Scientists
- Couchbase for Data Scientists
- MapReduce Algorithm Design
- Integrating SAP HANA with R
- Scikit-learn: Machine Learning with Python
School of Data
The School of Data recently started with their first course, Data Fundamentals. It is a great starting point for anyone interested in (big) data and data science and lays the foundations for more serious work.
“The mission of the School of Data is to promote data literacy and data ‘wrangling’ skills – the ability to find, clean, retrieve, manipulate, analyse, interpret and represent different types of data – across the world. The more people who have the skills to understand and work with data effectively, the greater its value and impact, and the more likely it is that data will be able to bring about positive social benefits.”
Blogged Data Science Course
Free Book: An Introduction to Data Science
This free book is available under a Creative Commons licence. So download it and read it for free. It utilises R and lots of examples to introduce the topic.
Machine Learning
Coursera
Data Science and machine learning are tightly related and should be of interest to any data science enthusiast. The Coursera machine learning course by Stanford Associate Professor Andrew Ng comes highly recommended to anyone interested in a solid introduction into machine learning with a hands-on approach, and great lecture material and videos.
Caltech
The California Institute of Technology ran a free online machine learning course with video lectures earlier in 2012. The lectures are still online for anyone to watch and another course will start in January 2013.
Visualisation
Introduction to Infographics and Data Visualization
An important aspect of data science can be data visualisation. The best analytics and models are not effective if the information and insight gained can not be easily and transparently shared with your client, consumer, or customer. The Knight Center is running their second massive open online course early 2013 about infographics and data visualisation.
Statistics
Statistical Computing
Statistics and data analysis are, of course, the bread and butter of data science. This fall 2012 Carnegie Mellon University course is not as fancy as Coursera one. In fact, it is little more than a page with all the lecture slides, homework, lab sheets and solutions. But it is free and comprehensive so give it a try.
Update
I know I wrote 9 resources but as I come across something good I might just append it here to the end.
Try R
This is a fun way to get started with R. It is a web site that teaches you, interactively, R. Not much more to say than give it a go.
Wiki Books
Head over to Wiki Books to read ‘Data Science: An Introduction‘. There is already some signifcant material. Nevertheless, it is a work in progress and you can contribute.
Nearly complete is ‘Statistics‘ a book, you guessed it, about statistics.
http://www.edureka.in/blog/install-apache-hadoop-cluster/
本list将保持不断更新。。。