Course scheduling is a complex academic process that must consider the availability of lecturers, classrooms, time slots, student groups, and specific regulations of each study program. This study aims to implement the Greedy Algorithm combined with a Constraint Satisfaction Problem (CSP) approach to optimize course scheduling in the Faculty of Engineering. The system was developed using Python and tested using scheduling data from the Even Semester of the 2025/2026 Academic Year at the Faculty of Engineering, Universitas Muhammadiyah Makassar. The dataset consisted of 432 courses from six study programs, 136 lecturers, 16 classrooms, seven operational days, and five class sessions per day. The Greedy Algorithm was employed to generate an initial schedule using a first-fit strategy based on priority and slot availability. Subsequently, CSP was applied to model and resolve constraints, including lecturer conflicts, room conflicts, student conflicts, Zoom-class regulations, MKDU scheduling rules, non-regular class schedules, and fixed PWK schedules. The experimental results indicate that the proposed system successfully generated a conflict-free schedule with a Constraint Satisfaction Rate of 100%. All seven hard constraints were satisfied without any lecturer, room, or student conflicts. The core scheduling process required only 0.679 seconds and successfully resolved nine room conflicts within two iterations. These findings demonstrate that the integration of the Greedy Algorithm and CSP is effective in producing valid, efficient, and adaptive course schedules that meet the academic requirements of the Faculty of Engineering.