Programming has become very important in modern education. Research shows that exposing students to coding at a young age positively contributes to their academic, cognitive and professional development. However, students may make some mistakes during the programming process, which are considered a natural part of programming. In this context, the aim of this study is to classify various mistakes encountered by novice programmers while learning programming. For this purpose, a literature review was conducted, and it was found that there are basically two types of mistakes: strategic mistakes and knowledge-based mistakes. It was found that these mistakes are divided into groups within themselves. This book chapter recommends that researchers and practitioners conduct practical studies of the mistakes uncovered and conduct qualitative research in which the mistakes can be examined in greater depth.