Changes

no edit summary
Line 44: Line 44:  
##*For the UI part, I will use PyGTK as I have some experience with it.( I've written a small but interesting game using PyGTK and on the right is a screenshot of it. For more info about it, please email me :)[[Image:PyGTK_Fingers_to9!.png|thumb|right|My little game using PyGTK..]]
 
##*For the UI part, I will use PyGTK as I have some experience with it.( I've written a small but interesting game using PyGTK and on the right is a screenshot of it. For more info about it, please email me :)[[Image:PyGTK_Fingers_to9!.png|thumb|right|My little game using PyGTK..]]
 
##*For the database part, I will use the sqlite module as the whole db does not need to be very large and the performance on a XO should be taken in consideration as well. There will be a db for storing basic using information, for example, the current user and his/her current learning language, available languages on this XO and account info of teacher users and student or parent users. Another db will be used for storing language learning materials like texts, images and some extra sound files. Each language can have its own separate learning material db so that newly-added entries can be transferred easily through the Internet, and teachers can also distribute self-modified materials to students easily.
 
##*For the database part, I will use the sqlite module as the whole db does not need to be very large and the performance on a XO should be taken in consideration as well. There will be a db for storing basic using information, for example, the current user and his/her current learning language, available languages on this XO and account info of teacher users and student or parent users. Another db will be used for storing language learning materials like texts, images and some extra sound files. Each language can have its own separate learning material db so that newly-added entries can be transferred easily through the Internet, and teachers can also distribute self-modified materials to students easily.
##*For the learning methods used in this activity, I will not only add my own learning experience of a student from a developing country to it, but consult some professors in the School of Foreign Language in my university as well. Also, some sophisticated commercial language learning softwares could be good reference for this activity, and I will try my best to simplify them to be suitable for kids.   
+
##*For the learning methods used in this activity, I will not only add my own learning experience of a student from a developing country to it, but consult some professors in the School of Foreign Language in my university as well. Also, some sophisticated commercial language learning softwares could be good reference for this activity, and I will try my best to simplify them to be suitable for kids. For every language there will be several units, each has its own topic like "People and life", "Plants and animals", "Food and drink" and so on. A unit contains about dozens of frames, and those frames can have relations. For instance, let's have four frames F1,F2,F3 and F4, F1 teaches the words "Man" and "Woman"; F2 teaches the words "Boy" and "Girl"; F3 teaches the words "Eat" and "Drink"; F4 will give a sentence "A boy is eating an apple" and multiple choices illustrated by vivid images of the mixture for someone(could be a man, a woman, a boy or a girl) is eating or drinking something, and then the student is asked to pick up the correct picture to test if he/she have already got what's the difference between those words and have a good sense of their pronunciation.   
 
##*For the teaching of speech sounds and intonation, I will consider using some open-source TTS softwares, for example, espeak the Speech Synthesizer. The best choice might be to use sound files of words and sentences recorded by real human beings. This may be okay for widely used languages like English, but for other smaller languages this could be almost impossible. This may also raise license problems. However, I will let the activity have the potential to add sound files of corresponding entries for some certain languages when coding it.
 
##*For the teaching of speech sounds and intonation, I will consider using some open-source TTS softwares, for example, espeak the Speech Synthesizer. The best choice might be to use sound files of words and sentences recorded by real human beings. This may be okay for widely used languages like English, but for other smaller languages this could be almost impossible. This may also raise license problems. However, I will let the activity have the potential to add sound files of corresponding entries for some certain languages when coding it.
##*For the re-distribution of own-made entries, an import and export function will be included so that those changes can be made into a package to be shared easily with others. If there is any time left at the end of this summer or maybe in the near future, I will design a website to check and store well formed packages of own-added entries so that users from worldwide can download them and import to their own XOs(the reason why I do not want to implement this right now is the consideration that there may be difficulties for most of the XO users to have an Internet access)
+
##*For the re-distribution of own-made entries, an import and export function will be included so that those changes can be made from the db of this activity on a certain XO into a package to be shared easily with others. If there is any time left at the end of this summer or maybe in the near future, I will design a website to check and store well formed packages of own-added entries so that users from worldwide can download them and import to their own XOs(the reason why I do not want to implement this right now is the consideration that there may be difficulties for most of the XO users to have an Internet access)
 
# What is the timeline for development of your project? The Summer of Code work period is 7 weeks long, May 23 - August 10; tell us what you will be working on each week. (As the summer goes on, you and your mentor will adjust your schedule, but it's good to have a plan at the beginning so you have an idea of where you're headed.) Note that you should probably plan to have something "working and 90% done" by the midterm evaluation (July 6-13); the last steps always take longer than you think, and we will consider cancelling projects which are not mostly working by then.
 
# What is the timeline for development of your project? The Summer of Code work period is 7 weeks long, May 23 - August 10; tell us what you will be working on each week. (As the summer goes on, you and your mentor will adjust your schedule, but it's good to have a plan at the beginning so you have an idea of where you're headed.) Note that you should probably plan to have something "working and 90% done" by the midterm evaluation (July 6-13); the last steps always take longer than you think, and we will consider cancelling projects which are not mostly working by then.
 
#*Before the summer begins: Finish a draft for UI design. Consult language professors for proper learning methods and think about an approach to implement it. Set required environment and build a HelloWorld activity.
 
#*Before the summer begins: Finish a draft for UI design. Consult language professors for proper learning methods and think about an approach to implement it. Set required environment and build a HelloWorld activity.
56

edits