(Some entries are just general description rather than concrete example; It may take some additional time to think of concrete examples for them)
1. Pattern recognition
1. Pattern recognition
- recognize a program / a program missing a curly brace
- recognize a function declaration [maybe missing something]
- recognize a mathematical / logical expression
- recognize the definition of an abstract data type
- recognize that the execution of a program is slow (this is fuzzy)
- recognize that some code / data structure is complex (also fuzzy)
- recognize that a text / image file is big (also fuzzy)
English related:
- recognize some nouns, verbs, prepositions, etc
- recognize NPs, VPs, etc
- recognize sentences (or almost-sentences missing something)
- recognize misspelled words
2. Natural language understanding / interpretation
Syntactic parsing into logical form:
- translate nouns, verbs, prepositions, etc, into logical form
- translate NPs, VPs, into logical form
- translate sentences into logical form
Understanding semantics:
- understanding nouns:
eg: chair is an object, dog is an animal, love is an abstract thing - understanding verbs:
eg: to kick is to hit with a leg; to kiss is to make contact with lips;
to love is to kiss, have sex, hold hands, talk, etc. - understanding prepositions:
eg: John eats spaghetti with Peter -> Peter eats spaghetti
John eats spaghetti with meatballs -> the spaghetti has meatballs &
meatballs don't eat spaghetti - understanding sentences
3. Learning from examples
Once we have basic English capability, we can use English to give examples:
- Roman numeral for '1' consists of one I
Roman numeral for '2' consists of two I's
Roman numeral for '3' consists of three I's
--> Roman numeral for n consists of n I's
4. Query answering
- Is 13 an integer?
- Is 13 an odd number?
- Is 3.14 a float?
- All variables must be given a type when they are declared?
- Every C# program must contain one Main method?
- Is ++(x + 1) a valid C# statement?
- Why does some code result in error messages?
eg: why is ++(x + 1) invalid?
what's wrong with printf("This is a test); ? - Why doesn't a program give the desired result?
eg: why doesn't printf("Hello world/n"); produce a new line? - Why is one program slower than another similar program?
- Print all odd numbers from 1 to 100.
- Replace "John" with "Mary" in this text file.
- Write a function that reverses an English sentence's word order.
No comments:
Post a Comment