Take the 2-minute tour ×

I am an undergrad student (in third year), and I recently developed interest in learning AI. I am quite fascinated about making machines intelligent.
Could anyone please help me with the initial process? I mean, how shall I begin, and then which language shall I learn, etc. I apologize if my question sounds dumb.
Well, I am good at logical reasoning (i.e I frame good ligics) and I also have good knowledge of C and Java.
I would be even more thankful if you could also suggest me a few good universities (in US/UK/Europe) for doing my masters in this field.

Thanks a lot. Avanish

share|improve this question
How do you get bachelors without taking an AI class? Make sure that this is what you really want before you start. I joined the wrong grad program, dropped out, and have been a happy developer ever since. –  Hamish Grubijan Jan 28 '10 at 18:44
If you're going for a degree in it, see if you can pick cognitive science for your minor. CogSci is a blend of AI, psychology, philosophy, and several other disciplines that is aimed at studying how humans think. You'll want to know as much of that as possible to produce intelligent machines. –  David Thornley Jan 28 '10 at 19:10
I am still doing my bachelors and we have AI in next sem but since I like it and want to do higher studies in this field so I decided to start a bit before the actual course begins. Thanks to both of you for your kind advices. –  avi Jan 29 '10 at 15:20
add comment

10 Answers

up vote 9 down vote accepted

In artificial intelligence you will mostly have to do with:

  • Searching algorithms (BFS, DFS, A* and more) and good techniques to use them (heuristics, constraints)
  • Logic (propositional logic, first order logic, and others)
  • Probabilities and Statistics (mostly in Machine Learning)
  • Maybe also optimization theory

A great book to learn about AI is

  • Artificial Intelligence: A Modern Approach by Stuart Russell and Peter Norvig

You can create programs in many languages, but i would suggest you to learn:

  • Prolog
  • Lisp
  • Maybe Python
  • Matlab (for Machine learning, very good for statistics and any mathematical operation)
share|improve this answer
Thanks a lot Mr George. Your advice was indeed very helpful! –  avi Jan 29 '10 at 14:48
Is there any pre requisites before learning about AI ?? –  DamnDev Jan 10 at 13:52
Logic, probability theory and some basic algorithmic theory wouldn't hurt. –  George Jan 11 at 18:17
add comment

I recommend SimpleAI.


This new version includes: * Important improvements to the graphical debugger, that allows you to run the search algorithms interactively with a real-time search graph on a web browser. The improvements include the ability to zoom and pan on the graph view, and to play and pause the algorithm in real time. * Constraints propagation for the constraints satisfaction problems, which in most cases greatly improves the performance of the CSP search methods. The implemented algorithm for the propagation is AC3. * N-ary to binary constraints converter, which allows you to take full advantage of the AC3 constraints propagation (AC3 only operates on binary constraints). * Many other small bugfixes and improvements.


Docs: http://simpleai.readthedocs.org

SimpleAI will be presented in Pydata 2013

share|improve this answer
add comment

I'm currently doing a research internship involving AI and the only AI-specific training I've had (other than the guidance from my supervisors) has come from reading research papers. They're unlikely to give you an in-depth guide of how to actually write an AI, but they give you a good understanding of how certain methods work and the abilities and limitations of each. Each one tends to also reference a lot of existing work, which (if you can find it) will allow you to continue your research if you find something that interests you (I found at least one interesting reference in every paper I read; it makes it hard to run out of material).

The major downside is that most research papers aren't free to view. Try to get through your university what you can't get for free elsewhere, but it can be frustrating when you're interested in a paper and have to pay $40.00 just to view it.

share|improve this answer
add comment

You might find "genetic programming" (GP) quite interesting. It's the most powerful approach to machine learning - Turing complete and capable of automatically generating arbitrarily complex algorithms.

I'm pursuing another angle on the AI problem - High Level Logic. http://highlevellogic.blogspot.com/2010/11/when-will-we-have-artificial.html

What language depends on what you're doing. GP is computationally intense, and your C / C++ background could come in handy (although there are open-source GP systems available in Java, and other languages). I'm doing my "high level" work in Java.

