#1
  1. No Profile Picture
    Registered User
    Devshed Newbie (0 - 499 posts)

    Join Date
    Aug 2011
    Posts
    1
    Rep Power
    0

    Building a site that offers dynamically generated math tests


    Hello,

    I want to develop a site where kids can take math tests. Hundreds of types of problems, generated automatically by the software. The software should be able to generate infinite questions, given a parametrized template question and certain limits for the parameters. I know it's a very complex task, but bare with me.

    To understand better what I'm looking for, please check this site: ixl math (being a new user on this forum, I can't use links - you'll have to search it). The "Practice" zone is what I'm mostly interested in.

    My questions are:

    1. How should I approach this? What tools, technologies, languages, design strategies do you recommend? I'm looking for as little server load as possible and maximum portability. Was thinking about generating the pages in PHP, less the actual math testing area. That should be done client side and be fairly interactive and visually rich. My preferred technology would be Silverlight. .NET is where I feel most at home in programming.

    2. Is it feasible to build such a site using a CMS? I'd like to be able to easily manipulate the "non-mathtest" content, but is the overhead a CMS adds to the server worth it? Also, how difficult is it to integrate other technologies (e.g. Silverlight) with the CMS?

    3. Any idea how to design the application for dynamic math test generation itself? I have a few of my own, but am not sure how realistic they are and what would be the best way to proceed. One way to go is to make a different script or application for each problem type. Doing this from scratch for each type is really tedious so the scripts or applications should use a library of predefined highly customizable objects (in an OOP approach). A more advanced way to go would be to only build one client-side application that would run all the problem types, with each type of problem somehow stored in a database. The application would have to build each problem based on the info from the database. That would mean building a new problem type is only a matter of adding a new database entry (a record in a "ProblemTypes" table), but abstracting hundreds of heterogeneous problem types in a single paradigm seems like an extremely difficult task.

    Any help on these matters will be highly appreciated. Thanks.
  2. #2
  3. Transforming Moderator
    Devshed Supreme Being (6500+ posts)

    Join Date
    Mar 2007
    Location
    Washington, USA
    Posts
    14,113
    Rep Power
    9398
    Originally Posted by Cazy
    What tools, technologies, languages, design strategies do you recommend?
    The tool appropriate for the technology, the technology appropriate for the language, the design strategy appropriate for the language, and whatever language you want.
    Originally Posted by Cazy
    I'm looking for as little server load as possible and maximum portability.
    Which is pretty much what everybody wants. Unless you do things very badly, server load and portability won't be a problem.
    Originally Posted by Cazy
    Was thinking about generating the pages in PHP, less the actual math testing area. That should be done client side and be fairly interactive and visually rich. My preferred technology would be Silverlight. .NET is where I feel most at home in programming.
    Okay, so PHP or .NET? I'd say no to Silverlight because I don't know anybody who has that installed, and personally I wouldn't go near your site if I knew it required Silverlight.
    (Insert rant about requiring plugins to use a website here.)

    Originally Posted by Cazy
    2. Is it feasible to build such a site using a CMS?
    "CMS" is a broad term. So the answer is yes. But it will only take you so far.
    Originally Posted by Cazy
    I'd like to be able to easily manipulate the "non-mathtest" content, but is the overhead a CMS adds to the server worth it?
    Yes.
    Originally Posted by Cazy
    Also, how difficult is it to integrate other technologies (e.g. Silverlight) with the CMS?
    Depends on the CMS.

    Originally Posted by Cazy
    3. Any idea how to design the application for dynamic math test generation itself?...
    Forget the implementation for the moment. Don't think about it at all.

    What you need to do is figure out exactly what you need the site to be able to do. Not where or when, and certainly not how - that comes later.
    Spend a long time deciding what people will do on your site. Will they need to sign up? Usernames or email addresses? What will they need to create? What are the requirements for the test templates?
    How much control does a user need over the form? Just controlling the questions? The look and feel? The entire layout of the page?
    How do the tests work? Multiple choice? Entering numbers? Are they equations or word problems? Anything about geometry? Diagrams or illustrations?

    Imagine what you want the site to be. Then you can care about the technical aspects.

IMN logo majestic logo threadwatch logo seochat tools logo