This chapter shows the interrelationships between the processes to analyze information, identify assumptions, or apply concepts. This chapter uses an example to show how Socrates DigitalTM examines the assumptions and the information they rest on simultaneously. If the user begins with analyzing information, then Socrates DigitalTM asks the user to provide a data item that is relevant to the analysis. Next, it asks the user to identify the underlying assumptions used to analyze the data. After identifying the assumptions, Socrates DigitalTM asks for the evidence that the assumption holds for a larger dataset.
TopWhat To Work On? Decision Process
As Figure 1 highlights, the next module after the Define Problem process in the Socrates DigitalTM module is the “What to Work On?” decision process. This process is where Socrates DigitalTM asks the user persona what to work on next. As the names of the modules show, the choices are to Analyze Information, Identify Assumptions, or Apply Concepts.
Figure 1. What to Work On? Decision Process in Socrates DigitalTM
The pseudo-code for the What to Work On? decision process is listed below. The first comment states that the question asked by Socrates DigitalTM of the user persona belongs to one of the two main categories of Socratic Questions called “Questions that Target the Parts of Thinking.” The second part of this first comment, “Questioning Goals and Purposes,” tells us that the question belongs to the subcategory of Socratic Questions to determine the goal, or purpose, of user persona.
/* Questions that Target the Parts of Thinking -- Questioning Goals and Purposes
/* Ask user persona to what to work on – information, assumptions, or concepts
BEGIN Subprocess What_To_Work_On
/* Generate a Random Number Between 1 and 3 – the Possible Forms of the Question
RandomInteger:= GenerateRandomInteger[1,3]
/* Select a Form of the Question
CASE RandomInteger OF
1: Question:= “OK, of the following, what would you like to work on?”
2: Question:= “What do you want to work on from this list?”
3: Question:= “Given these options, what do you want to work on?”
END_CASE
OUTPUT Question
/* If user persona has not worked on the identifying information, then list it as an option
IF Information_Already_Visited = FALSE
THEN OUTPUT “Information”
END_IF
/* If user persona has not worked on the identifying assumptions, then list it as an option
IF Assumptions_Already_Visited = FALSE
THEN OUTPUT “Assumptions”
END_IF
/* If user persona has not worked on the identifying concepts, then list it as an option
IF Concepts_Already_Visited = FALSE
THEN OUTPUT “Concepts”
END_IF
INPUT Answer
User_Response:= Answer
/* Understood_Response should come back as “Information,” “Assumptions,” or “Concepts”
Natural_Language_Processor (User_Response, Understood_Response)
/* Select a Form of the Question
CASE Understood_Response OF
“Information”: Information_Already_Visited:= TRUE
“Assumptions”: Assumptions_Already_Visited:= TRUE
“Concepts”: Concepts_Already_Visited:= TRUE
END_CASE
/* Given the value of Understood_Response, go to information, assumptions, or concepts process
GOTO Understood_Response
END What_To_Work_On