1 / 6

PageBreaker - Java program for page breaking

This assignment requires students to develop a Java program called "PageBreaker" that will break a text document into pages. The program should allow input from stdin and output to stdout. Additional features such as intelligent weights, dynamic load, and expression language can be implemented for bonus marks. The assignment also includes submitting working code on CDF, printouts of sample inputs and outputs, UML diagrams, and a design write-up. Plagiarism is strictly prohibited.

barbarj
Download Presentation

PageBreaker - Java program for page breaking

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Assignment #1 • Due Wednesday, October 18, • in tutorial or • by 5:00 p.m. in dropbox • Late penalty: • R by 5:00 –15% • F by 5:00 –30% • After that: 0 • java PageBreaker –l 72 –a bindent < file.txt | lpr • input from stdin, output to stdout • my gift to you • don’t do more (hard for TA to execute) CSC407

  2. 1: this is 2: 3: a 4: 5: 6: test 7: to see where 8: the page 9: 10: 1: will be 2: broken 3: That is all. Algorithm (-l 10) 1: this is 2: 3: a 4: 5: 6: test 7: to see where 8: the page 9: 10: will be 11: broken 12: That is all. +4 -9 = -5 b +8 –7 = +1 b b 0 -4 = -4 0 -3 = -3 +4 –2 = +2 b 0 0 = 0 CSC407

  3. Algorithms • blanks • indents • bindent • ??? • Use intelligent, parameterizable weights. • Ensure it is easy to add new algorithms • prepare for dynamic load • implement dynamic load for a bonus • Ensure it is easy to combine algorithms • prepare for expression language • implement for a boinus • e.g., -a ‘blanks*2 + indents*0.5’ CSC407

  4. Hand In • Working java • ensure your java is on CDF, accessible to Kenneth, and works to spec. • tell Kenneth where it is! • Nicely formatted and organized printouts • Print outs of sample inputs and outputs • Design documentation • UML static class diagram • Brief description of all classes in the UML • Write-up explaining the design • tradeoffs • patterns used CSC407

  5. Marking Scheme • execution (25%) • quality of work products (25%) • UML, design writeup, code, tests • quality of the design (25%) • knowing use of patterns (25%) Bonus • dynamic loading of classes (invoke class loader) (+5% absolute) • expression language (+5% absolute) CSC407

  6. Bewares • If the quality of the work products is so bad that Ken can’t figure them out • you get 0 on patterns and design as well! • Plagiarism! • lonesome, solitary exercise • NOT A GROUP ACTIVITY! • we’ll be looking hard for cheats! CSC407

More Related