Case Studies Sasikumar M Overview Set of internal case studies - - PowerPoint PPT Presentation
Case Studies Sasikumar M Overview Set of internal case studies - - PowerPoint PPT Presentation
Case Studies Sasikumar M Overview Set of internal case studies Marathi Tutor SQL tutor Simultaneous equation tutor Marathi tutor (Abhijit Joshi) Attempt to follow first language learning of children Key points:
Overview
- Set of internal case studies
- Marathi Tutor
- SQL tutor
- Simultaneous equation tutor
Marathi tutor (Abhijit Joshi)
- Attempt to follow first language learning of children
- Key points:
– Controlled repetition – Relevant feedback
- Controlled repetition
– Generate similar sentences by learner and teacher – Teacher to review and correct, if not correctly formed
- No significant use of linguistic terms or ideas
- Let the learner evolve the knowlege.
Inflection handling
- Verbs and nouns undergo inflection generally.
- Verb controlled by GNP of subject and tense
– is/am/are going – has/have left – went
- Noun as indirect or direct object, and as
adjective inflects
– Particularly pronoun – She/her/He/him/his/we/our/us/etc
...
- Rules for transformation
- Pronoun forms
– mee:First:M:Ekavachana
- Make plural form
– 2:M:aa:e – For masculine nouns replace 'aa' with e
- Case inflection
– Convert to base form – Then convert to suitable suffix
- A number of knowledge bases for exceptions, different
types and their transformations
...
- Similar case with verbs also
- Tense modifier, and then inflections
– 1:First:M:Ekavachana:Vartamaana:to – Chalaa -> chalaato
Verb Form- ation
Pro-noun
Sentence generation
- Need to generate sentences which are
grammatically correct,
- ... and more-or-less meaningful.
- Fixed repository is difficult to manage.
- Open grammar can produce silly sentences
– Table ate banana.
Templates
<sentence id=1 type = “simple”> <subject> <noun type = “person” tag=”x” gender=”any” number=”any” person=”first”/> </subject> <adjective type=”time”> <object> <noun type = “edible”> </object> <verb dhatoo=”eat” tense = “present”/> </sentence>
Sentence generation
Tutor
- Formal models of tutoring and student model to be
done.
- System shows many variants on the same structure
using template
- Learner can specify parts, and ask system to fill in.
- System shows partial sentence and asks learner to
fill in.
- A dialogue structure to help correct errors
User-driven generation
End of case study 1
Case study 2
- SQL tutor
- Scaffolding, domain model, diagnosis
mechanism,etc
Acharya: SQL tutor
- Similar to SQL-tutor of CBM
- But done much earlier!
- Teach how to write good SQL queries
- Select name, age, salary from faculty where
salary > 10000
- Issues: problem selection, error finding,
feedback
Problem selection
- A repository of problems
– Find age of all faculty members whose monthly salary
exceeds 1lac.
– How many staff not promoted in the last 3 years. – Tabularise people who joined in the last 3 years in terms of
their base degree.
- Generation of problems difficult
– Variations possible
- Database need to be included.
– A number of common schemas built and kept.
User Interface
- SQL queries have a fixed structure.
- Cannot impose an order in the way you write
queries.
- So validate “when asked”.
- Structure can be used to make a scaffolding to
avoid parsing, or even handling incomplete parts.
GUI
Content and Student model
- SQL organised as a set of concepts with some
dependency.
- Problems attached with each concept.
- Correctly solving them decides 'confidence' in
the concept
- Simple CF model for confidence
– Student Model
Correctness
- How to check correct answer?
– Run query against a real database? – Need sufficiently richly populated database – Getting right set of tuples retrieved => correct
query?
- Check for efficiency, good practices?
- How to find what went wrong?
- Must validate by “analysing” query
...
- Use of an ideal answer
- Check response part by part
– Select items – Table names – Where clauses – Groupby, etc
- Issues?
...
- Multiple correct combinations
- Select items in any order...
– Use sorted order for matching
- All relevant fields and only the relevant fields retrieved?
– If order specified in problem, check for the order after
this.
- Table names
– Order not relevant – User defined name ignored now
...
- Where clauses more complex
- Order of clauses
– (age > 30) and (salary > 10000) – (salary > 10000) and (age > 30)
- Rephrasing of a clause
– not (age <= 30) – Age between 20 and 40 – Age > 20 and age < 40 – Not (Age <= 20 and age > 40)
- Efficiency and best practices issue
...
- Where clause given a set of rows
- Scaffolding and this, reduces focus from minor
syntax errors
Where clauses
- a) Pre-process them to remove connectives like
between, in, not in, etc
– Only AND, OR retained
- b) Atoms standardised
– Build a list of unique atoms – If match found, assign same number – Else different number – Negation and change of sign to be considered – age > 25, age > 30, age <= 25, 25 < age, etc
...
- c) truth table based by equivalence check
– (3 and 2) or (1 and not 2) – Small number of atoms – so manageable in size – Check if the TTs of the two expressions are same
- With these, most of the variations can be handled.
– Domain specific variations not included – Col 1 and 2 are related, and hence check on 1 can be
mapped to check on 2
Actions
- Depending on nature of mismatch, error tags
assigned
- Errors linked to remedial materials (for details
- n this topic, refer to ....)
Summary
- An early attempt at tutor development.
- Pilot use in our RDBMS course
– No systematic evaluation
- Student model in terms of concepts
- Solving simultaneous equations
- Use of multi-layer problem solving interface