A course scheduling problem is a problem on arranging a proper timetable in a semester for courses, instructors and students in each curriculum according to several complex constraints. This Master project proposes a method to schedule such timetable by using a genetic algorithm. A course timetable for the department of computer and information science, KMUTNB, is used as a case study. The system defines two types of constraints, hard and soft constraints. The hard constraints are the conditions that cannot be violated while the soft ones are the conditions that should be obeyed if possible.