The goal of this course is to explain and provide hands-on experience for most recent algorithms of pattern-recognition and machine-learning, in particular Deep Learning techniques. The course will begin by briefly recalling the framework and methodology of machine-learning in general, and providing a synthesis on most commonly used algorithms for supervised and unsupervised learning (Support Vector Machines, boosting, Random Forests, Neural Networks, K-means and other clustering methods, etc…). The importance of data representation shall be highlighted, with common examples of features used for image classification. Then, the general principle and originality (representation learning) of Deep Learning approaches will be explained, before detailing algorithms for Convolutional Neural Networks, Deep Belief Networks and Deep Stacked Auto-encoders.