SlideShare a Scribd company logo
1 of 20
Enriching Intelligent Textbooks with
Interactivity:
When Smart Content Allocation Goes
Wrong
ALIREZA JAVADIAN SABET, ISAAC ALPIZAR-CHACON, JORDAN BARRIA-PINEDA,
PETER BRUSILOVSKY, SERGEY SOSNOVSKY
Fourth Workshop on Intelligent Textbooks (iTextbooks) 27 July 2022
Introduction and Problem Statement
What? Extending textbooks with “smart content” (e.g., interactive examples,
simulations, and problems) (Brusilovsky et al. 2014).
Why? Enabling better learning modeling approaches and better personalization.
Problem: Scaling the development and delivery of interactive textbooks.
Solution: A novel approach based on smart content annotation with domain concepts
automatically extracted from a textbook.
@ArjSabet
Method (Overview)
@ArjSabet
Textbook
Smart
Content
Bridging the
Concept
Spaces
Automatic
Content
Allocation
Evaluation
The Textbook
Python for Everybody - Exploring Data Using Python 3 (Severance, C.R, 2016)
Automatic extraction of the knowledge models from textbooks (Alpizar-Chacon, I. &
Sosnovsky, S, 2021)
Identifying the individual index terms from the Index section of the textbook (Real
concepts within the domain of Python programming) [BookConcepts].
Collecting the set of associated page references for each index term using the model of
the textbook.
@ArjSabet
Python
Textbook
Automatic
knowledge
model extraction
Index term
identification
Collecting the
pages
associated with
index terms
852 concepts
associated with
sections
Textbook
Smart
Content
Bridging the
Concept
Spaces
Automatic
Content
Allocation
Evaluation
The Smart Content
Learning content types: (Brusilovsky et al. 2018)
Examples:
Animated Examples (52 items in total)
Examples-Challenges/Program Construction Examples (42 items in total)
Exercises:
Tracing Problems/QuizPET (51 items in total)
Parsons Problems (34 items in total)
SmartConcepts: The set of concepts from the Python ontology used for annotating the
Exercises and Examples.
Smart Content Items: The collection of Examples and Exercises.
@ArjSabet
Textbook
Smart
Content
Bridging the
Concept
Spaces
Automatic
Content
Allocation
Evaluation
Bridging the Two Concept Spaces
Textbook sections
@ArjSabet
Textbook
Smart
Content
Bridging the
Concept
Spaces
Automatic
Content
Allocation
Evaluation
Annotation Type
BookConcepts SmartConcepts
Material
Type
Book Sections Yes No
Exercises Yes Yes
Examples No Yes
Automatic Content Allocation (Overview)
@ArjSabet
Sections
Allocation
BookConcepts
Profile Creation
Exercises
Allocation
SmartConcepts
Profile Creation
Examples
Allocation
Textbook
Smart
Content
Bridging the
Concept
Spaces
Automatic
Content
Allocation
Evaluation
Assigning Book Sections to Lectures
Evaluating the approach in a lecture-based class.
Lecture by lecture content allocation.
Assigning a set of book sections as readings for each lecture (by the instructor).
Implicit BookConcepts allocation for each lecture.
@ArjSabet
Sections
Allocation
BookConcepts
Profile Creation
Exercises
Allocation
SmartConcepts
Profile Creation
Examples
Allocation
Creating a BookConcepts Profile for Each
Lecture
Goal: To create a formal BookConcepts profile of each lecture as a set of BookConcepts
that each lecture intends to teach.
1. Creating a full concept profile of each lecture.
• The union of each lecture’s textbook sections’ BookConcepts.
2. Performing the prerequisite-outcome separation process (Brusilovsky et al. 2005).
• This process examines each lecture in sequence starting with the first lecture and
separates all concepts from the full concept profile of a lecture into outcomes and
prerequisites.
@ArjSabet
Sections
Allocation
BookConcepts
Profile Creation
Exercises
Allocation
SmartConcepts
Profile Creation
Examples
Allocation
Assigning Exercises to Each Lecture
Assigning Exercises to the lecture for which the following two rules are observed:
1. The Exercise should not run ahead of the lecture.
2. The Exercise should contribute to practicing the lecture goals.
Iteratively resolving the mismatches using human-in-the-loop.
@ArjSabet
Sections
Allocation
BookConcepts
Profile Creation
Exercises
Allocation
SmartConcepts
Profile Creation
Examples
Allocation
Creating a SmartConcepts Profile for
Each Lecture
Assigning Exercises to the Lectures (using BookConcepts) built a bridge for assigning
Examples to the Lectures.
Recall: Examples are only annotated by SmartConcepts.
Procedure: Same as the previous step.
1. Extracting SmartConcepts from all Exercises assigned to each lecture.
2. Performing the prerequisite-outcome separation process.
 Result of this step: A list of prerequisite and outcome SmartConcepts for
