hn.academy |
Online courses recommended by Hacker News users. [about] |
Same course, but this link goes to the course overview page: https://www.edx.org/course/artificial-intelligence-uc-berkel...Your link took me to an internal page.
The fact that they want to use it as a teaching platform of sorts has very exciting implications. Minecraft is really huge with kids and that's an excellent way of getting more young people interested in AI and programming in general. To this day I think the Berkeley intro to AI class[1] on edx is the best I've seen because it uses Pacman as the running example which makes everything more approachable. It would probably be interesting to turn some of the examples from AIAMA into Minecraft examples as well.[1] https://www.edx.org/course/artificial-intelligence-uc-berkel...
Assuming that you consider Machine Learning to be either a subset of AI (as I do) or a sibling field, and want to learn aspects of ML, then consider Andrew Ng's Machine Learning course on Coursera. It's a great introduction and doesn't require a ton in terms of prerequisites. You'll see some multi-variable calculus and linear algebra, but he does the calculus derivations for you, and there's a pretty adequate review of the relevant parts of Linear Algebra.In addition, if you don't already have a background in Calculus and Linear Algebra, then supplement the Ng course with the Khan Academy stuff on Calculus and Linear Algebra, or other courses you can pick up on Coursera or Edx or whatever.
If you get really interested in neural networks (which are all the rage these days) after the Ng class, there's a freely available book on Neural Network design that you could look at. It doesn't cover all the very latest techniques, but it would help you build the foundation of understanding.
http://hagan.okstate.edu/nnd.html
There's also a MOOC around the Learning From Data book that you could check out.
https://work.caltech.edu/telecourse.html
OTOH, if you're making a sharp distinction between "Classic AI" and "Machine Learning" and you really care mainly about the classical stuff, then you might want to start with the Berkeley CS188 class. You can take it through EdX ( https://www.edx.org/course/artificial-intelligence-uc-berkel... ) or just watch the videos and download the notes and stuff from http://ai.berkeley.edu/home.html
And if you just want to dive into reading some classic papers and stuff, check out:
http://publications.csail.mit.edu/ai/pubs_browse.shtml
and/or
http://ijcai.org/past_proceedings
Another good resource is
I thought the edX course for this material was pretty good as wellhttps://www.edx.org/course/artificial-intelligence-uc-berkel...
CS188.1x Artificial Intelligence by BerkeleyX at edx.org. [1] I took this course back in Spring 2013 and I really enjoy the course project of making an intelligent Pac-Man. :) Through this course, besides learning AI, I also learned Python (before this, I didn't know how to code in Python at all). And with the knowledge from this course, I made a simple connect four game with AI implementation as the player's opponent. [2][1] https://www.edx.org/course/artificial-intelligence-uc-berkel...
The Berkeley AI class on edX[0] covers this, and other related algorithms, like alpha-beta pruning. It's a very fun class; recommended for anyone interested in this sort of thing[0]: https://www.edx.org/course/artificial-intelligence-uc-berkel...
Buy and work through "Artificial Intelligence: A Modern Approach". It's a huge book and the de facto standard for pretty much every AI 101+ course. Some of the stuff may not interest you some might but it covers a broad range (from logic based agents to Bayesian networks). It's systematic and has excellent references and further reading notes for each chapter. The focus is not on the currently sexy "data science" aspects though (however you will find plenty of material that is relevant).The edX class from Berkeley is pretty fun and hands on. It uses Pacman as a running example and essentially teaches the agents stuff from AIAMA:
https://www.edx.org/course/artificial-intelligence-uc-berkel...
The Stanford class by Thrun and Norvig himself (one of the authors of AIAMA) is also good but I prefer the edX one:
https://www.udacity.com/course/intro-to-artificial-intellige...
Edit: changed to direct links for the courses
It's amazing. Although quite time-consuming, the projects are nice: it was building an AI for Pac-man to maximize its score in various scenarios.The next offering is starting soon:
https://www.edx.org/course/artificial-intelligence-uc-berkel...
This also appears to be available as an archived edx course: https://www.edx.org/course/artificial-intelligence-uc-berkel...
I will try to list resources in a linear fashion, in a way that one naturally adds onto the previous (in terms of knowledge)[PREREQUISITES]
First things first, I assume you went to a highschool, so you don't have a need for a full pre-calculus course. This would assume you, at least intuitively, understand what a function is; you know what a polynomial is; what rational, imaginary, real and complex numbers are; you can solve any quadratic equation; you know the equation of a line (and of a circle) and you can find the point that intersects two lines; you know the perimiter, area and volume formulas for common geometrical shapes/bodies and you know trigonometry in a context of a triangle. Khan Academy website (or simple googling) is good to fill any gaps in this.
[BASICS]
You would obviously start with calculus. Jim Fowlers Calculus 1 is an excellent first start if you don't know anything about the topic. Calculus: Single Variable https://www.coursera.org/course/calcsing is the more advanced version which I would strongly suggest, as it requires very little prerequisites and goes into some deeper practical issues.
By far the best resource for Linear Algebra is the MIT course taught by Gilbert Strang http://ocw.mit.edu/courses/mathematics/18-06sc-linear-algebr... If you prefer to learn through programming, https://www.coursera.org/course/matrix might be better for you, though this is a somewhat lightweight course.
[SECOND STEP]
After this point you'd might want to review single variable calculus though a more analytical approach on MIT OCW http://ocw.mit.edu/courses/mathematics/18-01sc-single-variab... as well as take your venture into multivariable calculus http://ocw.mit.edu/courses/mathematics/18-02sc-multivariable...
Excellent book for single variable calculus (though in reality its a book in mathematical analysis) is Spivaks "Calculus" (depending on where you are, legally or illegally obtainable here http://libgen.org/ (as are the other books mentioned in this post)). A quick and dirty run through multivariable analysis is Spivaks "Calculus on Manifolds".
Another exellent book (that covers both single and multivar analysis) is Walter Rudins "Principles of Mathematical Analysis" (commonly referred to as "baby rudin" by mathematicians), though be warned, this is an advanced book. The author wont cradle you with superfluous explanations and you may encounter many examples of "magical math" (you are presented with a difficult problem and the solution is a clever idea that somebody magically pulled out of their ass in a strike of pure genius, making you feel like you would have never thought of it yourself and you should probably give up math forever. (Obviously don't, this is common in mathematics. Through time proofs get perfected until they reach a very elegant form, and are only presented that way, obscuring the decades/centuries of work that went into the making of that solution))
At this point you have all the necessery knowledge to start studying Differential Equations http://ocw.mit.edu/courses/mathematics/18-03sc-differential-...
Alternativelly you can go into Probability and Statistics https://www.coursera.org/course/biostats https://www.coursera.org/course/biostats2
[FURTHER MATH]
If you have gone through the above, you already have all the knowledge you need to study the areas you mentioned in your post. However, if you are interested in further mathematics you can go through the following:
The actual first principles of mathematics are prepositional and first order logic. It would, however, (imo) not be natural to start your study of maths with it. Good resource is https://www.coursera.org/course/intrologic and possibly https://class.stanford.edu/courses/Philosophy/LPL/2014/about
For Abstract algebra and Complex analysis (two separate subjects) you could go through Saylors courses http://www.saylor.org/majors/mathematics/ (sorry, I didn't study these in english).
You would also want to find some resource to study Galois theory which would be a nice bridge between algebra and number theory. For number theory I recommend the book by G. H. Hardy
At some point in life you'd also want to go through Partial Differential Equations, and perhaps Numerical Analysis. I guess check them out on Saylor http://www.saylor.org/majors/mathematics/
Topology by Munkres (its a book)
Rudin's Functional Analysis (this is the "big/adult rudin")
Hatcher's Algebraic Topology
[LIFE AFTER MATH]
It is, I guess, natural for mathematicians to branch out into:
[Computer/Data Science]
There are, literally, hundreds of courses on edX, Coursera and Udacity so take your pick. These are some of my favorites:
Artificial Intelligence https://www.edx.org/course/artificial-intelligence-uc-berkel...
Machine Learning https://www.coursera.org/course/ml
The 2+2 Princeton and Stanford Algorithms classes on Coursera
Discrete Optimization https://www.coursera.org/course/optimization
Convex Optimization https://itunes.apple.com/itunes-u/convex-optimization-ee364a... https://itunes.apple.com/us/course/convex-optimization-ii/id...
[Physics]