See below for a detailed response. My advice would be to reference your Java textbook both in the bibliography, the mastery index and the source code where you label the code for which you are claiming the ADT mastery factor.
My post to the IBO Computer Science forum:
From the 2006 Subject Report:
Candidates must reference any code that is taken directly or indirectly from another source – this will be the usual case for an ADT as it is extremely unlikely that a candidate will write an ADT from scratch.
Extremely unlikely? Is it? Surely any reasonable HL student is expected to be able to write the code for a Linked List or Binary Tree from scratch. Are students really expected to reference where they got that information from?
I’d interpret this as meaning that a high school student is not likely to “invent” the concept of a Linked-List. They will certainly have seen examples in class or in a text-book. I think the normal situation is that HL students have lectures where the teacher explains how a Linked-List (or other ADT) works and shows some sample code. Then the students are going to write their own code, part of which will be similar but not identical to the code they saw. I normally show my students how to create the list, how to code the NODE class and how to add nodes at the beginning and how to traverse the list. They do the rest themselves, and they don’t code the simple stuff exactly like I showed them. I can’t see any reason that they need to reference this, unless they copy a lot of code exactly, letter-for-letter. I suppose they could write something like “The linked-list is based on the discussions we had in class, but I wrote the code myself.”< /p>
I’ve marked a lot of dossiers and I have never seen an HL student acknowledge the source of a Linked-List or other ADT. I do occasionally see dossiers where they have downloaded some other library code, like something to do web communication, and then ackowledged the source.
The real offense would be a copy-and-paste from a web-site – or even worse from another student. I have seen that before. Then they need to acknowledge the source, and they won’t be awarded mastery factors because they did not write the code themself.
The short answer? Yes, they are allowed to read books. “Writing from scratch” presumably means typing code on a blank screen or in an exam without notes. I agree with you, any capable HL students should be able to do this. And I hope they are not going to credit their teacher when writing exams.