Critical Thinking in Software Engineering CSE 501 presentation by Michael Buckley 9 November 2010.

22
Critical Thinking in Software Engineering CSE 501 presentation by Michael Buckley 9 November 2010
  • date post

    21-Dec-2015
  • Category

    Documents

  • view

    217
  • download

    0

Transcript of Critical Thinking in Software Engineering CSE 501 presentation by Michael Buckley 9 November 2010.

Page 1: Critical Thinking in Software Engineering CSE 501 presentation by Michael Buckley 9 November 2010.

Critical Thinking in Software Engineering

CSE 501 presentation by Michael Buckley

9 November 2010

Page 2: Critical Thinking in Software Engineering CSE 501 presentation by Michael Buckley 9 November 2010.

Critical Thinking

- preparing for the exams

Page 3: Critical Thinking in Software Engineering CSE 501 presentation by Michael Buckley 9 November 2010.

Critical?

Arguing with yourself Empathy to the other point of view Defense of a point of view against logical

argument Be a skeptic

Page 4: Critical Thinking in Software Engineering CSE 501 presentation by Michael Buckley 9 November 2010.

Course objectives

Be eclectic Recognize good design / Bad design Apply critical thing

Page 5: Critical Thinking in Software Engineering CSE 501 presentation by Michael Buckley 9 November 2010.

Why think “critically”?

Engineers are paid to think. That’s our job. We solve problems that aren’t yet solved. There’s right, and there’s wrong. Our results are the end of a long trail of decisions,

paths, prototypes, attempts, and hard work. Each step is a fork in the road, or a gate we have to pass through.

Those paths cannot be tried at “no cost”, so we have to make good solid decisions along the way.

Page 6: Critical Thinking in Software Engineering CSE 501 presentation by Michael Buckley 9 November 2010.

Lack of critical thinking

http://www.baddesigns.com/path.html http://www.baddesigns.com/sidewalk.html http://www.baddesigns.com/numbers.html http://www.baddesigns.com/doors.html http://www.baddesigns.com/3doors.html

Page 7: Critical Thinking in Software Engineering CSE 501 presentation by Michael Buckley 9 November 2010.

How to answer an essay question What is the difference between teamwork

and socialism? Why is ritualistic behavior harmful to software

development? Are engineers responsible for the use of the

systems they design? e.g. computerized torture…

Is Toyota handling their technical and public relations issues correctly?

These are not yes/no questions.

Page 8: Critical Thinking in Software Engineering CSE 501 presentation by Michael Buckley 9 November 2010.

CSE442/542 Software Engineering This course attempts to teach critical thinking,

expression, and constructive argument as a means of preparing you for the professional work environment. Your exam answers must present a coherent argument toward a distinctive point.

If your exam answers don't include definitions, examples, and mention YOUR point as well as opposing arguments, you lose credit.

Examples from class don’t count as examples. Class notes and lectures aren’t research.

Page 9: Critical Thinking in Software Engineering CSE 501 presentation by Michael Buckley 9 November 2010.

If you simply cut and paste from another source without expanding the information in your own words, you will lose credit. If you cut and paste from the web without citing the reference, you get a zero for that question, but mostly for lack of effort rather than issues of academic integrity.

We all know how to Google.

If you don't follow the directions (say, limiting your answer to 2 pages, not putting your name, not single spacing, margins), you lose credit for that as well.

Page 10: Critical Thinking in Software Engineering CSE 501 presentation by Michael Buckley 9 November 2010.

How to answer an essay question: First establish a point Take a stand There are usually 4 issues to address:

The benefits of your stand The harm of your stand The benefits of the opposite The harm of the opposite

Page 11: Critical Thinking in Software Engineering CSE 501 presentation by Michael Buckley 9 November 2010.

Give the background Definition History Assumptions

State the difference between fact and opinion Beware of common sense, common

knowledge, popular thought, conventional wisdom. Why? Because they are used to win arguments, not

advance science REFERENCES

Page 12: Critical Thinking in Software Engineering CSE 501 presentation by Michael Buckley 9 November 2010.

References All statements of authority must be referenced. All other-sourced material MUST be in quotes

with footnote. All quotations must be referenced

“quotation marks” are NOT for emphasis underline and italics or both are

