I need sum info from you gays for a project i got at school.
1 . Wat is your worst subject ?
English and Grammar is what I hated most. Math and Science were great, and History was interesting. But while I understood (for the most part) Grammar and English and love to read, I dislike the subject from an educational standpoint.
2 . Would you use a program tht will improve your understanding of that subject?
Assuming that I felt it necessary to improve my understanding, I personally would not be adverse to doing so using a computer program.
3. How must the program look like ?
Well, assuming we're still talking about Grammar, I suppose it would depend on the needs of the particular aspect of Grammar being addressed. Since the purpose of Grammar is to educate one on how to compose words into sentences (and then onto larger compositions), it wouldn't need to be graphically complex. In fact, it
could be as simple - visually - as notepad or even this text window I'm typing into.
4. Wat must the program be able to do ?
Since Grammar is my worst subject, I suspect that I'm not the most qualified to answer that - however I'm not entirely incompetent and could make a few suggestions.
1. Sentence structure, types of words - Perhaps the user could have a series of shapes or rectangles (or buckets) with the words NOUN, VERB, ADVERB, ADJECTIVE, PRONOUN, etc. From there (depending on what grade level of instruction is targeted at that point) the player would have to drag other words into the appropriate field (or bucket) to categorize the words. On higher grade levels, the boxes could be dragged instead, meaning the player has to take a sentence diagram and label the appropriate parts. Other words could be combined to generate sentences, or just word combinations (for really early grades, things like Adjective+Noun and Adverb+Verb - with errors on things like Adverb+Noun and Adjective+Verb). For younger users on early grades, visual aids such as images of the noun (rather than just the word) could help understanding.
2. Punctuation - Drag-and-drop or click-to-insert. The user is given a sentence (run-on, missing commas, quotation marks, or other punctuation) and instructed to click the mouse (or type) the appropriate punctuation. True-false/yes-no questions would also be easy to do, such as "Does the sentence 'Megan said Hello! to Becky.' need quotation marks around the word 'hello'?"
3. Recognizing grammatical errors - Users could be presented with a sentence, such as "Megan
[ran/run] to the store earlier." and be required to select the appropriate word(s) for the context (past tense, in this case).
Final notes on my behalf - all the above is merely a way to test a persons knowledge and allow them to see that knowledge in practice. Quizzes and tests alone are not a substitute for actual education. If you actually wish to
teach the subject, such as Grammar, you have to present the information in advance. Only after it has been suitably given to the user can they act on that knowledge. You would need to type up the necessary lessons and present them in an organized (and structured, pre-planned) fashion. Studies have shown that there are about 3 main types of learners. Those that learn from seeing (including reading), those that learn from hearing, and those that learn from doing. Obviously everyone learns all these ways, but some are better than others. With that in mind you need to address all three. Put words on the screen, play them out loud to the user, show progressively complex examples (and the exceptions to the rules as well - English has many), and then let the user attempt to do it themselves.
Remember, teaching is not the
presentation of knowledge, but the
transfer of knowledge. If your students do not learn, you have not taught.
I suspect that, as your programming project, these are things that your teacher wants you to be thinking of yourself. That's why you've been asked "What must it be able to do?" If you don't know what is
must do, it'll only ever be a nifty toy that doesn't actually do anything useful.
Lets say I want to create a program that creates random-work poetry. My goal is to create a program that, with minimal user input, outputs a plain text file. The text will be X lines of poetry, each of Y words/syllables long, with the words selected randomly from a database of words, and the variables X and Y provided by the user. You will have to create the following components:
1. an interface of some kind, for the user to input the two variables
2. input verification, to ensure the user's input is valid (and not zero or null, letters, or other non-numeric characters/data)
3. a database of words, complete with their part of speech (noun, verb, etc), what it rhymes with, number of syllables, etc. Perhaps user-editable.
4. a file read system to access the database
5. a random word selector, which would need a random seed and number generator type thingy
6. a file write system to place the selected word into the plain-text file (or possibly a memory space to store the collected words and write once to a file)
7. a loop to ensure it selects and writes Y words/syllables, and then creates a new line so long as X lines have not been reached.
8. and other error checking for things like "out of memory/disk space" (a possible problem, for an exceptionally large X and Y input)
I'm sure I missed somethings, but each one of the above is fairly complex in and of itself to do something that seems so simple. And each one of them will have to be broken down further until you reach the actual code. Computers can't handle ambitiousness.
Sorry, I seem to have rambled. Maybe I helped, maybe I confused you. Anyway, good luck!