Boyce-Codd Normal Form I am bit confused with BCNF and would appreciate any clarification.

I have a table 



The primary key is a composite of all its attributes.
Is this table in BCNF?
My assumption it is not, because BCNF requires any determinant to be a candidate key. However, in this example there is dependency Subjects->Department, i.e. knowing subject we can say which department it is taught at. But, Subjects field is not a candidate key so it violates BCNF. It is assumed that one subject can be taught by only one department. 
I might be misunderstanding something, so please anyone can clarify.

Thank you
I think your confusion may be arising from the fact that {Department, Subjects, Programme} really isn't a candidate key.  To be a candidate key, the attributes must guarantee uniqueness of each tuple, and must be minimal--that is, there is no subset of the attributes which guarantees uniqueness.  Since {Subject, Programme} alone guarantee uniqueness, including Department in the key disqualifies it as a candidate key.

Once you remove Department from the primary key, you see that the table is not in BCNF, which requires that for any dependency X -> Y, either Y is a subset of X, or X is a superkey.  In this case, Department is not a subset of Subjects, nor is Subjects a superkey (since alone it cannot uniquely identify a tuple).  Technically, the depicted relation is not even in 3NF, since Department, now identified as a non-prime attribute, does not provide a fact about "the key, the whole key, and nothing but the key".