When defining a foreign key in this Oracle example, what is the significance of the CONSTRAINT keyword?
What exactly is the role of fk_courses_department_code then?


It is the name of the constraint. 

This is useful to e.g. drop the constraint later, as that can only be done by supplying the name.