each lecture.
@ArjSabet
Sections
Allocation
BookConcepts
Profile Creation
Exercises
Allocation
SmartConcepts
Profile Creation
Examples
Allocation
Assigning Examples to Each Lecture
Lecture
Procedure: The same way as Exercise assignment procedure.
With the difference that Example assignment used SmartConcepts instead of
BookConcepts.
Iteratively resolving the mismatches using human-in-the-loop.
@ArjSabet
Sections
Allocation
BookConcepts
Profile Creation
Exercises
Allocation
SmartConcepts
Profile Creation
Examples
Allocation
BookConcepts
SmartConcepts
The Evaluation and Problem Analysis
(Overview)
@ArjSabet
The Evaluation
Procedure
Evaluating
Exercise
Allocation
Evaluating
Example
Allocation
Textbook
Smart
Content
Bridging the
Concept
Spaces
Automatic
Content
Allocation
Evaluation
The Evaluation Procedure
Goal: Detecting misplaced
content items and potential flaws
of the procedure.
Expert evaluation of the
automatic content assignment
procedure for both Exercises and
Examples assignment steps.
Course instructor perspective.
Manual re-allocation of the
issues.
@ArjSabet
Textbook
Smart
Content
Bridging the
Concept
Spaces
Automatic
Content
Allocation
Evaluation
The MasteryGrids interface with the list of learning
content allocated for each lecture
Evaluating Exercise Allocation
Manual annotation “glitches”: Mostly related to the generality problem.
E.g., specific concepts “for loop” and “while loop” are covered by a more general concept
“iteration (loop)”.
Python prescribes several specific cases of indentation in loops, functions, conditional
statements, etc., but all these specific cases are covered by a more general concept of
“indentation”.
Textbooks’ approach in introducing general concepts when two or more specific cases were
presented.
Solution: Creating more formal rules of annotation assembled in a “codebook” (Wang
et al. 2021).
E.g., exclusion of overly general concepts like loop, indentation, statement, etc. from content
annotation.
@ArjSabet
Textbook
Smart
Content
Bridging the
Concept
Spaces
Automatic
Content
Allocation
Evaluation
Evaluating Example Allocation
Out of 94 Examples:
80 Examples were correctly allocated.
14 Examples were manually reallocated.
More than 85% success in the automatic content allocation step.
Two main groups of issues:
Coverage-related
Parser-related (imperfect matching)
@ArjSabet
Textbook
Smart
Content
Bridging the
Concept
Spaces
Automatic
Content
Allocation
Evaluation
Coverage-related Issues
Roots in clusters of similar
concepts in programming
languages (e.g., arithmetic
operations).
In our case, we observed 4
coverage-related issues (4.2% of all
cases).
Solution: Using concept grouping
techniques.
@ArjSabet
Textbook
Smart
Content
Bridging the
Concept
Spaces
Automatic
Content
Allocation
Evaluation
Presentation of an Example-Challenge in
MasteryGrids. The shown example demonstrates a
coverage-related issue (missing “division” arithmetic
operation in Lines 12 and 15).
Parser-related Issues
The insufficient sensitivity of the parser
used to extract SmartConcepts from the
code of smart content items.
E.g., open(file) & file.close()
3.2% of the reallocations.
E.g., class constructor
2.1% of the reallocations.
E.g., .format() expression
5.3% of the reallocations.
Solution: Building a syntax-independent
Python ontology and creating rules to
match leaves of Abstract Syntax Tree to
ontology concepts.
@ArjSabet
Textbook
Smart
Content
Bridging the
Concept
Spaces
Automatic
Content
Allocation
Evaluation
Presentation of an Animated Example in
MasteryGrids. This example demonstrates a parser-
related issue (inability of detecting creating object
from a Class).
Conclusion and Future Work
The first evaluation of our automatic smart content allocation procedure based on the
automatic annotation of a textbook and a collection of smart content for programming.
Focusing on examining cases of misallocation detected during the expert evaluation
process.
Developing a content allocation ``codebook‘’.
Developing a better version of the smart content parser.
@ArjSabet
Thank You!
Questions?
@ArjSabet

