The objective of the Machine Learning course is to give an in depth presentation of the techniques most used for pattern recognition, knowledge discovery, and data analysis/modeling. These techniques are presented both from a theoretical (i.e., statistics and information theory) perspective and a practical one (i.e., coding examples) through the descriptions of algorithms and their implementations in general purpose programming languages. At the end of this class, the students are expected to: be familiar with the most widely used techniques for pattern recognition, knowledge discovery, and data analysis/modeling; be able to write simple programs or scripts implementing them; apply them to the bionformatic analysis of biological data.