Difference between revisions of "Flash Card Game - Assimilate"

From Sugar Labs
Jump to navigation Jump to search
 
(30 intermediate revisions by 5 users not shown)
Line 1: Line 1:
 
{{TOCright}}
 
{{TOCright}}
 +
{{:Flash_Card_Game_-_Assimilate/status}}
 
==Description==
 
==Description==
This project is one of [http://wiki.sugarlabs.org/go/Math4Team/RIT/Projects many small projects] focused on developing 4th grade math games which will run on the OLPC XO. We are [http://wiki.sugarlabs.org/go/Math4Team/RIT/Students RIT students] who are working on this with the help of other developers who become interested in our projects.
+
This project is one of [[Math4Team/RIT/Projects | many small projects]] focused on developing 4th grade math games which will run on the OLPC XO. We are [[Math4Team/RIT/Students | RIT students]] who are working on this with the help of other developers who become interested in our projects.
The focus of this project is to turn an existing game ([http://wiki.laptop.org/go/Assimilate Assimilate]) into a math based flash card game which will hopefully be included on future XO's.
+
The focus of this project is to turn an existing game ([[OLPC:Assimilate]]) into a math based flash card game which will hopefully be included on future XO's.
  
 
==Standards==
 
==Standards==
The [http://wiki.sugarlabs.org/go/Math4Team 4th Grade Math Team] is focused around creating games which will promote at least one of [http://wiki.sugarlabs.org/go/User:Gdk/4th_Grade_Maths these math standards].<br />
+
The [[Math4Team | 4th Grade Math Team]] is focused around creating games which will promote at least one of [[Math4Team/Resources/Curriculum Chart | these math standards]].<br />
 
Our project has the potential to fulfill many of the standards listed, but it specifically addresses the following:<br />
 
Our project has the potential to fulfill many of the standards listed, but it specifically addresses the following:<br />
 
'''4.N.10''' - Select and use appropriate operations (addition, subtraction, multiplication, and division) to solve problems, including those involving money.<br />
 
'''4.N.10''' - Select and use appropriate operations (addition, subtraction, multiplication, and division) to solve problems, including those involving money.<br />
Line 11: Line 12:
 
'''4.N.12''' - Add and subtract (up to five-digit numbers) and multiply (up to three digits by two digits) accurately and efficiently.<br />
 
'''4.N.12''' - Add and subtract (up to five-digit numbers) and multiply (up to three digits by two digits) accurately and efficiently.<br />
 
'''4.N.13''' - Divide up to a three-digit whole number with a single-digit divisor (with or without remainders) accurately and efficiently. Interpret any remainders.
 
'''4.N.13''' - Divide up to a three-digit whole number with a single-digit divisor (with or without remainders) accurately and efficiently. Interpret any remainders.
 
==Contacts==
 
[http://wiki.laptop.org/go/Assimilate#Contact_Me Urko Fernandez] is the one and only developer of Assimilate. Dennis contacted him via his gmail address on April 23rd, 2009 and again on May 1st, 2009 and received the following reply on May 7, 2009:
 
<br>
 
Hi Dennis,
 
Sorry for not answering sooner. Feel free to ask any questions; I'll be
 
glad to help you. I promise the answer won't take that long next time.
 
See you,
 
Urko
 
<br>
 
Dennis responded asking him what development environment he has used in the past.
 
  
 
==Group Members==
 
==Group Members==
*[http://wiki.sugarlabs.org/go/User:Dbj4366 Dennis Jalbert]
+
*[[User:Dbj4366 | Dennis Jalbert]] - Would like to continue to develop Assimilate as time allows. You may contact me if you have any questions about this project.
*[http://wiki.sugarlabs.org/go/User:Bjr9081 Brendan Reen]
+
*[[User:Bjr9081 | Brendan Reen]] - Would like to continue to develop Assimilate as time allows. You may contact me if you have any questions about this project.
*[http://wiki.sugarlabs.org/go/User:Jck1089 James Kolb]
+
*[[User:Jck1089 | James Kolb]] - Does not plan to work on Assimilate anymore. You may contact me if you have any questions about this project.
 
* Your name here - Help us develop Assimilate!
 
* Your name here - Help us develop Assimilate!
  
 
==Goals==
 
==Goals==
 
====Project Goals====
 
====Project Goals====
Modify [http://wiki.laptop.org/go/Assimilate Assimilate] in the following ways:
+
Modify [[olpc:Assimilate | Assimilate]] in the following ways:
 
*Fix the "tabs" so that there are 2 interfaces.
 
*Fix the "tabs" so that there are 2 interfaces.
 
**Edit - Add questions & answers as well as categorize the cards (geometry, algebra, etc)
 
**Edit - Add questions & answers as well as categorize the cards (geometry, algebra, etc)
 
**Play - Show the question and input an answer. The game already removes points if you take over 10 seconds to guess, so we would like to add a count down timer to the side showing how many seconds remain.
 
**Play - Show the question and input an answer. The game already removes points if you take over 10 seconds to guess, so we would like to add a count down timer to the side showing how many seconds remain.
 
*Display the correct answer or allow for another guess (worth less points for each guess) after providing an incorrect answer.
 
*Display the correct answer or allow for another guess (worth less points for each guess) after providing an incorrect answer.
**Note: Currently the game doesn't give you the correct answer. It lets you know what everyone else guessed and you get to vote for which answer you believe to be correct. We would like to change this so that it always lets you know the correct answer. However, we can still keep the entire class results to possibly give to the teacher using another groups project (Teacher Reporting/API).
+
**Note: Currently the game doesn't give you the correct answer. It lets you know what everyone else guessed and you get to vote for which answer you believe to be correct. We would like to change this so that it always lets you know the correct answer. However, we can still keep the entire class results to possibly give to the teacher using the [http://wiki.sugarlabs.org/go/Math4Team/RIT/Projects/Question_Support_API API].
 
*Add multiple types of flash cards beside basic addition/subtraction/multiplication/division.
 
*Add multiple types of flash cards beside basic addition/subtraction/multiplication/division.
 
**We will need to work with the API group to store our questions, especially the pictures which will bee needed for geometry questions.
 
**We will need to work with the API group to store our questions, especially the pictures which will bee needed for geometry questions.
 
*Allow more than 2 people to connect to a game (we were unable to get a 3rd person to join in the activity).
 
*Allow more than 2 people to connect to a game (we were unable to get a 3rd person to join in the activity).
 
====Class Goals====
 
* Our goal for this RIT class is to complete the [http://wiki.sugarlabs.org/go/Flash_Card_Game_-_Assimilate#.22Must_haves.22 "Must Haves"] part of [http://wiki.sugarlabs.org/go/Flash_Card_Game_-_Assimilate#Our_Plan our plan] and document everything we do weather it works or not. Documentation will either be on this wiki or directly in the code that we modify and/or create.
 
 
==Week by week milestones==
 
====4/24====
 
* '''Brendan - '''Setup development environment (Git, Eclipse + Pydev | SoaS).
 
* '''Dennis - '''Get in contact with developer of Assimilate.
 
* '''James - '''Figure out how to edit the "Activities" tab since it isn't listed in the toolbars.py file
 
* '''Everyone - '''Decide who will work on exactly which parts of the project for the next few weeks.
 
 
====5/1====
 
* '''Dennis - '''Change the names of the tabs from "Flashcard" and "Help" to "Play" and "Edit".
 
* '''James - '''Add code from Measure activity to change the interface for each tab.
 
* '''Brendan - '''Remove the text box below the question so that you cannot change the question in the "Play" tab.
 
* '''James - '''Kill the play button!
 
* '''Dennis - '''Remove the voting function
 
 
====5/8====
 
* '''Everyone - '''Install SoaS and try to get the original source code running so we can start making changes to the game!
 
*'''Dennis - '''Email the Rochester python group for help.
 
*'''Brendan - '''Talk to the folks in IRC to ask them for help.
 
* '''Brendan - '''When a user answers incorrectly, enter loop to prompt to display answer or guess again.
 
** If user chooses to display the answer, remove a point from their score, display the correct answer, and exit the loop.
 
**If user chooses to guess again, clear the input field and make the question worth half the points. Only loop through this 2x so that the maximum number of guesses is 3.
 
**After exiting this loop, display the next flashcard.
 
* '''Dennis - '''Limit each flashcard to have only 1 question and 1 answer.
 
* '''James - '''Work on displaying the score. After seeing how the score changes, we will be able to fix it as necessary.
 
 
====5/15====
 
* Have the game give the correct answer after the 3rd incorrect attempt or after guessing correctly. Allow questions/answers to be entered in the Create tab and allow the game to run properly in the View/Activity tab.
 
* Fix any problems that have come up during this time which we hadn't planned on before.
 
 
==Updates on our progress==
 
====4/24====
 
*We made progress on editing the main interface of the game by using a [http://wiki.sugarlabs.org/go/Tips_%26_Tricks#Toolbar_listener toolbar listener] to change the interface based on which tab is active.
 
*Brendan wasn't able to meet with us this week to update us on setting up the development environment (Eclipse, Pydev, Git). Yesterday Brendan said that he has been working on this but hasn't used it with Assimilate yet. Dennis will check with him to see how it's going after today.
 
*Dennis contacted the developer of Assimilate, but hasn't heard back yet.
 
*James figured out that it is best not to edit the "Activities" tab. Instead we will use the "Flashcard" and "Help" tabs and change their names to "Play" and "Edit".
 
*Everyone decided who will work on exactly which parts of the project for the next few weeks.
 
 
====5/1====
 
* Dennis contacted the original developer again since we are still awaiting a reply.
 
* Brendan was unable to get a development environment running in windows, but was able to use sugar on a stick (SoaS) to compile properly. See the [http://wiki.sugarlabs.org/go/Flash_Card_Game_-_Assimilate#Development_Environment Development Environment] section of [[http://wiki.sugarlabs.org/go/Flash_Card_Game_-_Assimilate#Links_.26_Resources Links & Resources]].
 
* After running the code from git on SoaS, it showed the splash screen, but never ran the program so we need to get the existing code working before we can even make the changes that we had planned to make this week. Dennis suggested trying to copy the code directly from the xo since we installed the working version from a .xo file.
 
* James wasn't able to meet with us today since he had an interview this week. I'm still waiting to hear back from him on his progress this week.
 
* Dennis updated the wiki.
 
* As soon as we get the original code running in our development environment, we will start making the changes which we prepared for this week so that we can catch up with our milestones.
 
 
====5/8====
 
* SoaS did not end up working out. We were able to get Assimilate installed, but when we ran it from the circle of programs, it would just hang and then crash and go back to the main screen. We initially tried using code from git, but when that didn't work, we also tried extracting the code from the .xo file (which worked on the OLPC). However, this did not work either. Then we tried copying the code from the OLPC since we knew that worked and it still wouldn't load the program in SoaS. Of course, we also tried installing Assimilate from the .xo file (just as we did on the OLPC) and that didn't work either. Our conclusion is that Assimilate will not run on SoaS.
 
* We discovered that Synergy supposedly works on the OLPC. Dennis is trying to get it working at the moment. However, this only works if you have a wireless network since the OLPC doesn't have an ethernet port. See these [http://wiki.sugarlabs.org/index.php?title=Flash_Card_Game_-_Assimilate&action=submit#Synergy two resources] for info about synergy.
 
  
 
==Our Plan==
 
==Our Plan==
Line 108: Line 46:
  
 
==Links & Resources==
 
==Links & Resources==
 +
 +
===Archive===
 +
*[[/Archive | RIT Spring 2009 course progress]]
 +
 
===General===
 
===General===
*[http://wiki.sugarlabs.org/go/Math4Team/RIT Math 4 RIT Homepage]
+
*[[Math4Team/RIT | Math 4 RIT Homepage]]
*[http://wiki.sugarlabs.org/go/Tips_%26_Tricks Tips & Tricks]
+
*[[Math4Team/RIT/Tips & Tricks | Tips & Tricks]]
 
*[http://www.poromenos.org/tutorials/python Python Help]
 
*[http://www.poromenos.org/tutorials/python Python Help]
 +
 
===Assimilate===
 
===Assimilate===
*[http://wiki.laptop.org/go/Assimilate Assimilate Homepage]
+
*[[OLPC:Assimilate | Assimilate Homepage]]
 
*[http://wiki.laptop.org/images/a/ae/Assimilate-10.xo Download Assimilate]
 
*[http://wiki.laptop.org/images/a/ae/Assimilate-10.xo Download Assimilate]
 
*[http://dev.laptop.org/git/activities/assimilate/ Repository]
 
*[http://dev.laptop.org/git/activities/assimilate/ Repository]
 +
*[[Lesson Plan]]
 +
*[[How to Play]]
 +
 
===Toolbar help===
 
===Toolbar help===
*[http://wiki.laptop.org/go/Sugar.graphics.toolbox Toolbox code]
+
* [[olpc:Sugar.graphics.toolbox | Toolbox code]]
 
*[http://dev.laptop.org/git/projects/measure/tree/toolbar_top.py Example code for a toolbar listener]
 
*[http://dev.laptop.org/git/projects/measure/tree/toolbar_top.py Example code for a toolbar listener]
===Synergy===
+
 
* http://wiki.laptop.org/go/Coding_on_the_xo
 
* http://wiki.laptop.org/go/Synergy
 
 
===Development Environment===
 
===Development Environment===
 +
 
====Windows - <b>Does Not Work!</b>====
 
====Windows - <b>Does Not Work!</b>====
 
*Download & install git (http://git-scm.com/download) to download the source code. Run the GUI, select "Clone Existing Repository" and specify "http://dev.laptop.org/git/activities/assimilate/" as the source location.  
 
*Download & install git (http://git-scm.com/download) to download the source code. Run the GUI, select "Clone Existing Repository" and specify "http://dev.laptop.org/git/activities/assimilate/" as the source location.  
Line 132: Line 77:
  
 
====Sugar on a Stick (SoaS) - <b>Does Not Work!</b>====
 
====Sugar on a Stick (SoaS) - <b>Does Not Work!</b>====
*Follow the instruction on the [http://wiki.sugarlabs.org/go/Sugar_on_a_Stick SoaS page].
+
*Follow the instruction on the [[Sugar_on_a_Stick | SoaS page]].
*Git can be downloaded to Sugar with the following commands:
+
*Install Assimilate from source
**$ su
+
**Git can be downloaded to Sugar with the following commands:
**$ yum install git
+
***$ su
*Get the Assimilate source through git:  
+
***$ yum install git
**$ git clone git://dev.laptop.org/activities/assimilate
+
**Get the Assimilate source through git:  
*Install assimilate:
+
***$ git clone git://dev.laptop.org/activities/assimilate
**$ python setup.py install
+
**Install assimilate:
*When I try to interpret the application with "python Assimilate.py" the following error is generated:
+
***$ python setup.py dev
**"ImportError: cannot import name AlreadyVoted." This is in response to line 13 of cardpanel.py: "from cardbox.import(AlreadyVoted, NoQuestion, NoAnswer)". AlreadyVoted is a class of Exception declared in cardbox.py. I am currently troubleshooting this issue.
+
***$ python setup.py install
 +
**When I try to interpret the application with "python Assimilate.py" the following error is generated:
 +
***"ImportError: cannot import name AlreadyVoted." This is in response to line 13 of cardpanel.py: "from cardbox.import(AlreadyVoted, NoQuestion, NoAnswer)". AlreadyVoted is a class of Exception declared in cardbox.py. I have not found a fix for this issue at this time.
 +
*Install Assimilate via the .xo file
 +
** Download the [blah Assimilate .xo file].
 +
** Click "show in journal"
 +
** This should install Assimilate and put an icon in the circle of programs on the main screen.
 +
 
 +
====Synergy====
 +
* [[OLPC:Coding_on_the_xo]]
 +
* [[OLPC:Synergy]]
  
====Sugar on a Stick (SoaS) - updated?====
+
==Updates to this project==
*Download the Assimilate .xo and make a copy of the source
+
<br>
*Remove the original installation
+
{|
*python setup.py dev
+
|-align=left
*python setup.py install
+
!width=60|Name !! width=20|Date !! width=100|Latest Progress
 +
|-
 +
| Dennis Jalbert || 05/18/09 || Updated wiki with complete information on everything completed this quarter.
 +
|-
 +
| Your name || date || update
 +
|}

Latest revision as of 19:33, 5 September 2010

Status: Unknown
Unknown
Group Members: Dennis Jalbert, Brendan Reen, James Kolb
This project is one of many small projects focused on developing 4th grade math games which will run on the OLPC XO. We are RIT students who are working on this with the help of other developers who become interested in our projects.

The focus of this project is to turn an existing game (Assimilate) into a math based flash card game which will hopefully be included on future XO's.

Description

This project is one of many small projects focused on developing 4th grade math games which will run on the OLPC XO. We are RIT students who are working on this with the help of other developers who become interested in our projects. The focus of this project is to turn an existing game (OLPC:Assimilate) into a math based flash card game which will hopefully be included on future XO's.

Standards

The 4th Grade Math Team is focused around creating games which will promote at least one of these math standards.
Our project has the potential to fulfill many of the standards listed, but it specifically addresses the following:
4.N.10 - Select and use appropriate operations (addition, subtraction, multiplication, and division) to solve problems, including those involving money.
4.N.11 - Know multiplication facts through 12 x 12 and related division facts. Use these facts to solve related multiplication problems and compute related problems, e.g., 3 x 5 is related to 30 x 50, 300 x 5, and 30 x 500.
4.N.12 - Add and subtract (up to five-digit numbers) and multiply (up to three digits by two digits) accurately and efficiently.
4.N.13 - Divide up to a three-digit whole number with a single-digit divisor (with or without remainders) accurately and efficiently. Interpret any remainders.

Group Members

  • Dennis Jalbert - Would like to continue to develop Assimilate as time allows. You may contact me if you have any questions about this project.
  • Brendan Reen - Would like to continue to develop Assimilate as time allows. You may contact me if you have any questions about this project.
  • James Kolb - Does not plan to work on Assimilate anymore. You may contact me if you have any questions about this project.
  • Your name here - Help us develop Assimilate!

Goals

Project Goals

Modify Assimilate in the following ways:

  • Fix the "tabs" so that there are 2 interfaces.
    • Edit - Add questions & answers as well as categorize the cards (geometry, algebra, etc)
    • Play - Show the question and input an answer. The game already removes points if you take over 10 seconds to guess, so we would like to add a count down timer to the side showing how many seconds remain.
  • Display the correct answer or allow for another guess (worth less points for each guess) after providing an incorrect answer.
    • Note: Currently the game doesn't give you the correct answer. It lets you know what everyone else guessed and you get to vote for which answer you believe to be correct. We would like to change this so that it always lets you know the correct answer. However, we can still keep the entire class results to possibly give to the teacher using the API.
  • Add multiple types of flash cards beside basic addition/subtraction/multiplication/division.
    • We will need to work with the API group to store our questions, especially the pictures which will bee needed for geometry questions.
  • Allow more than 2 people to connect to a game (we were unable to get a 3rd person to join in the activity).

Our Plan

"Must haves"

  • Fix the "tabs"
  • Show the correct answer!

"Should haves"

  • Categorize the cards by type of math problem
  • Alternate types of math besides basic arithmetic

"Would be nice to have"

  • More than 2 people playing
  • Seconds remaining timer
  • Send report to teacher about student responses

Links & Resources

Archive

General

Assimilate

Toolbar help

Development Environment

Windows - Does Not Work!

  • Download & install git (http://git-scm.com/download) to download the source code. Run the GUI, select "Clone Existing Repository" and specify "http://dev.laptop.org/git/activities/assimilate/" as the source location.
  • Download & install the Python interpreter here: http://www.python.org/download/releases/3.0.1/
  • Download & install Eclipse.
  • Install the Pydev plugin for Eclipse. Help --> Software Updates --> Available Software --> Add Site. Add http://pydev.sourceforge.net/updates/ and install.
  • Once that's done, you can load up the project you've cloned to your system with Git by opening Eclipse and going to File --> Import --> Select General --> Existing Projects into Workspace. Select the Assimilate root folder. Then go to Window --> Preferences --> Pydev --> Interpreter - Python --> Add (a python interpreter) and specify the path to python.exe. (Mine was C:\Python31\python.exe.)

If you do all of this and try to run Assimilate, it will give you an error because it can't import hippo. We have not found a way around this. If you do, please update this wiki with instructions on how to do so.

Sugar on a Stick (SoaS) - Does Not Work!

  • Follow the instruction on the SoaS page.
  • Install Assimilate from source
    • Git can be downloaded to Sugar with the following commands:
      • $ su
      • $ yum install git
    • Get the Assimilate source through git:
    • Install assimilate:
      • $ python setup.py dev
      • $ python setup.py install
    • When I try to interpret the application with "python Assimilate.py" the following error is generated:
      • "ImportError: cannot import name AlreadyVoted." This is in response to line 13 of cardpanel.py: "from cardbox.import(AlreadyVoted, NoQuestion, NoAnswer)". AlreadyVoted is a class of Exception declared in cardbox.py. I have not found a fix for this issue at this time.
  • Install Assimilate via the .xo file
    • Download the [blah Assimilate .xo file].
    • Click "show in journal"
    • This should install Assimilate and put an icon in the circle of programs on the main screen.

Synergy

Updates to this project


Name Date Latest Progress
Dennis Jalbert 05/18/09 Updated wiki with complete information on everything completed this quarter.
Your name date update