IB Higher Level Dossier Requirements 2006Prior Syllabus: IB Higher Level Dossier Requirements 2000-2005Click Here To See What Other IB Teachers Say About Churchill Dossiers. |
Donaldson's Dossier Grading Rubic 2006 [Under Construction]: pdf WordPerfect WORDIBO Computer Science Study Guide 2006 [pdf]IBO Teacher Support Material 2006 [pdf]Pages 66-152 of IBO Teacher Support Material 2006 includes discussions and examples of student work to show how the assessment criteria has been applied in the past. |
Advice From Other IB SchoolsUnder Construction |
Binder To House The Dossier
|
APA Citations & ReferencesUse APA style citation and reference conventions for software reviews, citing sources of source code that you have integrated into the source code for your dossier program, and all other sources referenced by your dossier program and dossier documentation. The Program Dossier is a professionl level document. It will be read by professionals when you present it to academic referees and potential employers as an example of your best work in high school. It is not an end-of-chapter exercise! There are several professional citation styles that are used by various academic and professional communities in the world. Churchill IB Computer Science students are expected to use the citation and referencing style of the APA (American Psychological Association). This is the source of the style found in the Churchill Student Handbook. This is the style preferred by teacher Gerry Donaldson. When citing electronic references, refer to http://www.apastyle.org/elecref.html. When citing non-electronic sources, refer to APA Style. |
Table of ContentsPreamble Acknowledgements Annotated Bibliography Stage A: Analysis A1: Analysis of the Problem A2: Criteria For Success A3: Prototype Solution Stage B: Detailed Design B1: Data Structures B2: Algorithms B3: Modular Organization Stage C: The Program C1: Using Good Programming Style C2: Usability C3: Handling Errors C4: Success of the Program Stage D: Documentation D1: Annotated Hard Copy of the Test Output D2: Evaluating Solutions D3: User Documentation Stage E: Holistic Approach Appendix I: Mastery Techniques Identified Appendix II: Pre-implementation Planning Documents Appendix III: Rules of the Game / Chart of Codes Index Inclusion on CD: SnagIt Movie Showing Application In Use Inclusion on CD: All Dossier Related Files Inclusion on CD: Dossier Web Page Attachment: CD Containing ALL Dossier Related Files |
Separate Footer For Each SectionCreate a footer and use the automatic page number function of your wordprocessor to automatically number your pages in your footer. Start renumbering from the beginning of each section of the dossier.
|
Preface |
Stage B: Detailed DesignLearn UML: New For Syllabus 2006Documenting the Design Process was the most heavily weighted Syllabus criterion for 2000-2005. Here was Com Sci Gate's treatment for that period.
The student has discussed and clearly illustrated all of the data structures/types to be used to solve the problem, and provided sample data for all of them. Using Appropriate Data Structures was an important Syllabus criterion for 2000-2005. Here was Com Sci Gate's treatment for that period.
The algorithms discussed are sufficiently logical, detailed, and well documented to be used to create the solution in Java. "Students must include parameters, return values, and descriptions of pre- and post-conditions." - IB Study Guide 2006, page 57 A pre-condition is "an object's valid state and the arguments passed to a method prior to a method call." A post-condition is "an object's valid state and the arguments passed to a method after a method call." A class invariant is "an object's valid state." Requiring pre-conditions and post-conditions is known as Design by Contract. These are "comments" that are identified for each and every method. Historically, in pre-Java programming languages, pre-conditions and post-conditions were recorded as comments immediately above the signature of the function. However, with Java and especially with the use of Javadocs, Java program record pre-conditions and post-conditions as Javadocs immediately above the signatures of methods. Apply Javadoc taglets in your Javadoc comments, available from the University of British Columbia Computer Science 211 course. UBC uses customized Javadoc taglets for:
Using Efficient Algorithms was an important Syllabus criterion for 2000-2005. Here was Com Sci Gate's treatment for that period.
The modules discussed are sufficiently logical, detailed and well documented to be used to create the solution in Java. The design is assessed independently from the programming stage (stage C). The student may deviate from this detailed design or expand it during stage C, without penalty. Formative evaluation is best practice rather than summary evaluation. Formative evaluation is the evaluation of a design while "forming" (coding) the design. When improvements or errors are identified, both the design and code should be modified as soon as reasonably possible to enhance the program. Summative evaluation is the evaluation of a design after the coding is completed. Changes in design are not permitted before completion. Summative evaluation is worst practice. Much preferred, more successful and less costly is the continual correction of formative evaluation. First, design your program using a class diagram as best you can. Then, after the initial draft of the class diagram is designed, write source code that implements the class diagram. You often think of other classes or identify errors or improvements in design while coding. It is appropriate while coding to modify both the design and source code of a program, including modifying planning instruments such as a UML class diagram. Plans may and should be changed in light of increased experience with the problem as the project progresses. The student should practice formative and not sumative evaluaton as the project progresses. That is, everything should be constantly re-evaluated and, where doable within the time and resources available, appropriate changes should be made to both the design and implementation. Both types of UML class diagrams should be presented here.
Clearly label each diagram as to whether it came during the design stage or after coding of the program was compeleted. After the coding is completed, a post-coding set of class diagrams should be included for documentary purposes.
|
Stage C: The Program
All parts of the program listing demonstrate considerable attention to good programming style. Place the source code listing here. Readability and understandability are the objectives. Clarity, structure, and internal documentation determine how well this section is done.
|
Stage D: DocumentationDeveloper's Documentation: HTML JavadocHTML (Hypertext Markup Language) is a script language used to format documents in web browsers. A Javadoc file is an HTML file that organizes documentation embedded in Java source code accourding to Javadoc specifications. Java's API Specification is posted as a Javadoc HTML file. A similar HTML file is generated when the Javadoc software tool is applied to any Java source code using appropriate Javadoc comments and taglets. Javadoc specifications and usage are found at Sun MicroSystem's Javadoc Tool Page. Any Javadoc comment may be incorporated into the Javadoc HTML file. All HTML tags are recognized and may be used as defined by Hyptertext Markup Language specifications. A table using <table>, <tr>, and <td> tags may be created. Emphasis may be added using <b>, <i>, <em>, and <strong> tags. The shape, size and colour of fonts may be controlled using the <font> tag. Line breaks may be forced using the <br> tag. Paragraphs may be isolated using the <p> .. </p> tags. Ordered lists using <ol> and unordered lists using <ul> and items within lists using <li> may be created with appropriate numbering, bullets and indentation. Et cetera, et alii, et alibi. Specific documentation comments are formatted in a standardized way by the Javadoc software tool. These are Javadoc taglets. The source code of all classes and interfaces must be preceded by the following Javadoc taglets and corresponding comments whenever appropriate.
The source code of all methods and constructors must be preceded by a statement of purpose and the following Javadoc taglets and corresponding comments whenever appropriate.
A well documented Javadoc HTML file details the parts of the program's modules. A well documented Javadoc HTML file details the packages, classes, interfaces and methods of the program. Javadoc comments and tags are entered as comments throughout a program's source code. Then, by passing the source code to the Javadoc Tool, an HTML file is generated that yields several different documented views of the program in terms of the program's attributes, constructors, methods, classes and packages. Further explanation and examples are found at:
IBO requires that methods have descriptions or pre- and post-conditions of methods. Usually, when doing this, it is customary to also document the invariants of a class. Therefore Churchill students are to use the customized Javadoc taglets @pre, @post, and @invariant found at UBC's web site. Insert a hard copy of the Javadoc documentation. Only include documentation of classes and methods that are necessary to understand the immediate source code of the program. Include documentation of inherited classes only when that documentation significantly contributes to a better understanding of the derived classes used in the program. Use your best judgement!
The student includes a complete set of annotated sample output, testing all the objectives in criterion A2. Including an Annotated Hard Copy of the Test Output was an important Syllabus criterion for 2000-2005. Here was Com Sci Gate's treatment for that period.
The student outlines the solution.
The student discusses the effectiveness and efficiency of the solution. The student suggests alternative approaches, processes and improvements to the solution and the design process.
The student includes user documentation that contains clear, illustrated instructions about installing and running the program. State the obvious. Explicate the obscure. |
Stage E: Holistic Approach
The student showed full commitment. The student:
|
Mastery Techniques Identified [0 marks]
Do this in a wordprocessor.
Start each technique at the top of a new, separate page.
Use a subheading identifying the technique at the top of a page where a new technique begins.
Leave a blank line and then reference the name of the file, page and line numbers in the source code from which the technique source code will be copied.
Each section of Mastery Techniques should include comments that describe the purpose and use of the technique in the program.
Copy the actual source code illustrating the technique in your program listing from your text file editor and paste it onto the corresponding page in your wordprocessor.
After the source code has been copied to your wordprocessor, don't forget to select and change the font of the source code to a nonproportional font such as Courier New so that the spacing of the original source code will remain intact. (Any text that is not source code may be in a proportional font.)
Aspects must be "non-trivial, well documented and appropriate." (IBO Computer Science Study Guide 2006 [pdf], page 65)
Mastery Techniques Identified must contain at least ten of the following fifteen techniques.
Add data to an instance of the the RandomAccessFile class by direct manipulation ofthe file pointer using the seek method.
Delete data to an instance of the the RandomAccessFile class by direct manipulation ofthe file pointer using the seek method. (Data primitives or objects may be shuffled or marked as deleted by use of a flag field. Therefore files may be order or unordered.)
Search for specified data in an instance of the RandomAccessFile class.
Recursion.
Merging two or more sorted data structures.
Polymorphism
Inheritance
Encapsulation
Parsing a text file or other data stream
Implement a hierarchical composite data structure. A composite data structure in this definition is a class implementing a record style data structure. A hierarchical composite data structure is one that contains more than one element andat least one of the elements is a composite data structure. Examples are, an array or linked list or records, a record that has one dield that is another record or an array.
The use of any five standard level mastery factors - this can only be applied once. Those are:
- 15 Up to four mastery aspects may be awarded for implementation of abstract data types (ADTs) according to a table in the IBO Computer Science Study Guide 2006 [pdf], pages 66-67. entitled "Implementation of ACTs".
The ADT may be implemented as a class or interface containing data members and methods appropriate to that ADT. The specific number (1, 2, 3 or 4) of mastery aspects to be awarded will depend on the thoroughness and correctness of the student's implementation.
Floppy or CD With Source Code, Data, and Executable Files [0 marks]
For now your floppy or CD must contain the following files:
Floppy, CD or DVD Disk With All Related Dossier Files [0 marks]
As a requirement of Computer Science 33-IB, but not as a requirement for your IB Certificate, you will generate a web site presenting your dossier and all its files in various appropriate formats.
The web site should organize all of the dossier files into an attractive presentation. Be creative in coming up with your own web site design. It should not be "busy". It should be simple and clear to use. An example of one such site is The Card Game Assignment by John K. Estell at Standford University.
|
|
![]() gerry@comscigate.com |
|