I am programming an app that consist in 180 mineral sheets of interest for geology students.

My database have the following fileds:

  • Identifier
  • Name
  • Name 2
  • Type
  • Class
  • Formula
  • System
  • Environment1
  • Environment2
  • Environment3
  • Environment4
  • Environment5
  • Habit
  • Color
  • Diaphaneity
  • Luster
  • Streak
  • Density
  • Hardness
  • Cleavage
  • Fracture

For example the entry for golds look like:

INSERT INTO MINE180 VALUES('1','gold','gold','Non sillicates.','Native Elements.','Au','Cubic.','Hydrothermal: Associated to quartz veins.','Sedimentary: Placers.','Magmatic: IOCG deposits.','','','Octaedrical crystals.','Characteristic yellow.','Opaque.','Metallic.','Characteristic yellow.','19.3','2.5-3','---','Splintered, jagged.');

I am going to generate questions such as:

Wich mineral belongs to inosillicates class?

a) Calcosine

b) Augite

c) Quartz

d) Pirope

I can generate questions from all the fields ot the database but I don't think questions about physical-chemical properties are of use for the students. Unless density or hardness maybe.

What fields would you use to generate the questions that the students of geology and minning are going to check?


1 Answer 1


I guess you'll mostly get opinions here, which means your question is probably not the greatest fit for Stack Exchange, but FWIW here's my opinion, take it or leave it.

You may have thought about this already, but fair and useful quizzes have features including:

  • They mainly ask about important things, to check the big concepts. A student might know that augite is a pyroxene, for example, or that pyroxenes and amphiboles are related families of silicates, but I wouldn't expect many to know that augite is an inosilicate. That just feels like something I can look up in a book if I ever need to know it.
  • Tricky concepts are tested several times by asking various different questions about the same ideas.
  • Start with easier questions, end with harder ones.
  • The answer alternatives must reflect the kinds of mistakes students typically make.
  • Correct answers are backed up or reinforced, and incorrect answers are explained.

Some thoughts about what this means for your app:

  • Generating random questions from SQL queries will not, by itself, produce a fair or useful quiz.
  • Maybe you should add a field like 'knowledge level' with values like 'beginner' and 'expert' to your database. Then you can ask beginners about quartz and gold, and experts about aegerine and spessartine.
  • Use fields like TYPE to form simplified super-groups, like 'silicates'. Then, for instance, you can ask about silicates vs non-silicates early on, and narrow down to different families of silicates later on, or in a harder quiz.
  • Knowing a few formulas, or looking for SiO2 in a silicate, is a reasonable expectation. So you could ask about forumlas, but only when the formula is less than a few characters long (say).

You should also know that the spellings 'pirope' (pyrope), 'calcosine' (chalcosine) and 'sillicate' (silicate) are not standard. I'm not an expert; maybe they are legitimate variants, but I don't remember seeing them before. And I wouldn't call gold a 'non-silicate', because it's also a non-oxide and a non-carbonate; it's a metal.

Last thing: pictures feel like a must-have for this app.

  • $\begingroup$ Thanks for the answer. As for the spellings my fault. I have the correct names in the english database, but I am working only with spanish database while programming the app (still not multilanguage) and I translated badly while writting in SE. $\endgroup$
    – user20559
    Commented Nov 5, 2021 at 16:47
  • $\begingroup$ The app has a picture for each mineral, but I only store the name and gold file for example is gold.png (I can load it with the name). $\endgroup$
    – user20559
    Commented Nov 5, 2021 at 16:49
  • $\begingroup$ Sounds like you're on top of things! Good luck with it! $\endgroup$
    – Matt Hall
    Commented Nov 5, 2021 at 19:11

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.