Wikipedia is NOT a reference http://www.guardian.co.uk/commentisfree/

2009/may/04/journalism-obituaries-shane-fitzgerald

Page 13: Critical Thinking in Software Engineering CSE 501 presentation by Michael Buckley 9 November 2010.

Wrong:

Blah blah blah blah blah blah blah blah blah blah blah blah blah something from the Internet blah blah blah blah blah blah blah blah blah.

Ref: www.Wikipedia.com

Right:

Blah blah blah blah blah blah blah blah blah blah blah blah blah. Experts say: “something from the Internet” [1] Blah blah blah blah blah blah blah blah blah.

[1] www.NotWikipedia.com

Page 14: Critical Thinking in Software Engineering CSE 501 presentation by Michael Buckley 9 November 2010.

Defend your point

Draw a line between your conclusion and verifiable evidence.

State what is speculation. First, admit to what is speculation.

State what is opinion.

Page 15: Critical Thinking in Software Engineering CSE 501 presentation by Michael Buckley 9 November 2010.

Thought experiments

http://www.wired.com/science/discoveries/magazine/15-06/st_best

Argue with yourself Argue with someone who has the opposite opinion Argue with someone who has the same opinion,

defend the opposite side, defend the indefensible Do not take a side Visualization / Extend the point to it’s conclusion

http://www.ted.com/

Page 16: Critical Thinking in Software Engineering CSE 501 presentation by Michael Buckley 9 November 2010.

Emotional vs. Logical Argumentshttp://video.google.com/videoplay?docid=-

572077907195969915

http://onegoodmove.org/fallacy/toc.htm

Page 17: Critical Thinking in Software Engineering CSE 501 presentation by Michael Buckley 9 November 2010.

Logical Fallacieshttp://www.biofortified.org/2010/09/logical-fallacies/

Ad Hominem

From the latin for “to the person”, an ad hominem is an attack against the arguer rather than the argument. This doesn’t mean that you simply call the person a jerk; rather, it means that you use some weakness or characteristic of the arguer to imply a weakness of the argument.

Starling: ”I think Volvos are fine automobiles.”Bombo: ”Of course you’d say that; you’re from Sweden.”

Appeal to Dead Puppies

Sometimes tugging at the heartstrings with a tragic tale is enough to quash dissent. Who wants to take the side of whatever malevolent force might be associated with death and suffering?

Starling: ”Thank you, door-to-door solicitor, but I choose not to purchase your magazine subscription.”Bombo: ”But then I’ll be forced to turn to drugs and gangs.”

The Appeal to Dead Puppies draws a pathetic, poignant picture in order to play on your emotions. Recognize it when you hear it, and keep your emotions separate from the facts.

Page 18: Critical Thinking in Software Engineering CSE 501 presentation by Michael Buckley 9 November 2010.

Gain There is no gain from winning an emotional

argument The gain is in advancing along a more correct path

http://changingminds.org/index.htm

“The best compromise is when everybody leaves disappointed.”

“Motivation is the art of getting people to do what you want them to do because they want to do it.”

Dwight D. Eisenhower

Page 19: Critical Thinking in Software Engineering CSE 501 presentation by Michael Buckley 9 November 2010.

Fields of Study

Philosophy – strategies for understanding prior to experimentation

Psychology – behavior of the individual Benefit to engineering?

Sociology – behavior of groups What is a theory?

Theory of Evolution Theory of Relativity Theory of Gravity (????) or Law of Gravity

Page 20: Critical Thinking in Software Engineering CSE 501 presentation by Michael Buckley 9 November 2010.

Know when you’re speculating Hypothesis – speculation Theory – most likely explanation based on

experimentation Law – a well-tested theory

Page 21: Critical Thinking in Software Engineering CSE 501 presentation by Michael Buckley 9 November 2010.

Be cynical about design

How many times have you left your headlights on? Left the refrigerator door open? Programmed the microwave for 120 minutes? Recorded the wrong TV program? Ran out of gas? Locked your keys in your car? Lost the remote control? Banged your head?

How much responsibility is ours?

Page 22: Critical Thinking in Software Engineering CSE 501 presentation by Michael Buckley 9 November 2010.

Always be a skeptic

http://blog.ted.com/2006/11/09/skeptic_founder/