Dr. J's Graduate Seminar Lecture Notes
(C) Copyright 2021-24 by Clinton Jeffery,
for use in Dr. J's Graduate Seminar classes only.
lecture #1 began here
Syllabus
Let's go over the
syllabus.
Announcements
- Class is intended to be synchronous/interactive discussion
- Maybe .5-.67 "research methods", .33-.5 "research colloquiums"
- Past: lots of practice on writing and some on presentation
- Goal: practice on writing, more practice on presentation than before
- Zooming should be possible for both local and distance students...
but if you are healthy and in Socorro I would prefer face to face
interaction.
- Zooms will be recorded, they should appear automatically for local
students, but I may have to copy files around for distance students.
I have requested the two Canvas sections be merged; that might or might
not happen.
Homework #0: Responsible Conduct of Research
- Go to https://www.nmt.edu/research/compliance/CITI%20Training.php
- Sign up for an account (NMT Student)
- Perform Responsible Conduct of Research
Reading
- Read Keshav's paper for Wednesday:
How to Read a Paper
- Read Booth's Prologue (see Amazon's Look Inside if necesary) by Wednesday
- Read Chapters 1-2 of [Booth et al]
What is Research? Why do we do it?
Everyone please go around the room and tell me:
- Your name
- Whether you are MS or PhD student
- How you would define "Computer Science Research"
- Your research interests, if any
Student definitions of research included
- Use data resources, find new facts
- Expanding the state of computer science
- Experiments, discover more details or new fields
- Discovering facts about the world, or about algorithms, or ...
- Testing theories
- Systematic investigation,
- Into theoretical and practical applications
- Research into algorithmic properties
Academic Research
Just as a reminder, when we talk about research this semester,
we are talking about
- adding to mankind's knowledge
- discovering, inventing, creating something never done before
- advancing the state of the art
- ...on a topic or question that is not obvious
Types of computer science research
- theory
- The royal house of CS.
We are a branch of (applied) mathematics.
What about theoretical
CS research is distinct from math?
- systems
- CS is a branch of engineering.
Is CS systems research the same as other forms of engineering research?
Maybe it is one meta-level more wide open.
- applications?
- is anything that uses advanced computing computer science research?
- these categories ...not really mutually exclusive
- the best theoreticians I have ever met, tested
theories by writing real world implementations.
Now,
- what is the difference between pure (or basic) research,
and applied research?
- what is the difference between research and development?
lecture #2 began here
Speakers
- I am inviting a lot of speakers for this class; external speakers
can introduce us to research ideas beyond our little university.
- If you (know someone who) would be a good speaker, your nominations
are welcome.
- I don't know if I will even come close to
last year's speakers,
or those of years past,
but we will see who we can get.
CS Research Training
- I never took a "research methods" course in school, but...
- I was taught by example
- ...and I've been training
research assistants since 1993, or maybe 1991
- So, this
course is part of your research training, and will at times
resemble what I would do to prepare my own students for research.
Choosing an Area within Which to Seek a Topic
When I started writing this section, I was thinking about how I first became
interested in my chosen research field. Then I realized that professionals
working in the field face similar choices.
- natural inclination
- "I just like it"
- (pseudo)heredity
- "my aunty studied it"
- bribery
- A Fountain of Money will pay me to research it
- path of least resistance
- I went into this topic to avoid pain
- compassion
- I went into it to reduce others' pain
- inertia
- I'll keep researching in the area I'm already familiar with
- bandwagoning
- I heard an inspiring talk
- herd instinct
- A lot of people said this topic was trending
- random
- I picked this area by throwing darts one night in a bar
Your Research Area (at least for today)
If you don't have a research area yet, I can pick one for you! Uh oh...
Don't worry, this is for HW#1, you can change your area in future homeworks
- cybersecurity - incident response
- machine learning
- crypto and quantum
- system admin or hpc
- data science and visualization
- applying machine learning to bioelectric signals
My comments:
- short and sweet
- venue: ACM SIGCOMM Computer Communication Review
- Waterloo -- very prestigious canadian CS department
- Keshav is UC Berkeley grad, now at Cambridge
- 3 pass method
- researchers spend hundreds of hours per year reading papers
- Pass 1: general idea, 5-10 min.
Category, Context, Correctness, Contributions, Clarity
- Pass 2: content, <= 1 hour, key points, figures
- Pass 3: depth, 4-5 hours*, challenge every assumption
Literature Survey (from [Keshav])
- Use Search Engine to find 3-5 recent papers in chosen area
- Do pass 1 on each, then read related work sections
- If you find a recent survey paper, you are done!
- Find shared citations and repeated authors in your 3-5 papers'
references.
- Add the papers who are cited in more than one paper to your pool.
- Go to the repeated authors' web pages (uni. home pages, google scholar
pages, researchgate, ...) and look for any more recent
related work.
- identify top conferences in the field from repeated authors' publication
lists.
- go to top conferences in the field and read through the table of
contents for their recent (say, 5 or 10 years) proceedings. Look for
papers related to your chosen area. Add those papers to your pool.
lecture #3 began here
Authorship (RCR thoughts)
- What is authorship?
- By what criterion should a person be made an author, or be
omitted from a list of authors, for a given work?
- In academic research, why would authorship be an issue for the
responsible conduct of research?
- What kinds of problems come up relating to authorship?
- Does it matter in what order the author names appear?
Authorship Anecdotes
Things I have experienced or witnessed first- or second-hand
- I've been removed from a paper's author list in between a preprint
and its appearance in a journal before...
- I've been put on as an author when I did not contribute to a paper
or give consent multiple times(!), both by grad students and
by a senior faculty colleagues.
- I've been denied tenure partly because I coauthored/collaborated too
much with my PhD advisor as a junior faculty
- I've heard (secondhand) about a graduate student whose work was
basically stolen/published by a faculty member.
- I've seen a graduate student fired for publishing independently
(sole author) while on the payroll (RA) of a faculty researcher.
Looking ahead through our textbook
The 2024 fifth edition of Booth seems to have moved 1-2 chapters into an
unnumbered introduction. Chapter numbers I have from before may have to
subtract 2 in order to find the referenced materials, e.g. old Chapter 3
is now new Chapter 1.
- I hope you have got your hands on the required textbook [Booth et al]!
- We will soon discuss [Booth] Chapter I (Connecting with your Reader)
- You should go ahead and read Chapter 1
- Chapters 1-4 seem to be about identifying research topics/questions,
and finding and citing the related work on a given subject
- Chapters 5-9 are about arguments, claims, reasons, and warrants:
presenting a research answer that you've generated
- Chapters 10-15 are about writing up your results
- We will add new material on presentations and ethics as time allows.
-
What the book is missing, of course is the hard part:
-
how to actually DO the research to obtain the answer to a difficult problem.
- In theory this consists mostly of thinking and may range from a day to years.
- In systems this may involve building complex software systems and then
observing and evaluating them over a period of years.
- If you are lucky you find an advisor who just wants to study properties
of pre-existing theory or systems, perhaps using statistical analysis or
tuning/tweaking the parameters. If so you might skip years of thinking or
building. What are the pros and cons?
-
I have on several occasions worked with students who
wanted to write the prestigious publication without
actually doing the research first. Sometimes they seem
unaware that a step is being skipped.
-
At best, they figure it out and this becomes mastery of the MPU and leads to modest career success.
At worst, this is someone who really should not graduate.
- I have also seen on many occasions an enormous amount of research done
without successful publications. This is almost the default. Why?
- Research without publication happens because...
585 is once, but colloquiums are forever
As long as you are a CS researcher, you should seek out interesting talks
and learn from others. If you are here next Fall, you should come to the
external talks, even though you don't have to register for 585!
Papers to Help you write a Literature Review
Homework Q&A
- How can I go about accessing a paper without paying for it? I've been
refining my research topic and came across the paper
[XXX, behind an IEEE paywall]
-
- In many cases if you type the full title into a google search you will
find that the authors have posted it publicly on their website or on a
research site such as researchgate. Many organizations and copyright
licenses for published works now allow this, and (for example) the federal
government has long required it for research publications of their
employees.
- If it is a major science publisher, the University might have
a site license, and the paper lookup may well work from the campus
network or the campus VPN. If you are a serious researcher doing a lot
of these, you might get your own subscription, e.g. to the ACM Digital
Library or its equivalent in other organizations whose papers you use.
- If you don't find it on the authors' home pages or via a google search,
you might end up requesting the assistance of the university library, but
that will take time.
- The bold sometimes have luck by literally e-mailing* the
authors and asking nicely, but I don't always say yes when asked. The
materials are copyrighted and it might depend on the copyright details.
Your mileage with different authors will vary. *or postcards?
lecture #4 began here
- Dr. Shriram Krishnamurthi talk.
lecture #5 began here
Impressions from Monday's Talk
- What were the strengths and weaknesses of the talk?
-
- What was the research topic?
-
- What were the research questions/results/contributions/evaluation?
-
I will ask these questions of you for each external speaker. Everyone
try to contribute to each speaker discussion, so I don't have to resort
to written assignments that ask you to assess and learn from the speakers.
OK, what have you got so far on your literature survey?
Five minutes or less.
- Chamberlain
- Duane
- Kite
- Latner
- Madduri
- Saavedra
Chapter I (intro) of [Booth]
For each chapter, I'm going to ask questions like: what was the main point,
what did [Booth et al] say that you hadn't already heard before, and what
did you especially agree or disagree with?
Your comments:
Booth, Chapter I.2
My comments:
- "connecting with your reader is thinking about your reader from the
beginning"
- "when you report your research, you add to a 5,000 year old conversation"
- "writing is an imagined conversation"
- writers judge readers before they even write
- whether they are aware of it or not
- think about your own and your readers' roles before you begin
- let's overdo it and give our readers an imaginary persona...
- give your reader a reason to want to know your research results
lecture #6 began here
Author Roles
This is related to the "voice" or the point-of-view that the reader
perceives the author to be taking. Sleazy salesman? Stern parent?
- I've found new and interesting information
- I've found a solution to an important practical problem
- I've found an answer to an important question
Reader Roles
Different readers come to your research with different needs/desires.
- Entertain me
- Help me solve my practical problem
- targeted and demand-driven
- Help me understand something better <-- usual academic role
- objective, logical, unbiased
Checklist for Understanding your Readers
- Who will read my paper?
- What do they expect me to do?
- How much do they know already?
- How will readers respond to the answer in my main claims?
How does one learn to do CS research?
- apprenticeship
- watching a Master
- from peers
- observing other grad students; adopt best practices and avoid mistakes
- by example...from the literature
- read (many) papers, do as they do. Don't underestimate imitation.
- by extension
- read (many) papers, extend a result found there
Research Question(s)
- Once you get past the literature survey stage to where you are trying to
do the research, you must start formulating a description of what knowledge
you hope your research will add to mankind.
- In a traditional scientific
method this will be in the form of one or more research questions (aka
hypotheses) that you must somehow test.
- Non-traditional science must still be able to explain what is to
be learned, and how
Types of Research / Types of Research Papers
- 8 general kinds of research papers from paperpile.com
- analytical
- collect and analyze data to answer a Research Question
- persuasive
- argue both sides, show why your preferred side wins
- definition
- facts spring up like Venus, fully formed
- compare and contrast
- analyze differences between 2+ entities
- cause and effect
- sometimes, project expected effects
- interpretive
- apply knowledge to explain phenomena
- experimental research
- build/conduct experiment
- survey
- asking questions of respondents
Are there any duplicates here? Is there anything in CS that does not fit?
- in CS, from How to Read a CS Research Paper
- theoretical
- describe a theory or algorithm, prove a hypothesis
- engineering
- describe and evaluate a computer system and its implementation
- empirical
- build and conduct an experiment, test Research Questions
Question: does this trinity of papertypes leave anybody in CS out?
lecture #7 began here
Coming Soon!
- This Friday we will hold class fully remotely via our WF zoom.
I will not be here in Cramer 203.
- This Monday we will join the UIdaho to hear
the colloquium talk
via their zoom.
- 1. study of what is possible
- determination of scope and limits
- 2. study of existing info-processing systems
- natural computation
- 3. creation of new info-processing systems
- engineering, evaluation
- 4. tools, formalisms and techniques
- meta research?
- 5. social and economic issues
- social sciences
Avoiding Mistakes in Grad School
There are infinite possible mistakes.
But perhaps you can avoid some of these ones.
-
personal experience; things I've witnessed
-
- skipping the difficult part
- do worthwhile research before you try to publish it.
Usually worthwhile research is extremely difficult!
- skipping the painful part
- rejection is so painful, some would avoid publishing.
If you don't want to publish, a lot, research is not for you!
- letting your personal life ruin your studies/career
- like when a student's fiance cheated on them while they were
writing their dissertation
- rabbit holes
- it is actually kind of arrogant to enroll in foreign language
class while you are locked in a deathmatch with your thesis/dissertation
- moonlighting
- it is actually kind of arrogant to take a side job to boost your
income while you are being paid to be locked in a deathmatch with
your thesis/dissertation
- checking out early
- common PhD student problem
- being overly-stressed
- Like when I had a grad student sort of blow up at his own defense
- USU
-
- not planning your time
- possibly to half-hour or 15-minute increments; set aside more time than
you think will be needed for things; but time management has to be efficient
or it will take too much time! (over-management)
- not budgeting
- this includes: not going into foolhardy debt, not allowing for how much
time and money it will take, doing degrees that won't pay for themselves
- (im)perfectionism
- Low standards is bad. Excessively high standards is bad.
"Real-time Perfectionism" - achieve the highest level of excellence
that you can within your resource constraints
-
thoughtco,
-
- thinking like an undergrad
- focusing on grades
- goal is not passing or getting A's, it is mastery in your field
- failing to plan ahead
- (over/under) time management
- being unaware of department politics
- OK, so what do you know about our department politics?
- not fostering relationships with faculty
- so, what relationships with faculty should grad students "foster"
- ignoring peers
-
- not putting in face time
- despite covid, or adapted to the requirements of covid, successful
graduate students are present in the department and its activities.
- forgetting to have fun
- if you don't have ways to rest and de-stress, that can be bad
-
cbsnews
-
- expecting to get a PhD quickly
- not having an endgame
- attending grad school for the wrong reasons
- failing to focus on the money
- selecting the wrong advisor
lecture #8 began here
Where we are at
- Today is our first remote zoom class. Let me know how it goes and
what can be improved, if anything.
- Monday's talk is on zoom, hosted by UIdaho
- I tried pretty hard to schedule their Zoom meeting ID in our Canvas
zoom and it wouldn't let me, so the zoom link is posted in an
Announcement on Canvas.
- I will be in Socorro
and if you are local you are encouraged to view the talk together
from our class, but you are not required to do so.
- The following week Monday's talk will be delivered in person by
Dr. Hassanalian, NMT's robot zombie bird expert.
Avoiding Mistakes in Research
- Berry and Tichy's critique of Sobel
Berry is the genius who wrote
The Inevitable Pain paper. And a nice guy.
Tichy wrote one of the first
open source revision control systems, RCS.
- Alves-Foss
Alves-Foss is a cybersecurity star researcher with a long legacy at UIdaho
- Bornholt
Bornholt is a UWashington grad, which immediately casts suspicion on him, but
he also went to ANU, which is respectable.
- Mytkowicz et al, a diverse group
Four Steps starting research from scratch (CoR prolog prior to Chapter 1)
- Find a topic that's specific enough to be solvable in time available
- Question the topic until you find questions that catch your interest
- Determine the kind of "evidence" that readers will require in order
to accept an answer to these questions.
- Determine whether you can find this evidence.
From Topics to Questions (CoR Chapter 1)
Did this chapter add to what you've already known about in terms of
finding a research topic?
First some terminology:
- subject
- broad area of knowledge
- interest
- whatever you want to do. but know why you are interested in
it, and why others might be interested in it also. Don't pick a
topic just because a teacher is interested in it*. Don't pick a topic
just to look cool.
- topic
- A starting place for your research.
Not just narrowing scope, but taking an approach
that asks a question whose answer solves a problem that readers
will care about
- bundling of topic and research question is far from universally
accepted.
- requiring a research question to which readers will
care about the solution is more widely agreed upon.
- heed the good advice about narrowing scope
- a topic is probably too broad if <= 5 words. A topic may be
too narrow if you can't find any literature on it.*
- Note the dubious advice on selecting advanced project topic in 3.1.3
- "Find what interests other researchers" - what are the pros and cons
of following this advice?
- question versus problem
- many questions are not problems. Booth's idea of a problem is a question
for whom not knowing the answer prevents us from knowing something else.
Can you give a better definition of a research problem?
- Note the suggestion to cherry pick in section 3.3
- Pick a research question, decide on the answer, and then select facts
to support your answer is exactly how you land a job at a trash media
outlet. What are scientists supposed to do?
- Build an inventory of [research] questions about your topic
- Don't assume that the first research question you ask is the best one.
- Sources of [research] questions
-
Ask questions:
- history of your topic
- structure and composition
- categorization
- what if you negate a question?
- what if?
- suggested by other researchers
Specific suggestions in this list of sources of questions [from 3.3.*]
may not apply, but some of them do, or are
directly related to common approaches in CS research. Which of these
sound like CS question-types to you? What CS question types are not
on this list?
In any case, making a list of [potential research] questions conveys certain advantages. Like what?
You can evaluate, prioritize, identify dependencies...
- So What?
- [Booth] calls this the most important question. How are they using it?
Motivating a particular research can be crucial, e.g. in grant proposals,
or to get industry to green light a project.
Booth suggests a 3 step process:
- name topic
- add an indirect question
- motivate topic by answering indirect question
From Questions to a Problem (CoR Chapter 2)
Suggested madlib for researchers:
Evolution
Topic: I am studying _______________, <--- data collector
Question: because I want to find out _______________ <--- researcher
Significance: in order to __________________. <--- member of the
research community
Connecting Practical to Conceptual
| vs. |
|
Practical problems: condition=>cost
- unsolved problems cause you (or others) trouble/pain/cost
- if there is no known solution, then it is a research problem
Conceptual Problems
Failure understanding this=> failure on
something else that's bigger.
- things we do not understand well enough
lecture #9 began here
Seminar by Terence Soule @ UIdaho
lecture #10 began here
Impressions from Monday's Talk
- What were the strengths and weaknesses of the talk?
-
- What was the research topic?
-
- What were the research questions/results/contributions/evaluation?
-
Reading
Your required reading this week extends to Craft of Research Chapter 3.
Discussion of HW#1 and especially HW#2
HW2 is due in 9 days.
Problems to Sources (Craft of Research Chapter 3)
Three types of sources:
- primary
- original materials, draw data, from the creators/discoverers themselves
- secondary
- books, articles, reports that quote from or are based on primary sources.
"the literature". Often peer-reviewed. But don't use secondary sources
when primary sources are available.
- tertiary
- synthesis of materials culled from secondary sources. Wikipedia articles.
Trade magazines. Things that are not peer-reviewed. arXive.
Citing tertiary sources marks you as a novice, and many readers won't take
you seriously. It is not just about did the source give you the
information, it is about whether you can be believed when you use it.
CoR Chapter 2, cont'd
Pure vs. Applied
- Pure aka Basic
- addresses a conceptual problem w/ no direct bearing on the world
- Applied
- addresses conceptual problem that has a direct bearing on the world
Finding a good research problem
- good research problems are those whose solutions make us see
the world in a new way (is this a trite platitude?)
- discovering a new research problem and defining it in a way that
motivates its study may be a bigger contribution than solving
a defined problem (is this true?)
lecture #11 began here
Happy Friday the 13th!
Amusing "Primary Source" Example
- I wrote a chapter on additional references and resources for
programming language design and implementation
- it needed a paragraph on Prolog, for which the defining execution
model is called the Byrd Box.
- Its easy to find plenty of folks who cite this fact, such as
this
README.
- if I want to use the primary source I must find where
Byrd first published his Byrd Box model.
- "Understanding the control flow of Prolog programs" in the
Proceedings of the 1980 Logic Programming Workshop, Debrecen, Hungary, 1980.
Department of Computer Science, University of Stockholm, Sweden.
- I have not found a public venue who has these proceedings.
- The paper was also made into a 12-page technical report (TR) at the
University of Edinburgh Department of Artificial Intelligence
(TR #151 there), because that is what you did before arXiv.org
- there are apparently six copies of the TR in the world: one
at Stanford and most of the rest in Europe.
- Hard to believe so seminal a primary source is so scarce.
- It is unethical to cite something that you have not seen
with your own eyes.
- I probably must live with secondary sources.
Amusing "arXiv is not a panacea" Story
For those of you who were citing many references from arXiv:
- Once upon a time, I had a casual collaboration with a prominent computer
scientist at another institution
- enough of a collaboration, anyhow, that he sent his Ph.D. student to visit
my lab for a couple of weeks one summer.
- they wrote a journal article, and were kind enough to include me as a
coauthor.
- they placed the article in arXiv, and submitted it for publication
- it was rejected with various changes suggested
- they revised it, removed me from the coauthors list,
and submitted
it to a different perhaps lesser journal, and got it accepted
- arXiv lives forever, but is unrefereed
- ...so I have an arXiv "publication" with these folks, but no
peer-reviewed publication with them. At some level and in some
contexts (such as getting hired, promoted, or tenured in academia),
nothing but peer-reviewed counts.
Methodology for Finding a Good Research Problem
- ask for help
- read...and look for problems in what you read
- question (your own and others') conclusions
Working with Problems
- not just: can I solve it? how?
- also especially: why should readers think that it is essential that
this problem be solved?
Managing your inexperience
- uncertainty and anxiety are not merely normal, they are inevitable
- write summaries, critiques, questions and responses about others'
research
- break tasks into manageable steps
- get help when needed
- set realistic goals
- recognize struggle as a learning experience
Navigating the 21st Century Library
Great for historians...what about computer scientists?
because so much information is now at our fingertips,
libraries are more essential than ever
Bias confession: I love libraries.
But what are the downsides with libraries, and what
are the alternatives for computer scientists?
...Back to CoR Chapter 3
Some options include:
- personal library
- both a physical notion and a mental one. Compare with the notion of
a "Personal Health Library". You are building a physical or digital
collection of assets to which you have immediate access. What are the pros
and cons of this just being a page full of hyperlinks?
- advanced google ninja skills...and knowing what else to search
besides just google
- I have met a lot of students whose google fu doesn't cut it. What does
it take to find something on the internet that's not in the first google
results from your first search for it?
- change the search terms
- add restrictions that filter
- site: etc.
- sometimes a synonym, or a lexical field
- knowing who knows
- The Fahrenheit 451 model: be a social animal and cultivate
relationships with people who can help you. Sometimes this is
a librarian. Sometimes it is the right librarian. Sometimes it
is a more advanced student, or a faculty member. Sometimes it is
someone whose colloquium talk you heard, about a related topic.
- What are the online CS forms of "systematic and productive methods
for discovering useful and credible sources"
lecture #12 began here
Lecture #12 is professor Hassanalian's talk.
lecture #13 began here
Impressions from Monday's Talk
- What were the strengths and weaknesses of the talk?
-
- What was the research topic?
-
- What were the research questions/results/contributions/evaluation?
-
Reference Works and Online Databases
What are the best CS references?
I suspect that subdomains and various CS research communities have
references of their own. Are there any with broad credibility?
Finding Specific Sources
- library catalogs
- prowling the stacks
- bibliographic trails
- citation indexing
Locating sources on the internet
Most of what we find using google is perfectly reliable, but not everything is.
Where else do you look? What else should you do/use?
You have to develop ways of filtering. I have known good sources, known
bad sources, and everything else is suspect. They have been accrued by
experience.
-
Known Good sources:
- IEEE, ACM, Springer, Elsevier, Taylor & Francis, ...
-
Known Bad sources
- predatory publishers;
vanity conferences, including famous ones
- Suspect
- Certain publishers like Hindawi or MDPI have (or had, in the past)
famously low standards, and can actually be a liability on your CV,
instead of an asset. Conferences that have too many people on the
conference program, and conferences whose scope is all of CS and beyond,
are ones that might not provide peer review by experts in your field.
Evaluating Sources for Relevance and Reliability
- relevance
-
skim, check the intro, conclusions, bibliography, etc.
- reliability
- is the publisher credible? is the work peer reviewed?
is the author credible? how good is the bibliography?
is the work obviously biased? how has it been reviewed/received?
is the work cited by others?
Looking Beyond Predictable Sources
- It is OK to use a non-standard source, so long as you can explain why you
find it relevant and reliable.
- Some of you, in your HW#1, used some sketchy sources.
- For HW#2, you decide whether to keep them
- If you retain a sketchy source in HW#2,
I have to decide whether points should be lost. Make that easy
for me.
Using People as Sources
[Booth] means this in more of a social science sense, but as a computer
scientist, we can twist this a little bit and note that many of the primary
authors of work we care about in our research are still around, and many
are actually happy to help, if asked nicely enough. Going to conferences
can help a Lot in this business.
Engaging Sources (CoR Chapter 4)
Recording COMPLETE Bibliographic Information
Nothing is more frustrating than having the perfect quotation of bit of data
in your notes, but not being able to use it in your writing
because you didn't completely document your source, and can't find it again.
- [Booth et al, p. 89]
- grab it all, as soon as you read each source. You don't have to use
them all, record them just in case.
- put it in a LaTeX bibliography database, a web page, or even a Word
document, somewhere it will be easy to use later
- include
- author
- when there is no apparent author, what do you do? If it is an
institution name, how do you get LaTeX to print the whole name
- title, subtitle, title of work in which it appeared (if any)
- what kinds of pubs need a title of work in which it appeared?
- editor, edition
- what kinds of pubs need an editor? which ones need an edition?
- volume, number
- mostly for journal articles. what else has volume #'s?
- publisher, place published
- These where the most common omissions in your HW#1. Why are they needed?
- date published
- Often this is just a year. Why is it needed?
- page numbers
- When can these be omitted?
- URL
- date of access
lecture #14 began here
Logistics
- Monday 9/23/24 will be zoom only on our Monday zoom.
- Not joining UI's seminar on Monday, it seems not to be a CS talk
- This next week WF will be in person Cramer 203 for on campus folks
- Do not let the long timespan of this assignment fool you!
- Do not procrastinate or "thrash" on being unable to pick a topic.
- To get a successful grade, you need to present a high quality
presentation with gorgeous slides that has technical "meat" to it.
- We will treat this as an "interrupt" on our thusfar sequential Booth
material.
- In addition to reading forward on Booth Chapters 4-6,
read Chapter 16 on Research Presentations
- I will pull in supplemental materials on presentations and may have
some additional reading.
What does the internet say about giving good presentations?
From a Google AI overview
- know your audience
- education, technical level, interests...
- practice
- rehearse your presentation. deliver smoothly. implies no last minute
hackery
- tell your audience who you are
- may include your technical background and qualifications
- be yourself
- be honest/genuine
- engage your audience
- grab their attention and keep them interested
- keep it "simple"
- the "message" needs to be simple, even if the technical content is deep
- ask questions
- ask in order to gauge audience understanding
- make the audience the "star" of your presentation"
- if you want to persuade or generate enthusiasm, put the audience at the
center
What is different about research presentations?
7 principles for great presentations
According to
happyvalley.launchbox.psu.edu.
In the principles given below,
- Does happy valley agree with the AI?
- Is this really about 3 principles?
- slides are not documents
- people cannot read and listen at the same time. <= 5-8 lines of text
- pictures say a thousand words
- graphics graphics graphics.. There are good graphics and bad graphics.
- keep it simple
- a major struggle in CS research presentations
- Keep it consistent
- Show data clearly
- Start with why
- Don't read off of the slide!
lecture #15 began here
Status/Announcements
- Rubric for upcoming HW3 available here
- Working on grading HW#2, which is slow-going
Research Presentations [Booth Chapter 16]
- audience of readers vs. audience of "auditors"
- LOL. means a normal audience. not synchronous vs. asynchronous, but
usually real-time (auditors) vs. unlimited-time (readers)
- auditors have a more difficult job than readers
- usually not free to reread, have to pay attention, need more help
- not lecturing at them, but conversing with them
- inexperienced speakers talk too fast. Go slow and explain stuff.
- let the audience see you.
- establish eye contact periodically
- Build in moments where you look
directly at the audience, especially when you say
something significant
- make your presentation accessible
-
- use multiple channels of communication
- this is a big part of why to use graphics
- avoid relying solely on colors
- use big fonts
- video clips should include captions
- orally describe what's in your charts/graphs/images
- you may want to provide follow-up supplementary materials
(slide handouts, transcripts, links to detailed descriptions of visual
materials)
- presentation notes
- Figure out what works for you, such that you can connect with the
audience, deliver your message, and not get too distracted
- do not read the notes word for word -- audiences want you to be
engaged with them, not reading from a transcript
- notes should help you stay on track and provide cues
- focus on most important points first
- practice your talk
- seek feedback. you might seek friendly
constructive criticism from peers or friends.
- ask yourself and your practice audience, some basic questions
- what areas of my argument are unsure/weakest? what is my best idea?
what am I missing? where is my reasoning clear to me but unclear to others?
- narrow focus
-
- a presentation can only cover a fraction of what a paper can
- usual mistake is: too much information
- two suggested options:
- major claim with sketch of subarguments, or
- mention claim but focus on a key subargument
lecture #16 began here
Booth Chapter 16, cont'd
- introduce your talk well
- see chapter 14 for "three parts of an introduction".
- what research you extend/modify/correct
- what question your research addresses
- why your research matters.
- your answer to your research question
- structure of the rest of your talk
- conclusion should be strong
- recap, almost restates introduction. Should be memorized so you can
focus on the audience
- prepare answers for predictable questions
- most predictable question is: what about research paper X that
sounds like your work but you didn't cite.
- Can anyone suggest what a presenter might say in that circumstance?
- Are there any other predictable questions not dependent on talk content?
-
pause and think about each question before replying
- presentation as performance
- look up, speak naturally, extemporize, show some personality, have fun
For Friday: go ahead and read [Booth et al Chapter 13]
Communicating Evidence Visually seems also relevant to the topic of
creating good presentations, although it is also needed in papers.
Back to [Booth Ch. 4]
Engaging Sources Actively
Yet another set of instructions on how to read a research paper.
- 1st pass: read "generously"
(what does this mean?)
- 2nd pass: read slowly and critically
- Check everything, especially in secondary sources
Writers frequently report that their work has been misstated, misquoted,
misinterpreted... don't let that pass in your sources, and don't propagate it.
Reading for a Problem
- look for things you can disagree with
misclassification, misaggregation, mistaken origins or development,
false cause-effect claims
- look for things you can extend
- look for holes in their argument...that you can fill in
Reading for Arguments (CoR)
- "Use competing views to improve your own."
- You need to learn about, acknowledge, consider, and present opposing views
- ...
along with why they do not change your results (if they do not).
Mimic/follow the patterns of good arguments and lines of reasoning that
you find in your peers' research. This is a form of adopting best practices.
"You do not plagiarize a source when you borrow its ways of arguing or of
analyzing data". While you don't strictly have to cite in this case, you
are usually better off if you give credit. It may strengthen your own
credibility.
Reading for Data and Support
- if you can, check the primary source
- check if data you wish to quote was legitimately calculated
- don't just cite that someone else shares your view, explain how
they reached their conclusion
lecture #17 began here
Communicating Evidence Visually (CoR Chapter 13)
When to use pictures
- A picture is worth a thousand words, but...
- Chapter 13 starts out by showing a situation where a table is overkill
and a prose sentence conveys the information just as well in a more compact
form.
- Beyond about four numbers, perhaps it is time to consider cracking out a
table or a graph of some kind.
Choosing the Most Effective Graphic
- We could do a whole fun course on this topic.
- Beware: Easy to lie with a chart or graph
- See the works of Edward Tufte, or Jacques Bertin,
or see "How to Lie with Charts and Graphs", a sort
of fun riff on that classic: "How to Lie with Statistics"
Some Common Types of Graphics
- Table: precise, objective, relationships are non-obvious
- Barchart: emphasizes contrasts between discrete items.
Often pushed way beyond its useful capacity.
- Line graph: scales better to handle more data than a bar chart,
often useful for continuous data (e.g. functions)
- Table 15.7 lists eleven common graphic forms.
Designing Tables, Charts and Graphs
- reader's won't care how fancy it looks if it doesn't communicate clearly
- frame each graphic to make it understandable. This includes labeling
the axes, describing the units and showing the origin. On maps, it includes
legends explaining what colors or symbols mean.
- don't expect the graph to sell itself. Rarely is one sentence of
supporting text enough. Usually you will need a paragraph.
- Keep graphics as simple as its content allows. This is not just the
KISS principle -- Tufte calls it "ink minimization" and basically, any
extra ink that is not part of the data you have to convey, is a distraction.
- For tables: beware/avoid dark lines that separate cells.
You can lightly shade every 5th row if it helps readers deal with a long table.
- For charts: grid lines should be light (e.g. gray) and not distract.
Tick marks on axes are more OK, with labels for units.
- Beware colors, especially colors that may be indistinguishable when
printed in grayscale.
- Avoid 3D ?!?
- Round numbers where appropriate, do not claim excess precision
- In bar charts, you can often group and arrange bars to emphasize
your main point. For example alphabetic order may be a particularly
bad way to lay out your bars.
- Avoid plotting too many bars, or lines, on a chart/graph.
Humans do 7+-2
- A graph or chart should be honest. Several good examples in CoR
of how to lie with charts and graphs.
Just for Fun: Minard's Napoleon's March
Communicating Evidence Visually (cont'd)
Just in time for the "Napoleon" movie,
we ended last class with probably the most famous graphic in history.
Charles Minard's map of Napoleon's Russian campaign of 1812 is
a 2D map of central/eastern europe, with troop strength, direction,
dates, and temperature information, capturing 6-7 dimensions legibly
on a single image, a remarkable feat.
Jon Snow's Cholera Map
As seen on TV and in a past NMT CSE colloquium talk by Stephen Kobourov, Jon
Snow may know nothing, and yet in 1854, years before the development or
adoption of germ theory, Jon Snow stopped a cholera epidemic by creating the
following graphic and following the direction that it indicated.
A multi-dimensional line chart
lecture #18 began here
Coming Up
- perhaps today we finish talking about "communicating visually"
- today or Wednesday's in-person class will continue with Booth Ch4/5/6,
so please read forward into those chapters if you haven't already
- Friday's in-person colloquium talk is by Shuang Luan of UNM
- next Monday's colloquium will be hosted by UIdaho on their zoom
(Suren Byna of Ohio State U.)
- ...then it is your presentation next week Wednesday!
- then we have an interesting colloquium on Friday of Next week!
Communicating Visually (cont'd)
Goal: not that we have a whole mini-course on information visualization based
on this chapter, but that you see a bunch of fun and easy ideas, maybe one of
which is useful to you someday.
Fisheye views
Data-ink minimization example
A Space Metaphor
3D Layouts
3D Trees
Round Call Stacks
Kiviat Diagrams
World Clouds
Gazebo Metaphor
Using Visualization in a Debugger: DDD
Taking Notes [Back in Booth Ch 4 or thereabouts]
This section might be recommendations for history students. But it applies
to that smaller part of our job where we are responsible for citing related
work. We do read a lot of secondary sources, and we probably take worse
notes than historians.
- paper notes...on index cards?
- LOL, we won two world wars with that level of notetaking
- attach source/citation pretty closely to each note
- sort notes by subject/topic as you take them (radix sort?)
- categorize notes as (1) quotes, (2) paraphrase, (3) your reaction.
Color coding works well for this*.
Using paper forces you to think about what's most important.
Using notecards let's you rearrange
Playing with spatial layout reveals connections
- .docx file per source?
- cumbersome indexing/sorting/searching
- Fancy notetaking app?
- which ones have you used, and would you recommend?
- Reference Management System
- Fancy database / CMS
- Quote, Paraphrase, or Summarize
- Most of my related work sections are summaries and comparisons.
Under what circumstances in CS work is a quote (or paraphrase)
appropriate?
- Context
- Notes need enough context to understand later and avoid misinterpretation
Annotating Your Sources
What are lightweight equivalents for writing in the margins
of a book or article?
- MS Word is pretty good at it...put everything in Word?
- Obtain or make physical copies so you can write on them?
- What are the best PDF annotation tools? Anything better than
Acrobad Reader?
- Annotating your bibliography may be more applicable to our discipline
Managing Panic from too much Information
- write as you go
- return to your central questions/motivation
- bounce where you are at off peers/mentors
lecture #19 began here
Where we are headed
- Friday is Sean's talk here
- Monday is Suren's talk, on UIdaho's zoom
- After your presentation on Wednesday, another bit of an interrupt:
ethics
- Read Chapter 17, "The Ethics of Research" from Craft of Research
- We will go through that chapter, have a colloquium featuring some
real-world ethics topics, and there will be an assignment related to
ethics.
Making Good Arguments (CoR Chapter 5)
We continue with fluffy barely-applicable-to-CS materials of [Booth etal].
- Make a plan early and modify it as you go.
- A "research argument" answers your readers' predictable questions and
enables you to see what research you have yet to do.
- not an argument argument, more like an amiable conversation with a skeptic
- not just a data dump; explain your problem and justify your solution
Arguments as a conversation
- make a claim
- give reasons
- back it up with evidence
- acknowledge and respond to other views
Supporting your claims
- claim
- assertion/hypothesis/thesis
- reasons
- this is the "because X" answer why your claim is true
- it may be your flash of insight that provides you with a way to interpret
the data
- beware of other possible interpretations of the data
- beware of questions of the validity of the data
- evidence
- data in support of reason(s)
-
CS folks do this (support claims) in our research papers;
how do we do this?
Acknowledging and Responding to questions and objections
- anticipate as many as you can; come up with answers
- consider what portion of your "budget" to devote to them.
In a talk it is usually: have detailed answers prepared, but don't
use them unless asked. In a talk or a paper, important questions or
answers may need to be addressed proactively.
- very common for a grad student to not do this well; you need to
listen and understand the actual question and then try to actually
answer it,
not your premanufactured question for which you have a premanufactured
answer.
Warrants
In general, this does not come up in CS much. It will come up when research
is sketchy or the reader/reviewer/referee is less familiar with the subject
matter. Basically a warrant is a big detailed explanation of why the reason
implies the claim.
- Warrant
- Not as used in colloquial English; in this chapter a warrant is:
- The connection between the claim and the reason
- A general principle that the reader can accept.
There are a lot of things that can go wrong here.
So when someone doesn't understand why lack of hard freezes results in
higher health care costs, this warrant explains it.
If you are not yet comfortable with warrants, have no fear, there is a whole
chapter in CoR on that topic that we will get to soon.
Composing a Complex Argument
The better you understand the subject, the better you will write about it.
- Aggregating Multiple reasons
- Reasons that have subreasons
- Background, definitions, context...
Thickening Your Argument
- your ethos
- your "character" as projected by your argument
- includes how well you anticipate and respond to readers' concerns
- includes your priorities and what you care about
- do you seem to be the sort of person the reader finds to be
rational, level-headed, of sound judgement, trustworthy, etc.
- ultimately, you must win over the reader before they will accept your
results
Avoid falling back on what you know
- confirmation bias
- the tendency to interpret new evidence as confirmation
of one's existing beliefs or theories.
- confirmation bias is extreme
- need to allow yourself to be surprised by the results
- don't begin with a claim that you know you can prove
- don't settle for repeating only one type of argument
lecture #20 began here
Announcements
- Hey! Only one of our W and F classes have
been posted to our Canvas till now, and nobody told me.
I'll do what I can to fix this.
- HW#2 grades imminent, they will be posted to
Canvas as soon as I can get them scanned in.
- HW#3 grades maybe too, if I can manage it.
- Midterm Grades due tomorrow
- wednesday's talk will be on Computer Forensics...and Ethics
- We are going to talk Ethics a bit before going into Craft of Research
Chapter 6.
Hemanth
What is Ethics
- the domain that studies and defines what is good and bad
- duties and obligations of a professional in society
- the principles that govern a person's behavior
- rules of conduct in a particular group, recognized by an external source
My favorite illustration of ethics is in a couple of lines from the
movie Jurassic Park.
A sleazy lawyer has just abandoned two children to the
dinosaurs, and karma struck fast. A traumatized Lex has just come upon
Dr. Alan Grant, a cold scientist who does not like kids.
HW#4 asks you to look into an ethics topic.
CoR Chapter 17 (Ethics)
research ethics includes
- obligations to yourself,
- obligations to your
research community, and
- obligations to people affected by your research
Obligations to yourself
Presumably these are here because they actively harm the researcher who
violates them.
- do not plagiarize
- do not take credit for others' work
- do not misinterpret sources, invent evidence, or fake results
- do not present evidence whose accuracy you don't trust
- do not conceal objections you cannot rebut
- do not caricature or distort opposing views
- do not destroy data or conceal sources
- ... add your own here
Obligations to your Research Community
- Set a higher standard for published work than you impose internally
- If your research persuades, make sure you are persuading from the
perspective of the audiences' best interests
- Acknowledge the strongest objections and reservations to your work
Obligations to People Affected by your Research
- research staff who help conduct research,
- research subjects,
and
- anyone else impacted by your research.
The first rule of doctors should also apply to researchers: DO NO HARM.
- helicopter research
- study folks without their input
- ethics dumping
- study in places where ethics rules will not be present
If your research puts people out
of work because their services are no longer required, are you responsible?
lecture #21 began here
Impressions from Wednesday's Talk
- What were the strengths and weaknesses of the talk?
-
- Did you/we learn anything?
-
Send me your HW4 Topics - FCFS
The ethics assignment will be more fun if we are not all choosing
the same topic. And, it will be more fun if you share with each
other your results. So I modified the HW#4 spec
a bit.
Applying this to Computing (thanks, ACM)
One has to be willing to read the fine print in order to ascertain
whether all of this is "common sense" or some of it is non-obvious.
lecture #22 began here
Does the Software Engineering Code of Ethics add anything?
It is issued jointly by ACM and IEEE. It has a short version and a long
version with examples and stuff. It adds a wrinkle or two.
- PUBLIC - Software engineers shall act consistently with the public interest.
- CLIENT AND EMPLOYER - Software engineers shall act in a manner that is in the best interests of their client and employer consistent with the public interest.
- PRODUCT - Software engineers shall ensure that their products and related modifications meet the highest professional standards possible.
- JUDGMENT - Software engineers shall maintain integrity and independence in their professional judgment.
- MANAGEMENT - Software engineering managers and leaders shall subscribe to and promote an ethical approach to the management of software development and maintenance.
- PROFESSION - Software engineers shall advance the integrity and reputation of the profession consistent with the public interest.
- COLLEAGUES - Software engineers shall be fair to and supportive of their colleagues.
- SELF - Software engineers shall participate in lifelong learning regarding the practice of their profession and shall promote an ethical approach to the practice of the profession.
Making Claims (CoR Chapter 6)
- What kind of claim should I make?
- Is it specific enough?
- Will readers think it significant enough to need a supporting argument?
Kinds of Claims
Usually, conceptual rather than practical.
Give a CS example (if possible) for each of these kinds of claims:
- Fact or existence
- There exists a O(n) sort algorithm
- Definition or classification
- "A Fail-Stop Processor is a processor that stops if/when it fails..."
- Cause and consequence
- ...
- Evaluation or appraisal
- ...
- Action or policy
- ...
Practical Claims
Practical claims argue for or against some action or policy.
- Chain conceptual claims from problem to solution
- Argue/demonstrate feasibility, practicality
- Show net savings; show the "solution" doesn't introduce bigger problems
- Is it superior to other approaches?
Evaluating Claims
How specific are they? How significant are they?
Specificity of claims
- precise language. the opposite of vague/general.
- explicit logic. "although", "even though", "because"...
Although I acknowledge X, I claim Y, because of Z
Acknowledge three kinds of different views:
- Readers' beliefs that your claim challenges
- Conflicting viewpoints
- A condition that limits the scope of your claim
Why all this acknowleging of conflicting views:
- it tells the reader you understand their views
- it helps you commit to responding to those views
- (Jeffery adds: the appearance of you seeming to have empathy
for others' views encourages others to reciprocate and consider
your view fairly. Must connect to their Mammalian brain.)
- (NOT acknowledging conflicting views is kind of sociopath behavior)
An aside into "Mammalian brain"
I was once taught how to be respectfully contrary by an Expensive
outside consultant brought into a university department to deal with a major
faculty faction war. A little bit of that is relevant here:
- You want to persuade the reader through all their higher powered
cerebral cortex functions such as logic and reason, but you won't
even get to talk to their cerebral cortex until you've satisfied their
reptile brain and their mammalian brain.
- Reptile brain == fight or flight instinct. Your reader must not feel
their world view is under attack, or they won't listen, they'll fight or flee
- Mammalian brain == emotions. Your reader must feel that you care about
them and can relate to them, or they won't listen, they'll just complain.
Although to some extent this should not apply to technical writing in
computer science, to some extent it does.
A few thoughts from Chapter 1 of Ramage and Bean
I am not going to require you to go buy this text, but here are some
tidibits from
Writing Arguments,
by John Ramage and John Bean, published by Allyn & Bacon,
Needham Heights MA, in many editions since at least 1999. If you go
into the research business, you might want to check this book out.
- argument combines truth seeking and persuasion
- an author should write as much with the audience
in mind, as the subject they are writing about!?
- Socrates versus "Darth" Callicles
- Socrates is pursuing absolute truths, which Callicles scoffs at.
Socrates doesn't win... Callicles' strategy is to not allow
Socrates any assumptions. Skeptical science readers
and paper referees occasionally do the same.
lecture #23 began here
Significance of claims (from CoR chapter 6)
- Significance == how much does the claim require reader to change what they think.
- How many beliefs must they change in order to accept your claim?
- If they only have to accept some new evidence on a blank-slate subject, it might be legitimate but not very significant
- Higher value may be claims that settle longstanding inconsistencies or problematic past results
- Highest value are new facts/results that upset "settled" knowledge
- Estimate the significance of your claim by asking how strongly readers might contest it.
- Reverse your claim. If the reverse is obviously false or trivial, then your claim is not significant.
- If you can't ascertain your significance, ask yourself how much your
research has changed what you think.
Qualifying claims
- Readers distrust certainty
- Your claims become more credible when you acknowledge their limits
- You gain your readers' trust when you acknowledge and respond to their views
- You lose that trust when your claims overreach
- Acknowledge limiting conditions...that the reader is likely to bring up
- Use Hedges, like Crick and Watson [discoverers of DNA?].
We wish to suggest, ...in our opinion, ... we believe, ...some appear to be...
Assembling Reasons and Evidence (CoR Chapter 7)
- Readers read your paper looking for your core claims, and your support
for those claims.
- Chapter 7 is about supporting claims.
Reasons
- Not just random reasons, a logical structure.
- many ways to see it: outline, storyboard
- write main claim and each reason/subreason as headers of separate
pages or cards
- on each page/card, write the evidence, the kind of evidence needed,
or from where evidence can be obtained
- arrange pages/cards on a wall or flat surface and look for
logical relationships (aggregation, dependency, subclassing)
- try different layouts/orderings until it "makes sense"
How do you distinguish reasons from evidence?
- obtain the evidence needed for each page/card. "do the research".
evidence should anchor the reason to bedrock fact.
- evidence must be something readers agree not to question
- Standards of evidence will vary with your audience
(see discussion of Darth Callicles above)
- Hopefully it is higher for a refereed journal than for a work-in-progress
paper at a conference.
- If the standard of evidence is not high, the publication is little
more than a timestamp, e.g. arXiv.
Evidence
- to go from a reason to evidence, you get very specific
about what the information is and where it came from. Numbers cited from
authoritative sources. For example, don't say "college results in a
crushing debt burden", say "In 2013, 70% of students incurred an average
of $30,000 in debt, according to the US DoE [cite some report]."
- View reports of evidence skeptically, and you will learn how your
readers may see your evidence.
- One of the scariest things of the pandemic and the preceding four years
is that previous reliable sources (e.g. government) have proven unreliable.
- Calling some evidence "hard evidence" doesn't make it "hard".
--> What does make evidence convincing and/or irrefutable?
Evidence vs. Reports
- Evidence is different from reports of evidence.
- Even if it is completely honest, a source that reports evidence
does so in a form that serves its own ends.
- Working from published data you may be 3-4 or more levels of
indirection (reports) from the actual evidence. Each may introduce
error or bias. Like in crime investigation, readers may need to see
the chain of custody of the evidence to ensure that each step was accurate.
- This is a strong argument for collecting data yourself, or preferring
primary sources when available, over secondary (or tertiary) sources.
- Recognize when you collect data yourself that you may introduce
error or bias! Go to lengths to be accurate, and show (or be prepared
to show) exactly how your data was obtained.
- Validation of reports has evolved from a "witness model" to
standardized methodologies. Reproducibility remains a gold standard.
Evaluating Evidence
If you know how to evaluate your own and others' evidence,
you also know how you will be evaluated.
- accurate
- even the most trivial mistake will be used to dismiss your claim
outright or cast your whole argument into doubt. If you can't
capitalize or use punctuation correctly, I am hardly going to trust
your claims about computer software performance.
- precise
- in CS we often talk about digits of precision, and the most common
claim is that the number of digits of precision given exceeds the
precision of the actual measurement.
- precision is often a matter of whether evidence is qualitative
versus quantitative
- We distrust qualitative statements and prefer quantitative
- However, be wary of misusing numbers! There are whole books on
different types of number systems used in varying metrics.
lecture #24 began here
Evaluating Evidence (cont'd)
- evidence needs to be sufficient
- Is the evidence sufficient to support
the claim? Must be >=
- Beginners' evidences are often insufficient.
- Computer Scientists like to draw some huge conclusion from one
tiny little piece of data.
- Better to have too much than too little.
- evidence needs to be representative
- don't "cherry-pick" your data.
- data collected by sampling is error prone
and needs to be shown to be representative.
- anecdotal evidence might or might not be representative
(but should not be assumed to be)
- "this is what I saw once recently with my own eyes" might be true
but is not representative of some big generalization
- evidence (ideally) should be authoritative
- best way to learn is by failed examples. Ironic to use CDC vs. Wikipedia
as examples of authoritative vs. not
Acknowledgements and Responses (CoR Chapter 9)
- If you give your reader only your claims, reasons, and evidence,
the reader may find your argument ignorant or dismissive of other facts
that they perceive to be part of a "larger picture" you are ignoring
- Anticipate, acknowledge, and respond to questions, objections, and
alternatives.
- Requires imagination. Imagine conversing with the reader.
The better you know your reader, the better that imagination will work.
Ways readers might question your argument:
- Intrinsic soundness
- questioning your claim, reasons, and evidence
- Extrinsic soundness
- alternative ways to frame the problem, things you've omitted
Questioning your argument like a reader would
- This skill is akin to what a good software tester does
- Playing the role of the adversary or skeptic
- View your argument through the eyes of someone who has a stake in
it being wrong.
- "Your problem isn't really a problem at all."
- "Your problem isn't properly defined."
- "Your problem is actually a symptom of the real problem."
- "You say what is wrong, but you don't say how we can fix it."
- "I can think of exceptions or limitations that refute your
(overly-strong) claim."
- "What you propose will cost too much and/or create new problems."
- "Your solution doesn't fit with our other well-established knowledge."
- "I want hard numbers, not anecdotal evidence."
- "Your results are not (accurate, precise, current, representative,
authoritative)."
- "You need more evidence. Your number of samples is too small for
your results to be conclusive."
Imagining Alternatives
- Understand and consider alternatives to your argument
- Maybe you can think of alternatives yourself
- Also look to your sources, they often suggest alternatives
- Your secondary sources are a written record of a conversation
- Note where your sources advance different claims than yours,
take different approaches, focus on different aspects
- Especially note where you disagree, and where they disagree
with each other. Disagreements identify alternatives.
- Respond both to alternative claims and to their evidence.
Explain why you don't buy their claims or find their evidence flawed.
- Sometimes your skeptical adversary will literally be the authors
of these sources.
Deciding What to Acknowledge
- Acknowledge too few alternatives comes across as ignorant
- Acknowledge too many alternatives will distract the readers
- Best to think of more than enough and then prioritize/trim to
the level that is "just right"
Priorities:
- predictable "weaknesses" that you can rebut
- common alternative views/arguments/beliefs held in your field
- other conclusions readers would prefer be true
- alternative evidence readers may be familiar with
- important/apparent counterexamples
- Sometimes acknowledging alternatives allow you to reinforce by repeating
key parts of your argument.
- The goal of acknowledging alternatives is not to just slam (disparage)
other views, but to explain why you don't take that view yourself.
Acknowledging your Flaws
- better to acknowledge than leave the reader questioning your
competence or your honesty
- if you maintain your argument despite a real flaw:
- other aspects outweigh the flaw
- more research may (reasonably) resolve the flaw
- your results still help define the problem space and what
is needed, even if they are incomplete/imperfect due to a flaw
Questions you can't answer
- At least according to [Booth et al] truth is complicated and
always contestable
- your goal is not to have all the answers, but to present readers
with new and interesting questions
Responses as subordinate arguments
- usually when you acknowledge a competing view, you have to give
the reasons and evidence to explain why you don't hold that view
- sometimes you need a full argument, with warrants and everything
Vocabulary of Acknowledgement and Response
Decide how much credence to give each objection
- downplay: "despite/regardless/notwithstanding/although/while/even though"
- when an objection is valid, but doesn't change your ground truth
- "seem/appear"
- when an objection is apparent, but is not really so
- "think/imagine/say/claim"
- to dismiss hypothetical objections from nameless sources
- "some/many/a few"
- to generic but nonimportant real-world objections
- "understand/know/realize"
- you can own up to a valid objection without downplaying it.
it has validity even if it doesn't change your mind, overall
Responding to Objections
You may need to refute objectioners' evidence with blunt logic,
or with tact and deference, depending on your relationship to them.
- the source of objection is unclear
- the facts are not settled
- the objection is wrong because...(it ignores evidence, its evidence is
invalid, etc)
- the situation is too complex for the simple explanation claimed by
the objection
- the evidence given is only true for part of the data
3 Predictable Objections
- there are additional/alternative causes to the one you claim
- what about these counterexamples?
- I don't define X as you do. To me X really means...
lecture #25 began here
Upcoming
- HW#5
- Next Monday: we will join UIdaho
More About Warrants (CoR Chapter 8)
Earlier in our discussion of CoR Chapter 5 we introduced warrants. Instead of
talking about a "search warrant" or a "warranty", a warrant in a technical
communication is a "connective tissue": why our reason supports our claim.
- warrant
- a general principle that connects a reason to a claim
State warrants when
- readers will not understand your argument without
- you expect your claim to be challenged
- you have enough principles in common that the audience
will accept some of them from your shared world view
Clint's take:
- The claim: X because Y
- The readers' challenge: how does Y => X ?
- The warrant has to show Y => X.
- ...But it's usually not a logic proof
Warrants in Everyday Reasoning
- proverb
- a warrant that we all (should) know
If your reader doesn't already know and accept your warrant, its not a warrant.
Note, though, that proverbs don't become shared unless we share them. Proverbs
in common use in the USA come from holy scriptures...and from various founding
fathers and ex-presidents. King Solomon and Benjamin Franklin.
A warrant connects a circumstance to a consequence.
Warrants in Academic Arguments
- Academic warrants aren't commonplaces that all humans share
- They are principles shared within a particular community of researchers
- Experienced researchers rarely state their warrants
- Novices have to learn the logic used by the
community of researchers -- what flies and
what doesn't.
-
The text goes into an example warrant: a whale is closer to a hippo than
to a cow, because its DNA is more similar. Biologists do not have to warrant
that DNA similarity is a way to measure species relationship.
Logic of Warrants
Specifics are true because of general principles.
Testing Warrants
- Is the warrant reasonable?
- Is it sufficiently limited?
- Is it superior to any competing warrants?
- Is it appropriate to the field of study?
- Does it cover the reason and claim?
When to State a Warrant
- your readers are outside your field
- they do not know your field's warrants
- when you use a principle that is new or controversial
- warrants have to start somewhere
- readers do not want your claim to be true
- and need to be told why they should accept it
Testing Warrants
An example warrant from [Booth et al] was in support of a claim that
videogames make children more violent.
The warrant that when children are exposed to violent images,
they are influenced for the worst.
The warrant is true but does not tie exposure to violent images with
a rise in youth violence.
Warrants and Proverbs and Principles in Computer Science
- Always backup your data
- Give credits to original authors
- Compiled languages are faster than interpreted languages
- X is better than Y
From googling, plus titanwolf.org (whose article was replaced by malware)
and
here and
here
and
azquotes.com (whose article was replaced by malware)
and elsewhere.
Consider these to be "warrant candidates". Which ones are actual warrants?
i.e. Which ones involve an underlying principle we would agree with and
share in common?
- 80-20 rules
- In CS there are many, including "programs spend 80% of their wall clock
time executing 20% of their code".
- these are usually loose approximations, not literal/exact
assertions
- Computer science is creating the right model for a problem...
and devising the appropriate techniques to solve it.
- A. Aho
- If you haven't figured it out yet, use a brute force algorithm
- Ken Thompson
- The faster the code is written, the slower the program will run
- Roy Carlson
- If the code and comments are inconsistent, it is likely that both
are wrong.
- Norm Shryer
- If there are too many special circumstances, you must be using
the wrong method
- Craig Zerouni
- First figure out the data structure, and the rest of the program
is self-explanatory.
- David Jones
- Bad programmers worry about the code. Good programmers worry
about data structures and their relationships.
- L. Torvalds
- Make the user interface as consistent and predictable as possible
- Principle of least surprise
lecture #26 began here
Ethics Talks
The randomized order for today (3) and Friday (3) starts from:
duane
chamberlain
latner
lecture #27 began here
Monday we will join UIdaho on their zoom for a Colloquium
More Ethics Talks
saavedra
kite
madduri
We may adjust the order to account for excused absences, etc.
lecture #28 began here
Lecture 28 was by Dr. Sajjan Shiva
lecture #29 began here
HW#5 talks Friday and Monday
- The random order will be determined at the start of class Friday.
- The goal for listeners will be to provide useful feedback that will
help your peers improve their research proposal. A part of your grade
will be based on the quality and quantity of feedback provided.
- Today: 10-15 minutes of CS Warrant candidates and then we warp forward
to Craft of Research Chapter 10.
CS Warrant Candidates, cont'd
- Don't let users provide information that the system already knows
- Rick Lemons
- A test can only prove that a program has errors, but not that a
program has no errors.
- E. Dijkstra
- If things are not broken, don't fix them
- R. Reagan
- The first step in fixing an error is to reproduce the error.
- T. Duff
- On a non-I/O intensive program, more than half the runtime is
spent on less than 4% of the code
- D. Knuth
- Do things in the simplest and dumbest way
- KISS Principle
- 90% of the functionality delivered now is better than 100% delivered never
- Adding human resources to a late project makes it later.
- Brooks's Law
- Implement things when you actually need them, not when you "foresee"
that you will need them.
- To revisit "every problem in CS can be solved by yet another level
of indirection."
- B. Stroustrup, or B. Lampson. A professional colleague endorsed it
saying "I've put it to good use many times in the form of proxies and
edge clouds. And of course, you see it used in many areas of CS:
indirect memory addressing in hardware, pointers, DNS systems, pub-sub
systems, proxies, etc."
- Corollary to the preceding warrant: "There is no performance problem
that cannot be solved by eliminating a level of indirection."
- Jim Gray.
- It always takes longer than you expect, even when you take into account
Hofstadter's Law".
- This is Hofstadter's Law.
- An evolving system increases its complexity unless work is done to reduce it.
- Software systems do not work well until they have been used, and have
failed repeatedly, in real applications.
- D. Parnas
- Before software can be reusable it first as to be usable.
- R. Johnson
- Complexity is where the bugs hide.
- Controlling complexity is the essence of computer programming
- B. Kernighan
- There are two ways of constructing a software design: One way
is to make it so simple that there are obviously no deficiencies,
and the other way is to make it so complicated that there are no obvious
deficiencies. The first method is far more difficult.
- Tony Hoare
- Computer Science is the only discipline in which we view adding a new
wing to a building as being maintenance.
- Jim Horning
- All the important problems in computer science have to do with
scalability.
- when debugging, novices insert corrective code; experts remove
defective code.
- Richard Pattis
- Software engineering is that part of computer science which is
too difficult for the computer scientist.
- Friedrich Bauer
- Debugging is twice as hard as writing the code in the first place.
Therefore if you write the code as cleverly as possible, you are,
by definition, not smart enough to debug it.
- Brian Kernighan
- Easy to use and hard to misuse
- Everything should be made as simple as possible, but no simpler.
- A. Einstein
- Functions should do only one thing, well. (cohesion)
- In programming the hard part isn't solving problems, but deciding
what problems to solve.
- P. Graham
- Dependency hygiene trumps code reuse
- It can be better to duplicate a little code than to pull in a big
library for one function.
- Focus comes from saying no to 1,000 things to make sure we don't get
on the wrong track or try to do too much.
- S. Jobs
- It is not uncommon for the cost of an abstraction to outweigh the benefit.
- J. Carmack
- The three great virtues of a programmer are laziness,
impatience, and hubris.
- L. Wall
- Managing programmers is like herding cats.
- More computing sins are committed in the name of efficiency
than for any other reason, including blind stupidity.
- W. Wulf
- The biggest problems in software are problems of misconception.
- R. Hickey
- Nine people can't make a baby in a month
- F. Brooks
- A specification that will not fit on one page of 8.5x11 paper cannot be understood
- One Page Principle, M. Ardis
- Program to an interface, not to an implementation.
"Warrant Candidates" in CS (cont'd)
- Simplicity is prerequisite for reliability.
- E. Dijstra
- Simplicity, carried to the extreme, becomes elegance.
- J. Franklin
- A program is never less than 90% complete, and never more than 95% complete
- T. Baker
- Trees sprout up just about everywhere in computer science.
- D. Knuth
- The fastest algorithm can frequently be replaced by one
that is almost as fast and much easier to understand.
- D. Jones
- The first 90% of the code accounts for the first 90% of development time; the remaining 10% accounts for the other 90%
of development time.
- T. Cargill
- The first rule of functions is that they should be small.
- Robert Martin
- The purpose of software engineering is to control complexity, not to create it
- P. Zave
- There are only two hard things in computer science: cache invalidation and naming things, and off-by-one-errors
- P. Karlton, L. Bambrick
- To understand recursion, you must first understand recursion
- You can't trust code that you did not totally create yourself.
- K. Thompson
- Designs that just work are much more difficult to produce than designs that are just assemble long lists of features
- D. Crockford
- Premature optimization is the root of all evil
- D. Knuth
- Well-designed components are easy to replace.
Eventually, the will be replaced by ones that are not
so easy to replace.
- Sustrik's Law
A few more CS warrant candidates
I will skim through these pretty fast. Again, they are only useful warrants
if they identify some principle that most computer scientists would agree,
and to which we therefore could appeal in support of our reasons for a
claim.
- The number of transistors doubles every two years.
The cost of computers is halved.
- Moore's Law.
- Software is getting slower more rapidly than hardware
is getting faster.
- Wirth's Law
- Roughly every decade a new, lower priced computer class
forms based on a new programming platform, network, and
interface resulting in new usage and the establishment of
a new industry.
- Bell's Law of Computer Classes
- Given enough eyeballs, all bugs are shallow
- L. Torvalds
- The value of a network is proportional to the square of
the number of connected nodes.
- Metcalfe's Law
- The value of a network scales exponentially with
the number of connected nodes.
- Reed's Law
- New interconnections introduce new vulnerabilities.
- A security corollary to the software engineering antipattern
known as "high coupling"
- The complexities of computerized systems cause new insecurities.
- insecurity is one form of bugginess.
- The major difference between a thing that might go wrong and a thing
that cannot possibly go wrong is that when a thing that cannot possibly go
wrong goes wrong it usually turns out to be impossible to get at or repair.
- Pessimism (see Murphy's Law) demands planning for all possible failures
- Most software is poorly written and insecure.
- Pessism, applied to one's understanding of one's fellow human beings
- The extensibility of computing systems enables their weaponization
- Does anyone remember back when Microsoft OLE was a thing?
Word Macros ... led to Word Macro Viruses
- Garbage in / Garbage out
- Basic principle of computing. If the input data is invalid,
the results of a computation are meaningless
- The best performance improvement is the transition from the non-working state
to the working state.
- J. Ousterhout
- Avoid multiple maintenance
- Refactor common code in multiple places to where there is only one
copy of the code in one place where fixes may be applied.
- Preserve locality of reference
- A principle that applies to both data and to code.
- Plan to throw one away
- F. Brooks formulated the argument for prototyping
- The general tendency is to overdesign the second system.
- also F. Brooks
Planning and Drafting (CoR Chapter 10)
The tendency of the CoR book to reduce a complex topic to a simple
formula for you to follow, is both a strength and a weakness.
Sketching a working Introduction
"Plan to throw one away." - Fred Brooks
Sketch your working introduction to address three parts.
- write a brief summary
- only key points and research/sources your paper challenges, modifies,
or expands upon.
- rephrase your research question as a statement about a flaw or gap in existing
sources/knowledge
-
Awkward semi-example: "Can we build a better debugger atop a high level execution
monitoring framework?" becomes "The rate of advances in debugging will increase
if we make it easier to write debuggers."
- Sketch an answer to "So what if we don't find out?"
- The obvious purpose here is to motivate the importance of this work
- State the answer to your research question as the main point of the paper
- This may go at the end of the intro, or in the conclusions.
Plan the Body of Your Paper
This smells halfway in between (a) traditional term-paper-writing instructions
that work from an outline and gradually flesh things out until the paper text
is derived, and (b) instructions on how to develop an object-oriented design,
writing a page/card for each class, what the classes' responsibilities are,
and sorting out how they relate to each other.
- Sketch background and define terms
- Create a page for each major section. what does it support, develop, or
explain?
- Find a suitable order. Sometimes the order that makes sense to you
might not meet the needs of your readers. The most common issue is whether
the related work needs to be presented early, or late.
Plan Sections and Subsections
This is fleshing out the contents of the "page" you created for each section.
It is a storyboard or an action plan for what you are going to write.
- highlight key terms
- each section needs its own little introduction
- indicate where to put evidence/acknowledgements/warrants/summaries
Sketch a Working Conclusion
Be sure your paper can answer the question: "so what?". The reader has to
be able to see the significance of your result. Why was your paper worth
reading? Why was the research work worth doing?
Avoid 3 Common Flaws in Planning
- The paper must not be a narrative of your thinking.
- This isn't the history/log of your work, and it doesn't need to
show all your dead-ends. If any discarded attempts are discussed
at all, it might be to acknowledge and refute plausible sounding
approaches that were attempted and found not to work.
Too much "I" in your paper is a red flag.
- Do not assemble your paper as a frankenstein concatenation of your
sources.
- A literature review paper is almost that, sometimes. But readers want
value-added, not just stuff other papers say. You generally need to add
organization, analysis and/or new solutions not found in sources.
- Do not map your paper directly onto the language of your assignment!?
- Wow, really. Echolalia is not actually a positive. If your paper
is for an assignment, do not write the text of the assignment or its
rubric! Instead, meet the objectives stated, and satisfy the rubric,
with your own direct language. One interesting possible contradiction
of this is that I've seen plenty of NSF program announcements where the
proposal has to literally say specific things specified in the
announcement or it will not be considered.
Turning your Plan into a Draft
- CoR writers suggest a Spiral Model of
research paper development, where you iterate
several/many times and use early drafts to refine the
planning storyboards discussed above.
- They suggest starting to draft early in order to allow for the several
iterations needed. And to expect the "final" draft is just: the best that
you were able to make the work by a given deadline. Don't expect perfection.
- Often you don't really have the ideas until you try to write them.
- Keep key concepts in front of you while you draft, so you don't sidetrack.
Avoiding Procrastination and Writer's Block
- If you feel too intimidated by what you are trying to do
- Break up your big task into smaller tasks until you are able to proceed
- If you have no (or unreasonable) goals
- create a routine that sets small/reasonable goals.
Use a progress chart or meet with a partner to force progress.
- Your sentences/paragraphs are never good enough
- Write informally "to get the ideas on paper". Compromise on
perfection in order to get the job done.
There are in most institutions places like a Writing Center where you can
get expert help. Use them!
Organizing Your Argument (CoR Chapter 11)
"We all know our own work too well to read it as others will."
Thinking Like a Reader
- readers want to begin by knowing why they should read your paper at all
- because readers want the big picture, CoR authors claim you should
work on the overall paper structure and organization before you worry
about details like individual sentences.
- don't waste time fine tuning sections that you later decide to
heavily revise or cut altogether
Revising your Frame
"Frame" denotes what the readers must be able to find instantly:
- extent of introduction and where it ends
- conclusion and where it begins
- what sentence states your main point
- (If your paper format allows it, CoR authors say to literally)
put an extra vertical space in after the intro and before the conclusion.
-
State your main point shortly before the end of your introduction.
-
Your main point sentence should contain key terms that identify
the concepts and themes of your paper.
Revising your argument
- identify the substance
- is it focused? does it stay on topic? There is also a
right balance between reasons and evidence.
- evaluate the quality
- reliable? qualified/limited? conversational? warranted (if necessary)?
Revising the Organization of your paper
- circle key terms of the main point, in the introduction and conclusion
- cirle those same terms in the main body
- underline concepts related to those terms in the main body
- If none of those terms appears in 1+ paragraphs, maybe you are wandering
- are there connecting sentences around the start of each new section?
Checking Your Paragraphs
- Your paragraphs should lead your readers through the conversation.
- Actually, it may be easier/better to think about your paragraph breaks.
- Very common in grad student research writing to have overlong
paragraphs.
- You should break periodically after a strong point, or to let the
reader process what they've been told.
Letting your Draft Cool
- what seems good on one day often is not good on the next
- skim your paper and then paraphrase it to a hypothetical audience
- does it all make sense and hang together?
- ask someone else to read and summarize your paper. do they get it?
Abstract
State the research problem, announce the key themes, and state the main point.
lecture #30 began here
HW#5 presentations
The goal is to give the presenter suggestions that will
help them improve their final written research proposal.
Randomized order, modified by you-all.
saavedra
kite
latner
lecture #31 began here
HW#5 presentations, cont'd
duane
madduri
chamberlain
lecture #32 began here
Incorporating Sources (CoR Chapter 12)
Quoting, Paraphrasing, and Summarizing Appropriately
- we don't quote as often as a historian would
- summarize when details are irrelevant or a source is not important
enough to take up much space
- paraphrase when you can say it better, or when your argument depends
on details of a source but not its actual words
- quote when the words are crucial, authoritative, or striking, or
to be fair to someone you are disagreeing with
Integrating Direct Quotations
- For 0-4 lines just put quotes around them, in-line in your text.
- For 5+ lines, indent them in a special quotation block.
- quotes can be introduced by a few identfying words, or a whole
sentence, or embedded within your own sentence (to quote phrases
smaller than a sentence).
- CoR says you can modify a quote so long as you don't change its
meaning. They are wrong. But they mention one modification that is
occasionally OK, which is to delete portions and replace them with ...
in an obvious way. ... are called ellipses, inevitably to be
confused with a math ellipse
Showing Readers How Evidence is Relevant
- evidence never "speaks for itself"
- tell your readers what you want them to get out of it.*
- *Jeffery adds: and beware, this is fraught with peril
- it is fine to introduce a piece of evidence with a sentence
explaining it, but be sure the evidence says what you claim.
The Social Importance of Citing Sources
- protect you from plagiarism
- dubious or unfindable sources make your work look and feel sketchy
- readers figure if you can't be trusted to get the little things right,
they can't be trusted to get the big things right, either.
- proper citations suggest you may have integrated the work of other
researchers into your own thinking
- experienced readers may skim your sources to see who you've
read before they even decide whether to bother reading your paper ?!
- ironic: papers whose sources are all old, or whose sources are all
recent things obtained from the internet, are both red flags that say
the lit. search wasn't very deep.
- when you cite sources fully and accurately, you honor them and
their intellectual contribution.
Common Citation Styles
CS (ACM, IEEE, etc.) tends to cite things differently than in the
humanities and social sciences. CoR describes four methods:
- author-title styles
-
- author-date styles
-
We pretty much don't use any of these in CS. We often use [1] style, numbered
from the order they appear in the text. I have also seen and used commonly
a style consisting of abbreviated author and year, as in [Jeff21].
Mostly, where you submit specifies how you cite, and you should expect
to have to follow it exactly, and that different styles will be required
in different venues.
Guarding Against Inadvertent Plagiarism
- if you use the exact words of a source, you have to put double quotes
around it, or an indented block quotation style.
- the main thing is: don't accidentally fail to cite sources or it could
mean big trouble
- --- Jeffery adds: don't use AI-generated text that fails to cite
sources, or you could be found guilty of plagiarism-by-generative-AI.
- cite your sources repeatedly when necessary -- this is a bit of a gray
area and I've recently seen students overdo it kinda badly.
If you cite different parts
of the same source, from different pages, in different paragraphs in your
writing, then yeah, you get to cite them again.
- "students lose track of which words are theirs and which are borrowed"...
the best way to avoid this is to not borrow anything.
- Visually signal every quotation, even when you cite its source. CoR draws the
line at "borrowing" short phrases that don't constitute original ideas.
A noun phrase with some adjectives, for example.
- if you paraphrase, your paraphrase must really be re-worded, not just
tweaked a bit.
- Readers may think that you plagiarize, when you intended to be
paraphrasing. This may have happened some in your papers in this class.
- don't plead ignorance, or good intentions. Modern reviewers will simply
run your work through a software tool and reject your work, or report you,
based on similarities the tool highlights.
Introductions and Conclusions (CoR Chapter 14)
- Time spent on introduction and conclusion may be the most important
work you do on a paper -- agree, or disagree? Why or why not?
- use "the problem" to engage your readers
- the urgency and real-world relevance of your problem is what acquires
a reader's interest in the first place
- the promise that you have a solution that will make a difference is
what holds their interest as they read into your main paper content
Common Structure of Introductions
- contextualizing background
- statement of the problem
- response to the problem
Context
Define those states and processes that constitute the domain within which
the problem will be encountered/observed.
- stable context
- common ground
- research results already understood/accepted
- your starting point, made comprehensible to the reader
Context may include pointing out commonly-held misunderstandings and
flaws in current thinking or previous results.
Stating the Problem
- condition
- incomplete knowledge or understanding, stated directly or indirectly
- consequences
- what is the cost, human or otherwise, of us not getting this?
Or what is the benefit of us getting this?
- Readers are more motivated by a real cost incurred than by a potential
benefit that might or might not happen.
- Sometimes you don't have to state your condition explicitly because the
problem is well known in the field, but by default, be direct/explicit
- for maximum motivation, the consequences/cost should be what the readers
themselves will incur/pay
- Ask the "So what?" questions in order to check whether you've made the
condition and consequences clear and compelling -- show them that your
problem is their problem.
lecture #33 began here
Stating your response
After disrupting the readers' peace and happiness by stating a serious
problem and its consequences, you have to either
- state your solution or main point, or
- promise that you will do so later on
This is generally in the last few sentences of your introduction.
- If you are stating the gist of your solution, you are telling them
what you are going to tell them. It is a short summary of what
the remaining sections are going to accomplish; what your results are.
- If you are promising that the solution is coming, you are launching
the reader into a topic, perhaps one where more must be understood in
order for the results to be absorbed. Maybe it is multi-faceted and the
sequence of results tells a bigger picture for which a summary would not
do justice.
- The promisory note is a big ask of the readers.
- Give them not just a general topic, but either a summary of the solution
or a plan for how you will get there.
Setting the Right Pace
How fast you can go in your introduction depends on:
- your audience...
- how much they know; your common vocabulary
- and your topic
- how familiar is your context and/or your problem to these readers?
- If you go too slow, you imply your readers don't know your field
- If you go too fast, your readers may find you incomprehensible or rude
Organizing the introduction
Context + Problem + Response
with the following shortcuts/special cases:
- well known problems can often omit common ground (shorten context)
- well known consequences do not have to be (re-)stated
- if your readers may not buy your solution at first glance, that's
when you might want to do the promisory note and save the main point
for the conclusions
formulaic == good
give your readers what they expect, and save your surprises for your results
Finding your first few words
Are the first few sentences the hardest? Avoid cliches.
- don't repeat the language of your assignment.
- don't start with the dictionary
- don't start "grandly"
- don't start with an homage to a celebrity
The desire for shared context or common ground does not give you an
excuse to indulge in one of these.
CoR researchers instead suggest three "standard" choices:
- a striking fact relevant to your problem
- a striking quotation
- but only if it hits many key words in your domain
- a relevant anecdote
- but only if it vividly illustrates your problem
Yeah, none of these is great for a computer science research paper.
We do not expect such parlor tricks. What computer scientists want
to read is usually a no-nonsense direct statement of the domain.
Writing your Conclusion
- Same elements as your introduction, in reverse order.
- Restate your main point, more fully, but not word-for-word
- New significance. Applications of this new knowledge
- Extend your research community's conversation
- Suggest new research questions
Titles
- CoR suggests overlong titles are a good thing.
- The suggest a two-line title:subtitle formst.
- They suggest including your keywords in your title.
- My experience is that students often go over-long.
- Your title should give the reader an idea of what
the paper is about, but the ideal title also will be catchy
Revising Style (CoR Chapter 15)
- You need a way to identify difficult sentences that seem fine to you
- Analogous to debugging and software testing --
difficult to see your own bugs because you see what you intended,
not what it actually says. Difficult to write your own test cases
because you will write tests that conform to your own expectations.
- Then you need a way to break down difficult sentences into easier ones.
- For most of us, most of the time, if our writing is difficult it is
not that our subject was inexorably that hard, but instead that we are
lazy, inconsiderate, in a rush, or set lower standards for ourselves
than for our readers.
- Difficult writing is especially frequent from new researchers
who are tackling ideas that they find challenging.
Compare
A. Too precise a specification of information-processing requirements
incurs a risk of a decision-maker's over- or underestimation, resulting in
the inefficient use of costly resources. Too little precision in specifying
needed processing capacity gives no indication with respect to the
procurement of needed resources.
vs.
B. A person who makes decisions sometimes specifies what he needs to process
information. He may do so too precisely. He may over- or underestimate the
resources that he needs. When he does that, he may use costly resources
inefficiently. He may also fail to be precise enough. He may not indicate
which resources others should procure.
vs.
C. When a decision-maker specifies too precisely the resources he needs to
process information, he may over- or underestimate them and thereby use
costly resources inefficiently. But if he is not precise enough, he may not
indicate which resources to procure.
What are your impressions?
Given all this, here are:
lecture #34 began here
Two principles of clear writing
Distinguishing Impressions from Their Causes
- Need to map "felt" complexity of difficult writing to underlying causes
- First 6-7 words, and last 4-5, often determine felt complexity.
- simple subject, whole subject, verb, noun, and clause play key roles
Principle #1
Your sentence subjects should name the main characters in your
story. Use short, specific, concrete subjects in your sentences.
Avoiding Nominalization
- There is a humorous saying in English that every noun can be verbed.
- In technical/academic writing it is very common
to do the opposite: to use a noun to express an action that would
more directly be stated using a verb.
- Using a noun to refer to a verb/action is called nominalization.
- Most nominalizations end in -tion, -ment, -ness, -ence, or -ity.
- Nominalization is itself a nominalization. I guess this is common
- Example: in technical writing you get told to avoid first-person
sentences like "I evaluate the data in the following manner."
Instead you write things that aren't all about you, like
"The evaluation of the data consists of the following".
- This is also often correlated to converting from active voice to passive
voice, which is often criticized. ("The data is evaluated...")
- Nominalization tends to add a lot clutter words
Principle #2
Express your crucial actions in verbs, as actions taken by your principle #1
subjects.
Two Tests for Diagnosing Problem Sentences
Underline the first 6-7 words in each sentence/clause, and then
perform two tests:
- Are underlined subjects concrete characters (not abstractions)?
- Are underlined verbs specific actions?
How to Revise Problem Sentences (to be clear and direct)
Don't take this CoR advice literally for CS technical writing.
It expresses some valid principles.
- Find characters that you want to tell a story about.
Invent them if necessary.
- Find what those characters are doing. Use direct action verbs.
- Use your main characters as subjects and their actions as verbs.
Dr. J adds: break any long sentences that don't fit this direct
(character-subject, action-verb) sentence pattern into smaller
sentences that do.
Who or What can be a Character?
- the previous advice sort of sounded like story-writing 101.
- It was missing the fact that in our CS research
writing the characters are sometimes not named Bob and Alice (LOL).
-
A character is anything that can be the subject to a lot of verbs
in a sequence of sentences.
- Even abstract concept nouns can be characters if you use action verbs
with them.
- This section smells like choosing what your classes are in OOP design.
- CoR authors are basically applying similar criterion to define the
entities in a piece of writing.
Creating Main Characters
Most stories have several characters to choose from. You turn them into main
characters by making them the subject of multiple sentences.
Old before New
- This third principle of revision is claimed to be very important.
- Paraphrasing, it seems to be: pick familiar (or predictable) subjects
for sentences that introduce new subjects/characters, rather than
introducing new characters unpredictably.
To diagnose:
- Underline first 6-7 words of each sentence.
- Will these words be easy/familiar to the reader at that point?
To revise:
- make the first 6-7 words familar in each sentence
- put unpredictable, complex, or new information in the latter
part of sentences.
Active and Passive Voice
- do you know what active and passive are?
- Some English books tell you to avoid passive voice. Grammatik was
software that would pick it out and complain about every single instance.
- CoR researchers say its more important to follow their old before new
principle
- like many things, passive can be abused, or it can be valuable.
On Case Studies (part 1)
-
Steve Easterbrook is a well-known software engineer who has dedicated the
latter portion of his career to researching software development practices
used in climate modeling.
- His tutorial on case studies came recommended to me, and it seems
they are part of gathering evidence, and hence fit here in the CoR
book, before we move on into Chapter 8.
- I will apologize in advance for my limitations as presenter
(I am no Steve Easterbrook).
-
Easterbrook's, slides and
paper
We covered slides 1-?? or so.
Last Lecture
If we got this far, one of the things I'd want to share is
Randy Pausch's Last Lecture