More Related Content

Similar to Enriching Intelligent Textbooks with Interactivity: When Smart Content Allocation Goes Wrong

Automatically Generating Wikipedia Articles: A Structure-Aware Approach
Automatically Generating Wikipedia Articles:  A Structure-Aware ApproachAutomatically Generating Wikipedia Articles:  A Structure-Aware Approach
Automatically Generating Wikipedia Articles: A Structure-Aware Approach
George Ang
 
Lecture 2: Introduction to the Essay Assignment
Lecture 2: Introduction to the Essay AssignmentLecture 2: Introduction to the Essay Assignment
Lecture 2: Introduction to the Essay Assignment
Marina Santini
 
Macedonia Icamp Short
Macedonia Icamp ShortMacedonia Icamp Short
Macedonia Icamp Short
Kai Pata
 
Machine Learning
Machine LearningMachine Learning
Machine Learning
butest
 
It services & research methods
It services & research methodsIt services & research methods
It services & research methods
AkanshShandilya
 
Course-Plan-Object Oriented Concept (18CS45)1.pdf
Course-Plan-Object Oriented Concept (18CS45)1.pdfCourse-Plan-Object Oriented Concept (18CS45)1.pdf
Course-Plan-Object Oriented Concept (18CS45)1.pdf
abhijit.tec
 
Co-Clustering For Cross-Domain Text Classification
Co-Clustering For Cross-Domain Text ClassificationCo-Clustering For Cross-Domain Text Classification
Co-Clustering For Cross-Domain Text Classification
paperpublications3
 

Similar to Enriching Intelligent Textbooks with Interactivity: When Smart Content Allocation Goes Wrong (20)

Automatically Generating Wikipedia Articles: A Structure-Aware Approach
Automatically Generating Wikipedia Articles:  A Structure-Aware ApproachAutomatically Generating Wikipedia Articles:  A Structure-Aware Approach
Automatically Generating Wikipedia Articles: A Structure-Aware Approach
 
Lecture 2: Introduction to the Essay Assignment
Lecture 2: Introduction to the Essay AssignmentLecture 2: Introduction to the Essay Assignment
Lecture 2: Introduction to the Essay Assignment
 
Improving Text Categorization with Semantic Knowledge in Wikipedia
Improving Text Categorization with Semantic Knowledge in WikipediaImproving Text Categorization with Semantic Knowledge in Wikipedia
Improving Text Categorization with Semantic Knowledge in Wikipedia
 
Barzilay & Lapata 2008 presentation
Barzilay & Lapata 2008 presentationBarzilay & Lapata 2008 presentation
Barzilay & Lapata 2008 presentation
 
Semantic Relatedness of Web Resources by XESA - Philipp Scholl
Semantic Relatedness of Web Resources by XESA - Philipp SchollSemantic Relatedness of Web Resources by XESA - Philipp Scholl
Semantic Relatedness of Web Resources by XESA - Philipp Scholl
 
Category & Training Texts Selection for Scientific Article Categorization in ...
Category & Training Texts Selection for Scientific Article Categorization in ...Category & Training Texts Selection for Scientific Article Categorization in ...
Category & Training Texts Selection for Scientific Article Categorization in ...
 
Macedonia Icamp Short
Macedonia Icamp ShortMacedonia Icamp Short
Macedonia Icamp Short
 
Experimenting with eXtreme Design (EKAW2010)
Experimenting with eXtreme Design (EKAW2010)Experimenting with eXtreme Design (EKAW2010)
Experimenting with eXtreme Design (EKAW2010)
 
Teaching Object Oriented Programming Courses by Sandeep K Singh JIIT,Noida
Teaching Object Oriented Programming Courses by Sandeep K Singh JIIT,NoidaTeaching Object Oriented Programming Courses by Sandeep K Singh JIIT,Noida
Teaching Object Oriented Programming Courses by Sandeep K Singh JIIT,Noida
 
