This course provides an overview of key topics in machine learning and broader issues in this domain. It builds on the research literature on machine learning as well as on the principles of constructivism (i.e., learning by doing). The course employs a combination of hands-on in-class activities, presentations, and discussions about readings and algorithms. It also provides an overview and practice of the R and Python programming languages that will be used to exemplify fundamental machine learning techniques. This course is open to graduate students across the campus, with priority given to the Faculty of Education graduate students.