Results 1 to 4 of 4
  1. #1
    mamalbh is offline Novice
    Windows 7 64bit Access 2010 64bit
    Join Date
    Jan 2013
    Posts
    3

    Question Need recomendations on designing math facts database...

    (This is my first post, so a little bit of background: I have developed a few small Access databases & UI front ends, done a little bit of C++, Cobol, Java & VB. But my experience is still pretty limited)

    I am a homeschooling mom, and my children's math curriculum uses a somewhat complex flash card system that I would like to have the computer handle for me :-)


    The addition and subtraction cards have two separate sets of codes - one for first grade, one for 2nd and up. So, the first grade workbook might say "Study your 'I' and 'M' flashcards" - but those same flashcards would be coded differently for 2nd grade.

    The multiplication & division cards are not coded, for those the workbooks simply say "Study your x4 and /5 flashcards"

    I want to develop a program where the kids will first study the flashcards (see all three variables), then be quizzed (one variable missing, not necessarily the 'answer') I would want missed problems to show up more often until they are mastered. The quiz will allow a set number of time to get a correct answer for each fact, after a set number of correct answers the quiz would be complete. (Only individual problems are timed)

    So - as far as database design goes:
    Facts_Table with fields fact_ID, Lower_code, Upper_Code, V1, V2, V3, Operation
    User_Table - user_ID, name, grade
    Ranking_Table - user_ID, fact_ID, something to make incorrect problems repeated more often
    Possible sub-tables? Lower Level, Upper Level, sub-table for each operation? Not sure about how much is necessary.

    Does this look like a good layout?
    Any ideas on how to repeat problems that were answered incorrectly more often than those that were answered correctly?



    Thanks
    Last edited by mamalbh; 01-15-2013 at 08:41 AM.

  2. #2
    rpeare is offline VIP
    Windows XP Access 2003
    Join Date
    Jul 2011
    Posts
    5,442
    Everything you're asking about can be done, the timing of a particular question being open (i.e. you want to allow them 60 seconds to answer the question) is pretty intensive as access doesn't have a stopwatch function you essentially have to check every 5 seconds (for example) to see if your max time has expired.

    What you'd likely want is something like this:

    Tbl_Groups (this would contain a PK (autonumber) and a description that would make it easy for you to select your I/M or x4 /5 question sets)
    Tbl_Questions (this would contain a PK (autonumber) the foreign key (FK) to PK of Tbl_Groups, the three variables and the mathematical operation (addition, subtraction, multiplication, division)
    Tbl_Users (this would contain a PK (autonumber) and the child's info)
    Tbl_AnswerErrors (this would contain a PK (autonumber) the foreign key (FK) to the PK of Tbl_Users, the FK to the PK of Tbl_Questions.

    NOTE: this isn't the be all/end all it really depends on how important it is to ask any missed questions and how far back you want to go to determine their 'weak' points.

    Now, the real work with your database is that you're not truly randomizing your questions. You're going to have to have some sort of formula whereby the computer can determine how often and how important answering missed questions is. So let's say your child does the x4 and /5 flash cards every day for a week. Let's also assume that it's the first time they've seen the flash cards. You do not want to ask the questions in a logical order so the first day you really do want a true randomization. Now, on that first day they screw up 4x 7 through 9. On tuesday, is it important that they see all three questions again (the ones they missed the prior day) and then have a random number from all the other questions available in the x4 and /5 flash cards? You don't want to ask those questions up front you want to mix them into your question set. So you've got to have a random function for when in the order you're going to add those missed questions in then have a random function that works outside of that so you'd likely have to build an array of 'missed' questions so you know when you're going to drop them and only ask those when appropriate otherwise randomize the question from everything else.

    The programming involved is going to be quite extensive just to handle this but in the end any rules you have can be programmed for.

  3. #3
    mamalbh is offline Novice
    Windows 7 64bit Access 2010 64bit
    Join Date
    Jan 2013
    Posts
    3
    Thanks so much for your reply. I realize this is an Access form, but would you suggest I make the front end with something else? VB or C maybe?

  4. #4
    rpeare is offline VIP
    Windows XP Access 2003
    Join Date
    Jul 2011
    Posts
    5,442
    Access (access uses VBScript) can handle the programming for what you're suggesting just fine. i'm just saying there's a lot of code that's going to go into it. When you say program in access that means (to me) you're programming in vb.

Please reply to this thread with any new information or opinions.

Similar Threads

  1. Am I designing this database correctly?
    By Cole119 in forum Database Design
    Replies: 5
    Last Post: 07-06-2012, 01:37 PM
  2. Designing a Dynamic Database
    By igglebop in forum Database Design
    Replies: 5
    Last Post: 04-19-2012, 05:19 PM
  3. Designing a database for a log
    By neo651 in forum Database Design
    Replies: 3
    Last Post: 10-31-2011, 11:45 AM
  4. Integrating a Label Writer! Recomendations?
    By JeffG3209 in forum General Chat
    Replies: 3
    Last Post: 07-03-2011, 02:05 PM
  5. Help with designing database
    By nimalp in forum Access
    Replies: 6
    Last Post: 09-15-2010, 10:34 AM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
Other Forums: Microsoft Office Forums