Today, gaining computer programming skills and understanding the logic of algorithm has become important not only for those working in this field but also for those working in almost every profession. However, various difficulties are encountered in programming education for many reasons. In order for students to overcome these difficulties, they have to solve many sample programming questions. Although there are some English-based resources on exercise questions for those trying to learn programming, there is not yet a comprehensive and sufficient resource for Turkish. In order to fulfill this need, a web-based algorithm exercise and assessment management system with Turkish content was developed in this study. In the system called AlgoBug, users solve the practice questions of many programming languages in order from easy to difficult. Users' solutions are assessed by other users in the role of evaluator who are more advanced in that programming language, and detailed feedback is given to them. In addition to written feedback, solutions are scored between 1 and 10 points, and solutions scoring 7 or more are considered “correct”. In order to carry out tasks such as introducing the system to new users in the system and guiding them in the programming learning process, the former users who have completed all the questions in a programming language are also given a consultancy role. With the AlgoBug system, people who are new to programming are provided with the opportunity to practice abundantly on the topics they have learned, while helping them to understand and correct their mistakes and shortcomings with the detailed feedback they receive on their solutions. While the users continue to improve themselves by solving the questions in a programming language, on the other hand, evaluating the solutions of the lower level users in the evaluator role enables them to further consolidate what they have learned with the "learning by teaching" approach. It is thought that the AlgoBug system will contribute to reducing the difficulties encountered in programming education.