Writing This writing seemeth to me … not much better than the noise or sound which musicians make while they are in tuning their instruments - Francis Bacon No tale is so good that it can’t be spoiled in the telling - Proverb Everything written with vitality expresses that vitality; there are no dull subjects, only dull minds. - Raymond Chandler Writing • Good writing is vital in the workforce • You don’t need to be a Pulitzer Prize winner, but you need to be good • May determine how far you go • Made up of two parts – Good science – Good communication Scientific Method • Identify/Define the question • Formulate the hypothesis – Be sure the hypothesis is testable • Design experiments to test the hypothesis – Make sure the experiments will generate data that will specifically test the hypothesis. – Use real-world experiments when appropriate • Perform the experiments and collect data • Analyze the results Questions lead to Experiments • What happens if … ? – Identify and describe a phenomenon – Experiments should isolate the phenomenon • Why did it happen? – Causal – Experiments should probe possible causes and show the effects • How are things related? – Predictive – Experiments must vary the appropriate variables to identify relationships Identify Variables • What effects the outcome? – Start with the hypothesis • There may be many variables – Can the number of variables be reduced? – Possibly reformulate & refocus the hypothesis – Simplify • Beware of confounding variables – related to both the cause and the outcome – ie. a server may have other programs running that effect traffic and performance Multiple Variable Effects • Vary the value of one variable at a time – Simplest to perform – Doesn’t give information about the interactions between variables • Vary the values of all variables at the same time – May be impossible – Probe boundary cases – Probabilistic • Factorial Experimental Design – two or more factors with discrete values – study the effect of each factor and interactions – may use fractional factorial design • carefully chosen subset of experiments – Use Statistical Tools Communicating Results • Once you have results, you must explain – other people will want to understand • The problem may be easily identified, but the cause(s) may be more difficult to expose – Often, nothing will change if people aren’t convinced • This is especially true in a large organization • Communication may be oral or written – follows similar procedure Writing • A scientific/technical article is – a description of new ideas and – a demonstration of their correctness • Not boring! • Carefully guides the reader through the thought process to the conclusions – power in writing – reader is guided into thinking like the writer Crucial Part of Learning • For an idea to survive, – it must be communicated – others must be persuaded to believe • Must be explained clearly to give best possible chance to survive – – – – Describe the idea and necessary background Formally state the idea, often as a hypothesis Explain the contribution Justify the hypothesis by proof or experiment Document Structure • Introduction – – – – Funnel What is the problem? Who cares? Start broad, narrow to thesis State your thesis as a hypothesis • Previous/Related Work – Few things are entirely new – Places your work in context – Why is previous work not appropriate in this case? Document Structure • Methods – – – – Description of your solution Techniques used to solve the problem Figures to describe and make things clear Want the reader to believe it will work • Experimental Setup – How are you going to demonstrate your thesis? – What tests are you going to run? – How do the tests demonstrate your thesis? Document Structure • Results – Make it clear that your thesis is demonstrated. – Graphs and Tables should be easily read and interpreted. – Everything should point back to your thesis. – Don’t draw conclusions yet, but point out interesting/good results • Conclusion – Now draw conclusions – Point back to your thesis. – Point back at how the data supports your thesis. Style • Length should reflect content • Every sentence should be necessary – Short sentences with simple structure • • • • Third person, present tense, active voice Avoid personal pronouns Check your spelling and grammar After you are done, read it out loud. • Outline first - make sure everything points towards and supports your thesis Paragraphs Usually consists of a single topic or issue. Topic sentence to begin Remainder of paragraph supports Long paragraphs usually indicate that several thoughts have not been sufficiently disentangled. • Readers tend to pay attention to the start and end of paragraphs • • • • – not so much the middle Figures and Tables • A figure is worth a thousand words only if it is understandable and obvious. – If not, it detracts. • Don’t include a figure or table without referring to it and discussing it. – point out specifics – point out anomalies and explain • Make your results clear – the reader should be able to easily separate your results from others • Print it out and make sure it is still readable Bad Example Can you tell where the row breaks are? What are the big arrows in the middle of the columns? Where do they go? Bad Example Frequency 18 16 14 12 10 8 6 4 2 0 Frequency Better CS 345 Grades 18 16 14 12 10 8 6 4 2 0 Frequency Grade Frequency Sample Graph Load (requests/sec) Writing A typical performance graph that can be obtained with the statistics reported by httperf is shown in Figure 2. For this particular example, the server consisted of Apache 1.3b2 running on a HP NetServer with one 200MHz P6 processor. The server OS was Linux v2.1.86. The network consisted of a 100baseT Ethernet and there were four client machines running HP-UX 10.20. As the top-most graph shows, the achieved throughput increases linearly with offered load until the server starts to become saturated at a load of 800 calls per second. As offered load is increased beyond that point, server throughput starts to fall off slightly as an increasing amount of time is spent in the kernel to handle network packets for calls that will fail eventually (due to client timeouts). This is also reflected in the error graph, which shows the percentage of calls that failed: once the server is saturated, the number of calls that fail increases quickly as more and more calls experience excessive delays. The third and final graph in the figure shows the average response time for successful calls. The graph shows that response time starts out at about 2ms and then gradually increases until the server becomes saturated. Beyond that point, response time for successful calls remains largely constant at 43ms per call. Ethics • Don’t overstate significance or originality but be positive • Place other authors in their best possible light rather than diminishing their status – point out deficiencies in a respectful manner • Don’t present opinion as fact or distort the truth Ethics • Don’t plagiarize – Copying text without clearly marking the bounds of the copied text and referencing its author – Use of others ideas without acknowledgement – Copying to much of your own previously published work Edit and Refactor • Never perfect the first time – Unless it is a revelation. • Steps – Outline in detail to make sure the arguments flow and support hypothesis – Write a rough draft • throw sentences and thoughts quickly – Rewrite for clarity and consistency – Reduce wordiness • Make sure the writing conveys impact – early in writing and carried throughout