The course will review some basic algorithms and data structures that are useful in the Artificial Intelligence field. A balance will be struck between theoretical analysis of algorithms and practical lessons in how to design new algorithms and choose appropriate algorithms for applied problems.