I teach a high school student who has already developed an understanding of the language used in my curriculum and causes difficulties. The lectures and programming projects in the curriculum bore this student, and as a result, he doesn't cooperate when it comes to doing the coding labs and projects. He simply doesn't agree to do the work. An obvious "solution" is simply to give him a low grade, but it is not an ideal solution, because he has readily mastered the material.

Specifically, what techniques can I employ to encourage him to work on projects and to cooperate? Alternatively, what changes can I make to project guidelines for such students?

Tests reflect that the student knows the material (though it is clear that he is disdainful of the way it is taught).