Graph colouring is a classical problem in graph theory with a wide range of real-world applications. At its core, it consists in assigning colours to the vertices of a graph such that no two adjacent vertices share the same colour. While this problem may seem abstract at first glance, it offers a powerful framework for solving complex scheduling and resource allocation tasks. In intelligent scheduling, decisions must be made to allocate limited resources — such as time slots, rooms, processors, or personnel — while avoiding conflicts and respecting constraints. Many of these problems can be naturally modelled as graph colouring in stances: each task or resource becomes a vertex, and conflicts are represented by edges. A valid colouring then corresponds to a conflict-free and efficient assignment. This intersection between graph colouring and intelligent scheduling not only allows for elegant mathematical formulations but also opens the door to the use of advanced algorithms, heuristics, and optimization techniques. From exam timetabling and register allocation in compilers to frequency assignment in wireless networks, graph colouring provides a unifying approach to solving scheduling problems efficiently and intelligently. Its aim is to prepare student for their professional lives by making the most of their academic background.