Shibani Antonette_Augmenting pedagogic writing practice with CLAD.pdf
Shibani Antonette_Augmenting pedagogic writing practice with CLAD.pdfShibani Antonette_Augmenting pedagogic writing practice with CLAD.pdf
Shibani Antonette_Augmenting pedagogic writing practice with CLAD.pdf
 
French machine reading for question answering
French machine reading for question answeringFrench machine reading for question answering
French machine reading for question answering
 
Cognitive Agents with Commonsense - Invited Talk at Istituto Italiano di Tecn...
Cognitive Agents with Commonsense - Invited Talk at Istituto Italiano di Tecn...Cognitive Agents with Commonsense - Invited Talk at Istituto Italiano di Tecn...
Cognitive Agents with Commonsense - Invited Talk at Istituto Italiano di Tecn...
 
Content Wizard: Concept-Based Recommender System for Instructors of Programmi...
Content Wizard: Concept-Based Recommender System for Instructors of Programmi...Content Wizard: Concept-Based Recommender System for Instructors of Programmi...
Content Wizard: Concept-Based Recommender System for Instructors of Programmi...
 
Machine Learning
Machine LearningMachine Learning
Machine Learning
 
It services & research methods
It services & research methodsIt services & research methods
It services & research methods
 
Paper id 312201523
Paper id 312201523Paper id 312201523
Paper id 312201523
 
IRJET- Short-Text Semantic Similarity using Glove Word Embedding
IRJET- Short-Text Semantic Similarity using Glove Word EmbeddingIRJET- Short-Text Semantic Similarity using Glove Word Embedding
IRJET- Short-Text Semantic Similarity using Glove Word Embedding
 
Orchestration Graphs: Enabling Rich Learning Scenarios at Scale
Orchestration Graphs: Enabling Rich Learning Scenarios at ScaleOrchestration Graphs: Enabling Rich Learning Scenarios at Scale
Orchestration Graphs: Enabling Rich Learning Scenarios at Scale
 
Course-Plan-Object Oriented Concept (18CS45)1.pdf
Course-Plan-Object Oriented Concept (18CS45)1.pdfCourse-Plan-Object Oriented Concept (18CS45)1.pdf
Course-Plan-Object Oriented Concept (18CS45)1.pdf
 
Co-Clustering For Cross-Domain Text Classification
Co-Clustering For Cross-Domain Text ClassificationCo-Clustering For Cross-Domain Text Classification
Co-Clustering For Cross-Domain Text Classification
 

Recently uploaded

Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
fonyou31
 
Beyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactBeyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global Impact
PECB
 
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
kauryashika82
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdf
QucHHunhnh
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptx
heathfieldcps1
 

Recently uploaded (20)

Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1
 
APM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAPM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across Sectors
 
Z Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphZ Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot Graph
 
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptxINDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
 
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
 
Beyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactBeyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global Impact
 
Interactive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationInteractive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communication
 
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...
 
Measures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDMeasures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SD
 
Web & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfWeb & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdf
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdf
 
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
 
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
 
fourth grading exam for kindergarten in writing
fourth grading exam for kindergarten in writingfourth grading exam for kindergarten in writing
fourth grading exam for kindergarten in writing
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdf
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptx
 
Advance Mobile Application Development class 07
Advance Mobile Application Development class 07Advance Mobile Application Development class 07
Advance Mobile Application Development class 07
 
Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The Basics
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introduction
 