share|improve this answer
add comment

Actually you can use any language you want but some like prolog and lisp are very popular in ai. i personally think that the most important part of ai is nlp, it is important for machines to understand human language.

share|improve this answer
add comment

Before anything, and certainly before "signing up" for a master's program in any subject, you need to complete a few classes (if only online classes), read a few books, and generally tinker with the very broad domain that is AI.

Once you become more familiar with AI at large and with particular areas of interest within AI, you can then "shop" for a university which will offer opportunities in the relevant fields.

Also, while completing your Bachelor's degree, do focus on subjects outside of Computer Science (in addition to maybe learning maybe LISP or a functional language). Many areas of mathematics come to mind (Statistics or graph theory, for example), also intro to linguistics, biology/ecology courses or labs related to animal behavior...

share|improve this answer
Yes, I will learn AI fundamentals. Thanks for your response. –  avi Jan 29 '10 at 15:12
add comment

The core of AI is really graph search. A lot of intelligent behavior can essentially be boiled down to searching through a decision tree for the most effective solution (it gets more complicated if an opponent is involved). So, I'd suggest learning pathfinding/search first (depth-first, breadth-first searches, uniform cost search, and then more informed searches and in particular A*, which is invaluable and has a lot of very good resources (some of which should be linked to at the bottom of that wikipedia page)).

Really, though, your university should have a course on AI. At third year, it should also be accessible (though I'm sure some topics wait until fourth year). School is as good a place to start learning something as any, and worse than others.

As for programming languages, I've heard it said that Prolog is good for this sort of thing, and seen it used in AI courses and so on. It's certainly not necessary (at all) for understanding how to do pathfinding and various other subjects in AI. You can use Java for these, or even C (it wouldn't be all that pleasant, but it's done all the time). Or you could take the opportunity to learn whatever language is the focus of whatever guide you use to learn various subjects in AI (e.g. Prolog or Python may be used).

share|improve this answer
Much of AI is not pathfinding: neural nets, Bayesian classification, &c. And some of the most interesting topics lie elsewhere: statistical matrix methods seem to be the hottest topic right now. –  Charles Stewart Jan 28 '10 at 19:00
Lisp is the traditional AI programming language, and it's a neat thing to know in any case (of course, so is Prolog). Python is getting more popular. You should be able to get good implementations of any of these three free. –  David Thornley Jan 28 '10 at 19:07
Yes we do have a course on AI but it's in next semester. I think I should start with searching/sorting techniques,graphs etc. –  avi Jan 29 '10 at 15:16
Thanks to all of you for your wise comments. –  avi Jan 29 '10 at 15:17
add comment

Besides the obviousness of taking AI classes and reading AI books, try to get really good in Statistics and Probability. Most methods in AI use lots of it.

Also, just think about AI as being the leading edge of algorithms. Think that the algorithms that we take for granted today once were the leading edge (and thus AI) of computing theory.

share|improve this answer
Thank you Mr. Padu for your response. We do have Probability and statistics as a subject and my score was highest (91%) in it. I really like this subject. –  avi Jan 29 '10 at 15:14
add comment

MIT's Free Online Undergraduate Computer Science Course on Artificial Intelligence


'Artificial Intelligence' introduces the fundamental concepts of 'Artificial Intelligence' (AI) as applied to computer software. 'Artificial Intelligence' is upper-level undergraduate OpenCourseWare offered by Dixie State College of Utah. It is part of a Bachelor of Science program in Computer and Information Technology.

share|improve this answer
Thanks Mr. Joe, Open course ware is really a good resource. I finding it very helpful. –  avi Jan 30 '10 at 18:49
add comment

Try to mimic your day, in code. Think about all the decisions you encounter every second, and try to imagine putting that into a program.

share|improve this answer
Mr. Scott your suggestion is really good.I will try to implement it as far as I can. Thanks a lot for your response. –  avi Jan 29 '10 at 14:54
add comment

Your Answer


