dyslexic
edit
qrcode
+=-

Skill: Consulting with an Expert


Critical Thinking for COS 265

What does it mean to "consult with an expert"?


This skill actually applies at least two ways for this course. One expert exists in the implementation domain, and the other exists in the using domain.

The implementation expert can provide expert information on how to solve implementation problems. For example, an expert programmer can explain which data structure is best to use, how to implement a particular algorithm, or what might be the cause of a bug.

The using expert can provide expert information on how a program is used, how the input may be structured, or the expected behavior of a program. For example, an artist can describe a current problem they need solved, how they expect to interact with the program, or in reporting/describing current issues.

An important note is that these two types of experts might not be an expert in the other domain. This note has two implications. First, in order for your questions to be understood and answered properly, your language and the way you formulate the questions could be very different depending on which expert you query. Second, the answer you receive will likely need to be "translated" for the other domain—such as by asking an expert of the other domain—before it can be successfully used.

Why should I use it?


When should I use it?


How can this type of thinking help me?


Seeking information from an expert can help in preventing or solving a problem with implementing, debugging, or evaluating a solution. In order to gain the best results from consulting an expert, you must create good open-ended questions and reflect on the recommendations based on the situation and what you know about the challenges involved.

How do I use it?


  1. Identify and define a problem or issue that is or may be a challenge.
  2. Seek an expert in the proper domain that can give suggestions or recommendations to solve the problem.
  3. Evaluate whether the person is an expert in that area.
  4. Develop open-ended questions that you can ask the expert to help you solve the problem.
  5. Reflect on whether the information and suggestions you gained will assist you in solving the problem based on the situation.
  6. If appropriate, ask the same question—possibly re-formulated—to an expert of another domain.
  7. When would the knowledge that you haven't used in this situation be useful? Provide three different times when this knowledge may be useful?
  8. Implement the suggestions that are appropriate.
  9. Evaluate whether the suggestions have helped solve the problem.

Example


When writing a software tool to solve a digital artist's problem, you will need to consult with the artist to understand what the problem is exactly and how they expect to solve the problem or use the tool. Then you might need to consult a programming expert to understand which data structure or algorithm would best solve the problem, what common pitfalls should be avoided, or how to debug implementation issues (code bugs).