Sunday, June 12, 2011

Coping with issues of sloppiness and carelessness in writing

I appraise and am proud of my students in terms of their skills and capabilities of independently writing the whole drafts of their papers after going through my writing training. In particular, to train the writing of my students, I have iterated with them via marking through their writing and explaining to them why my suggested ways are better. Since my second year of my faculty job, my students have already written the whole drafts for the papers of which they are lead authors (with iterations of my marks and feedback). See some earlier blog posts on writing and my advice portal for relevant advice.

At the same time, I also notice some students still suffer from issues of sloppiness and carelessness in writing. For example, when I go through my pass of writing review on a draft submitted by a student to me, I could still point out many low-level writing issues (which should have been detected and fixed by the student) along with other issues.

I don't expect students to write perfect writing for the first pass; in fact, it has been suggested in the field of technical or general writing that, in the first pass of writing, writers need to focus on the ideas/contents rather than low-level writing issues.

But in later passes of draft reviewing, students need to have eyes equipped with special carefulness to scan through their own writing (including others' writing) to spot out various issues including low-level writing issues (such as those related to typos and grammar), high-level writing style issues (such as those related to bad logic flow, terms used-before-defined, inconsistent usage of the same term throughout the draft), and content issues (such as wrong descriptions of ideas or algorithms).

Below are my initial suggestions to students on how to cope with the issues of sloppiness and carelessness in writing but I welcome your suggestions.

*. You must do spell check on your writing. If you use MS Word, Word has good features of spell check and basic style check. If you use LaTeX, quite some editors support spell check: turn it on! Alternatively or additionally, you could generate a PDF file from your LaTeX files, and then copy and paste the text from the PDF file to an empty MS Word document, and use the spell check and basic style check there (not sure whether basic style check would work since extra line breaks are within the text).

*. For some of the common writing issues of yours that could be turned into rule checking, you should use rule-checking tools such as style-check for checking text in LaTeX.

*. When you go through your writing for reviewing, you should use a pen for marking through a hardcopy of your paper, rather than viewing it on computer screens or revising your draft along the way of reviewing it. Empirical evidence in technical writing or reviewing has shown that marking through hardcopies is more effective for identifying writing issues.

*. When you go through your writing, you should keep those common writing issues of your own in mind (I have an internal guideline for students to write writing-defect recording log, similar to defect recording log in Personal Software Process). For example, if you find that you have subject-verb inconsistency issues commonly in your writing (based on my past marks), you may consider to use a dedicated pass on your writing to simply look for only this issue (without looking for other issues). I know doing so would take time but before you have the capacity of spotting out various kinds of writing issues within a single pass, you would have to do so to identify your common writing issues.

*. You yourself should take time to go through your own writing with high care. Especially for your camera ready versions, please really take extreme care to inspect your own writing. For my pass of both idea and writing review of a camera ready version from a student, I would very likely take 1-3 hours for a single ACM/IEEE-format page. I believe that I may have "special eyes" to catch so many issues in a student's writing in my pass. With my "special eyes", I would still need to take a long time to go through a single page, partly because I spend significant time to ask "why so? is it true?" almost for each single sentence in terms of its content besides those writing issues. For example, if your paper includes a control flow graph drawn for a code snippet, I would redraw it myself on a piece of paper and compare my own graph with the graph included in the paper, without taking for granted that your graph is correct: you should do the same in your own pass of reviewing your draft.

*. You should ask one or more peer students to go through your draft for peer review for writing (of course, before that, you are expected to get peer reviews for your ideas and contents). If you find that, after only one student's peer review, your past drafts still got many marks from me, you should consider to ask more than one peer student to peer-review your future drafts.

*. (Suggestion contributed by Michal Young) Read aloud, preferably to someone who is willing to listen (even if they know nothing of the subject), but alone if necessary. Often our ears catch problems that our eyes silently correct before feeding our brains.

Happy writing!

More suggestions on addressing the issues are welcome and appreciated!

Wednesday, June 8, 2011

Tips on collecting research papers related to your research topic

*. Tip 1: Type in the keyword of a specific research topic (such as "symbolic execution") or the title of a research paper known to you in
http://scholar.google.com/
Then for relevant papers, you could see a list of papers related to the keyword, typically with those papers with more citations shown earlier.

Then you could browse through the papers citing a specific papers by clicking the "Cited by XXX" for the paper, e.g. "Cited by 922" for an early paper on symbolic execution by King. Then you may browse more recent papers first by clicking "Since 2011", "Since 2010", .... (from a pull down menu shown near the top of the result page) one at a time to browse from newer papers to older papers.

For a specific paper, you could click its "Cited by XXX" to open a new tab or window in your browser to see the list of papers citing the paper so that you don't lose the context of your earlier browsed result page.

*. Tip 2: Similar to Tip 1, but do the search with keywords at
http://academic.research.microsoft.com/
Then click "here" (from "This page shows one keyword best matching your query, you can find other results here.") on the line near the top of the result page to get more matched results. You could navigate to the papers citing a paper by clicking "(citations: XXX)" shown in the end of the paper's title in the result page.

*. Tip 3: Search or browse ACM digital library http://portal.acm.org/ or IEEE Explore library http://ieeexplore.ieee.org/Xplore/ to find papers and their references, as well as the papers citing them. Comparing with Google scholar (http://scholar.google.com/), ACM digital library could more easily allow you to navigate from a paper to papers from the list of references cited by this paper.

*. Tip 4: Type in the keyword of a specific research topic (such as "symbolic execution") or the title of a research paper known to you in
http://www.google.com/
If you find too many irrelevant results, you could add "filetypes:pdf" after your search keyword to return only the PDF files, which are typically the format of research papers. Note that for each research paper collected by Google Scholar as well, "Cited by XXX" is also shown for the entry of the paper in the normal Google result page to allow you to navigate to the papers citing the paper.

*. Tip 5: Browse online proceedings of recent major conference or journal contents in your research topic area from digital libraries (such as ACM digital library http://portal.acm.org/ or IEEE Explore library http://ieeexplore.ieee.org/Xplore/) to find out relevant papers. Or browse online technical programs or accepted papers of major conferences posted on their conference webs before the proceedings are available in digital libraries, and then google specific paper titles since some researchers may post their paper PDF files on their homepages (typically after camera ready deadlines).

If you attend a conference, sometimes the conference organizers may distribute a single PDF (in a USB stick, CD, or online web) including all the research papers in the proceedings. Then you could globally search a keyword such as "symbolic execution" in the single PDF file to find out all locations mentioning this keyword and thus find out relevant papers.

*. Tip 6: Browse the publications webpages of specific researchers or research groups working on your research topic area. You could use a free tool WebMon (http://www.markwell.btinternet.co.uk/webmon/) or watchthatpage (http://www.watchthatpage.com/) to add these webpage URLs there and run the tool frequently (e.g., weekly) to automatically check whether these pages have been updated, and browse only those publications webpages that have been updated since last time you ran the tool.

If you have more tips, please contribute!

Acknowledgment:
Thank Yingfei Xiong for suggesting the watchthatpage online tool.