Enriching Intelligent Textbooks with Interactivity: When Smart Content Allocation Goes Wrong

  • 1. Enriching Intelligent Textbooks with Interactivity: When Smart Content Allocation Goes Wrong ALIREZA JAVADIAN SABET, ISAAC ALPIZAR-CHACON, JORDAN BARRIA-PINEDA, PETER BRUSILOVSKY, SERGEY SOSNOVSKY Fourth Workshop on Intelligent Textbooks (iTextbooks) 27 July 2022
  • 2. Introduction and Problem Statement What? Extending textbooks with “smart content” (e.g., interactive examples, simulations, and problems) (Brusilovsky et al. 2014). Why? Enabling better learning modeling approaches and better personalization. Problem: Scaling the development and delivery of interactive textbooks. Solution: A novel approach based on smart content annotation with domain concepts automatically extracted from a textbook. @ArjSabet
  • 4. The Textbook Python for Everybody - Exploring Data Using Python 3 (Severance, C.R, 2016) Automatic extraction of the knowledge models from textbooks (Alpizar-Chacon, I. & Sosnovsky, S, 2021) Identifying the individual index terms from the Index section of the textbook (Real concepts within the domain of Python programming) [BookConcepts]. Collecting the set of associated page references for each index term using the model of the textbook. @ArjSabet Python Textbook Automatic knowledge model extraction Index term identification Collecting the pages associated with index terms 852 concepts associated with sections Textbook Smart Content Bridging the Concept Spaces Automatic Content Allocation Evaluation
  • 5. The Smart Content Learning content types: (Brusilovsky et al. 2018) Examples: Animated Examples (52 items in total) Examples-Challenges/Program Construction Examples (42 items in total) Exercises: Tracing Problems/QuizPET (51 items in total) Parsons Problems (34 items in total) SmartConcepts: The set of concepts from the Python ontology used for annotating the Exercises and Examples. Smart Content Items: The collection of Examples and Exercises. @ArjSabet Textbook Smart Content Bridging the Concept Spaces Automatic Content Allocation Evaluation
  • 6. Bridging the Two Concept Spaces Textbook sections @ArjSabet Textbook Smart Content Bridging the Concept Spaces Automatic Content Allocation Evaluation Annotation Type BookConcepts SmartConcepts Material Type Book Sections Yes No Exercises Yes Yes Examples No Yes
  • 7. Automatic Content Allocation (Overview) @ArjSabet Sections Allocation BookConcepts Profile Creation Exercises Allocation SmartConcepts Profile Creation Examples Allocation Textbook Smart Content Bridging the Concept Spaces Automatic Content Allocation Evaluation
  • 8. Assigning Book Sections to Lectures Evaluating the approach in a lecture-based class. Lecture by lecture content allocation. Assigning a set of book sections as readings for each lecture (by the instructor). Implicit BookConcepts allocation for each lecture. @ArjSabet Sections Allocation BookConcepts Profile Creation Exercises Allocation SmartConcepts Profile Creation Examples Allocation
  • 9. Creating a BookConcepts Profile for Each Lecture Goal: To create a formal BookConcepts profile of each lecture as a set of BookConcepts that each lecture intends to teach. 1. Creating a full concept profile of each lecture. • The union of each lecture’s textbook sections’ BookConcepts. 2. Performing the prerequisite-outcome separation process (Brusilovsky et al. 2005). • This process examines each lecture in sequence starting with the first lecture and separates all concepts from the full concept profile of a lecture into outcomes and prerequisites. @ArjSabet Sections Allocation BookConcepts Profile Creation Exercises Allocation SmartConcepts Profile Creation Examples Allocation
  • 10. Assigning Exercises to Each Lecture Assigning Exercises to the lecture for which the following two rules are observed: 1. The Exercise should not run ahead of the lecture. 2. The Exercise should contribute to practicing the lecture goals. Iteratively resolving the mismatches using human-in-the-loop. @ArjSabet Sections Allocation BookConcepts Profile Creation Exercises Allocation SmartConcepts Profile Creation Examples Allocation
  • 11. Creating a SmartConcepts Profile for Each Lecture Assigning Exercises to the Lectures (using BookConcepts) built a bridge for assigning Examples to the Lectures. Recall: Examples are only annotated by SmartConcepts. Procedure: Same as the previous step. 1. Extracting SmartConcepts from all Exercises assigned to each lecture. 2. Performing the prerequisite-outcome separation process.  Result of this step: A list of prerequisite and outcome SmartConcepts for each lecture. @ArjSabet Sections Allocation BookConcepts Profile Creation Exercises Allocation SmartConcepts Profile Creation Examples Allocation
  • 12. Assigning Examples to Each Lecture Lecture Procedure: The same way as Exercise assignment procedure. With the difference that Example assignment used SmartConcepts instead of BookConcepts. Iteratively resolving the mismatches using human-in-the-loop. @ArjSabet Sections Allocation BookConcepts Profile Creation Exercises Allocation SmartConcepts Profile Creation Examples Allocation BookConcepts SmartConcepts
  • 13. The Evaluation and Problem Analysis (Overview) @ArjSabet The Evaluation Procedure Evaluating Exercise Allocation Evaluating Example Allocation Textbook Smart Content Bridging the Concept Spaces Automatic Content Allocation Evaluation
  • 14. The Evaluation Procedure Goal: Detecting misplaced content items and potential flaws of the procedure. Expert evaluation of the automatic content assignment procedure for both Exercises and Examples assignment steps. Course instructor perspective. Manual re-allocation of the issues. @ArjSabet Textbook Smart Content Bridging the Concept Spaces Automatic Content Allocation Evaluation The MasteryGrids interface with the list of learning content allocated for each lecture
  • 15. Evaluating Exercise Allocation Manual annotation “glitches”: Mostly related to the generality problem. E.g., specific concepts “for loop” and “while loop” are covered by a more general concept “iteration (loop)”. Python prescribes several specific cases of indentation in loops, functions, conditional statements, etc., but all these specific cases are covered by a more general concept of “indentation”. Textbooks’ approach in introducing general concepts when two or more specific cases were presented. Solution: Creating more formal rules of annotation assembled in a “codebook” (Wang et al. 2021). E.g., exclusion of overly general concepts like loop, indentation, statement, etc. from content annotation. @ArjSabet Textbook Smart Content Bridging the Concept Spaces Automatic Content Allocation Evaluation
  • 16. Evaluating Example Allocation Out of 94 Examples: 80 Examples were correctly allocated. 14 Examples were manually reallocated. More than 85% success in the automatic content allocation step. Two main groups of issues: Coverage-related Parser-related (imperfect matching) @ArjSabet Textbook Smart Content Bridging the Concept Spaces Automatic Content Allocation Evaluation
  • 17. Coverage-related Issues Roots in clusters of similar concepts in programming languages (e.g., arithmetic operations). In our case, we observed 4 coverage-related issues (4.2% of all cases). Solution: Using concept grouping techniques. @ArjSabet Textbook Smart Content Bridging the Concept Spaces Automatic Content Allocation Evaluation Presentation of an Example-Challenge in MasteryGrids. The shown example demonstrates a coverage-related issue (missing “division” arithmetic operation in Lines 12 and 15).
  • 18. Parser-related Issues The insufficient sensitivity of the parser used to extract SmartConcepts from the code of smart content items. E.g., open(file) & file.close() 3.2% of the reallocations. E.g., class constructor 2.1% of the reallocations. E.g., .format() expression 5.3% of the reallocations. Solution: Building a syntax-independent Python ontology and creating rules to match leaves of Abstract Syntax Tree to ontology concepts. @ArjSabet Textbook Smart Content Bridging the Concept Spaces Automatic Content Allocation Evaluation Presentation of an Animated Example in MasteryGrids. This example demonstrates a parser- related issue (inability of detecting creating object from a Class).
  • 19. Conclusion and Future Work The first evaluation of our automatic smart content allocation procedure based on the automatic annotation of a textbook and a collection of smart content for programming. Focusing on examining cases of misallocation detected during the expert evaluation process. Developing a content allocation ``codebook‘’. Developing a better version of the smart content parser. @ArjSabet

