Optical Character Recognition (OCR) is a task in computer vision where one is given an image of a word and the task is to recognize the letters of the word. Recent advancement in deep learning improved significantly the state of the art in OCR, combining convolutional neural networks, recurrent neural networks and vision transformers. A specific case of OCR is when the word is handwritten, in that case the task is called Handwritten Text Recognition (HTR). For example, many historical documents are handwritten and are difficult to recognize. In this course we will learn and research about OCR and HTR.