Editor's Notes

  1. Hello, My name is Alireza Javadian Sabet from the University of Pittsburgh, and I am glad to present our work “Enriching Intelligent Textbooks with Interactivity” on behalf of my co-authors, Isaac Alpizar-Chacon, Jordan Barria-Pineda, Peter Brusilovsky, and Sergey Sosnovsky.
  2. One of the popular directions of augmenting electronic textbooks with value-adding functionality is extending textbooks with ``smart content‘’ which could enable better learning modeling approaches and better personalization. However, the current platforms for development and delivery of interactive textbooks share the same problem: these textbooks are developed ``as a whole'' with text and interactive problems created together as a part of the authoring process. This approach allows developing excellent examples of interactive textbooks, but does not support scaling up this process. In this work, we review existing approaches for augmenting textbooks with reusable learning content from content repositories and present a novel approach based on smart content annotation with domain concepts automatically extracted from a textbook.
  3. The proposed method is composed of the following 5 main stages that we will go through each of them.
  4. For our experiment we used the textbook Python for Everybody - Exploring Data Using Python 3, and we applied our workflow for the automatic extraction of knowledge models from textbooks to the Python book. Then, we identified the individual index terms from the Index section of the textbook using the extracted model of the textbook and ensured that these terms represent real concepts within the domain of Python programming which we refer to these index terms as BookConcepts. Additionally, we collected the set of associated page references for each index term using the model of the textbook. In this way, it was possible to link BookConcepts to the textbook’s sections.
  5. In this work, we use four smart learning content types from several providers which are: Animated Examples, Examples-Challenges, Tracing Problems, and Parsons Problems. Each of these items can be individually allocated to a proper place in the course. In the rest of the presentation, we will refer to Tracing Problems and Parson Problems as Exercises; to Animated Examples and Example-Challenges as Examples; and to the set of concepts from the Python ontology used for annotating the Exercises and Examples as SmartConcepts. In total, the SmartConcepts set contained 48 concepts extracted from smart content items used in this work.
  6. Given that all textbook sections are annotated with BookConcepts and all smart content items are annotated with SmartConcepts, it is not possible to match smart content items to book sections directly; first, we need to make some connections. To create this bridge, all Exercises have been manually annotated by the course instructor with corresponding BookConcepts: for each Exercise, the instructor indicated which BookConcepts should be considered as the expected learning outcomes of these problems. Unlike the textbook, which provides a very broad account of Python programming, the collection of the used coding Exercises was much more specific. Hence, the final subset of BookConcepts used for annotation included only 47 out of available 852 concepts. Essentially these were the concepts that the learner can master by practicing with the Exercises.
  7. The automatic content allocation procedure is composed of five main steps which I will present in the next slides.
  8. Since we planned to evaluate the approach in a lecture-based class, the content allocation was performed lecture by lecture. The first step of the process was assigning a set of book sections as readings for each lecture. As it is usually done in college classes, this step was performed by the course instructor. By assigning readings to the lectures the instructor implicitly specified the BookConcepts goal for each lecture.
  9. The goal of this step was to create a formal BookConcepts profile of each lecture as a set of BookConcepts that each lecture intends to teach. To achieve this goal, we first created a full concept profile of each lecture by creating a union of BookConcepts from all textbook sections assigned to this lecture and then performed the prerequisite-outcome separation process. This process examines each lecture in sequence starting with the first lecture and separates all concepts from the full concept profile of a lecture into outcomes, concepts that the learning targets of the lecture, and prerequisites.
  10. Considering the BookConcepts profile of the lecture and the BookConcepts annotation of each Exercise we assign Exercises to the lecture for which the following two rules are observed: First, the Exercise should not run ahead of the lecture; Second, the Exercise should contribute to practicing the lecture goals. After the first round of automatic exercise assignments, we assessed the results and fixed the issues which I will present in the next few slides.
  11. As discussed earlier, since all Exercises were manually annotated by BookConcepts, having the BookConcepts profile of each lecture enabled us to assign Exercises to the lectures. However, it was not sufficient for direct assignment of Examples, as they were only annotated by SmartConcepts. The solution comes from the fact that Exercises were annotated by both BookConcepts and SmartConcepts, which created a bridge between the two distinct concept spaces and enabled us to create a SmartConcepts profile of each lecture. The process was similar to creating the BookConcepts profile explained in the previous step: The result of this process was a list of prerequisite and outcome SmartConcepts for each lecture.
  12. Since every lecture has been now described as a set of BookConcepts and a set of SmartConcepts, we can run an Example allocation process for each lecture by matching SmartConcepts from lecture profiles and SmartConcepts from Example annotations. This process was performed in the same way as Exercise assignment explained before, with the difference that Example assignment used SmartConcepts instead of BookConcepts. After completing the Example assignment, we performed the second round of evaluation which I will discuss shortly. We discovered and classified additional problems.
  13. Concerning the Evaluation and Problem Analysis step of the method, First, I will briefly discuss the procedure; then I will present Evaluating the Exercise Allocation, and finally, the Example Allocation Evaluation.
  14. As explained in the Automatic Content Allocation step, we perform the expert evaluation of the automatic content assignment procedure twice. The first round of evaluation was performed to assess automatic Exercise assignment and the second round to assess Example assignment. The evaluation was performed from a perspective of a course instructor examining appropriateness of smart learning content for each of the course lectures. Every discovered case of a misplacement was recorded and discussed by the team. Through these discussions, we have connected each case to a specific problem. It should be noted that after achieving the evaluation goal in each round, we manually fixed all discovered problems to ensure that the next round starts within the correct state. To facilitate the evaluation process, we placed all allocated content items into the MasteryGrids interface which is shown here to experience the content in exactly the same way as an instructor or a student would see it in a course. Using this interface, the experts analyzed each automatically-allocated content item assessing its relevance to the assigned lecture.
  15. Since manual annotation was done by a single course instructor and without clearly specified rules, the annotation was in several cases inconsistent or incomplete. Most interesting among the observed manual annotation problem was the generality problem. The BookConcepts in the textbook form a taxonomy where a number of specific concepts are covered by a more general concept. For example, ``for loop'' and ``while loop'' are specific concepts, but both of them are covered by a more general concept ``iteration (loop)‘’. Similarly, Python prescribes several specific cases of indentation in loops, functions, conditional statements, etc, but all of these specific cases are covered by a more general concept of ``indentation‘’. Due to this role of more general concepts, many cases where the instructor used a general BookConcept (like ``iteration'' or ``indentation'') lead to exercise misplacement. We concluded that all observed manual annotation issues could be resolved by creating more formal rules of annotation assembled in a ``codebook‘’. One of these rules should be the exclusion of overly general concepts like loop, indentation, statement, etc. from content annotation. To fix these problems, the instructor reviewed annotations of Exercises making them more consistent, removing more general concepts, and only keeping the specific ones. For example, ``iteration'' as an initial concept was replaced by ``for loop'' and ``while loop''.
  16. In total, our automatic content allocation procedure assigned $94$ Examples to the lectures. Among them, $80$ Examples were allocated correctly and $14$ had to be manually reallocated. In other words, the automatic content allocation was successful more than $85\%$ of the time. The cases of wrong example allocations were distilled into two main groups of issues, namely coverage-related and parser-related issues.
  17. Coverage-related issues have their roots in clusters of similar concepts in programming languages, such as a set of arithmetic operation concepts, that are usually learned together in the same lecture. Due to their similarity, instructors rarely pay attention to whether or not all these concepts are covered by lecture Examples or practice problems. This is what happened more than once in our case. For example, despite several Exercises specifically targeting simple arithmetic operations, all correctly allocated to Lecture 3, none of them included ``floor division'' operation. As a result, ``floor division'' concept has not been added to the SmartConcepts profile of Lecture 3. At the same time, ``floor division'' appeared as a part of the code in one of Lecture 5 problems. While it was a side concept there, it was the first lecture where ``floor division'' appeared and it was added as one of the outcomes to the Lecture 5 SmartConcepts profile. However, some of the Examples focusing on practicing arithmetic operations did include ``integer division'' in their code, for example, the following figure. The parser successfully identified ``floor division'' concept in this Example's code (as we can see in Lines 12 and 15) and included it in its annotation. As a result, this Example was allocated to Lecture 5 instead of its correct placement in Lecture 3. In our evaluation study, we observed $4$ coverage-related issues which had to be reallocated manually. A possible long-term solution for this category of problems would be using concept grouping techniques.
  18. Several misallocation cases were traced to the insufficient sensitivity of the parser used to extract SmartConcepts from the code of smart content items. Most of these errors were related to the minimalistic approach to syntax in Python where the same syntactic form is used to express concepts that are different. For example, the parser was not able to recognize important file operations open(file) and file.close(), since from syntactic prospect, these cases are not different from any other functions or methods. As a result, instead of being assigned to a lecture covering work with files, these Examples were misallocated to a lecture on functions and methods. Similarly, the parser was not able to identify the use of a ``class constructor'' as a special case since it was also looking just like any other function call (As shown in the following figure). It resulted in misallocation of two examples which were not placed into a lecture on object-oriented programming where they belong. Another example is the parser's failure to recognize a special case of .format() expression. The corresponding Examples should have been allocated to the ``string methods and regular expression'' lecture, but for our parser it was looking just like any other attribute causing these Examples to be misallocated. The solution could be building a syntax-independent Python ontology and creating rules to match leaves of Abstract Syntax Tree to ontology concepts.
  19. In this work, we presented the first evaluation of our automatic smart content allocation procedure based on the automatic annotation of a textbook and a collection of smart content for programming. We focused the work on examining cases of misallocation detected during the expert evaluation process. We believe this analysis is important for the progress of research on automated content allocation and enrichment of textbooks with interactivity. We are currently running a classroom study to explore to what extent the results of our automated allocation were acceptable to students. In our future work, we will focus on resolving the problems discovered in this study through developing a content allocation ``codebook'' for instructors and a better version of the smart content parser.