Jan 202014
 

I’ve done more analysis of the first quarter of the Database Design quiz on the PL/SQL Challenge. This time I’ve had a look at the quiz survey results to see what did and didn’t like, whether or not the quizzes are too hard and what people want to see more or less of.

Here’s the figures:

select round(avg(rating), 2) rating_out_of_5
from   quizzes;

RATING_OUT_OF_5
---------------
           4.14

-- The degrees Culloden in Scotland is 
-- West of the Greenwich Meridian

-- The 3 highest rated quizzes
select * from (
  select quiz || ':' || player_rating
  from   quizzes
  order  by player_rating desc
)
where rownum <= 3;

QUIZ 
-----------------------------------------
Function-based indexes - 2013-11-29: 4.28
Entity Subtyping - 2013-11-08?: 4.27
Second Normal Form - 2013-10-25: 4.23

-- 3 lowest rated quizzes
select * from (
  select quiz || ':' || player_rating
  from   quizzes
  order  by player_rating
)
where rownum <= 3;

QUIZ 
----------------------------------------
Data Types - 2013-11-22: 3.92
Referential Integrity - 2013-11-15: 4.06
Normalization - 2013-12-20: 4.08

-- Which were the hardest quizzes? 
-- We have a tie!
select * from (
  select quiz || ':' || too_hard_count quiz
  from   quizzes
  order  by too_hard_count desc
)
where rownum <= 2;

QUIZ
----------------------------------
Unique Constraints - 2013-10-18: 3
Partitioning - 2013-12-27: 3

-- And for the easiest we have:
select * from (
  select quiz || ':' || too_easy_count
  from   quizzes
  order  by too_easy_count desc
)
where rownum <= 2;

QUIZ
---------------------------------
Data Types - 2013-11-22: 6
First Normal Form - 2013-12-06: 5

-- How well did players know the topics?
-- What did people not know before the quiz:
select * from (
  select quiz || ':' || didnt_know_count
  from   quizzes
  order  by didnt_know_count desc
)
where rownum <= 3;

QUIZ
---------------------------------------
Function-based indexes - 2013-11-29: 11
Partitioning - 2013-12-27: 7
Indexing nulls - 2013-11-01: 5

-- And what was very well known:
select * from (
  select quiz || ':' || very_well_count
  from   quizzes
  order  by very_well_count desc
)
where rownum <= 3;
QUIZ
-------------------------------------
Database constraints - 2013-10-11: 16
Primary keys - 2013-12-13: 13
First Normal Form - 2013-12-06: 11

-- Finally, when it comes to future quizzes, 
-- what do people what to see?
-- More quizzes please:
select * from (
  select quiz || ':' || more_quizzes_count
  from   quizzes
  order  by more_quizzes_count desc
)
where rownum <= 3;

QUIZ
-------------------------------------
Second Normal Form - 2013-10-25: 23
Indexing Nulls - 2013-11-01: 21
Database Constraints - 2013-10-11: 19

-- In general there aren't any topics people 
-- don't want to see more of. The maximum 
-- number of people selecting "One was enough" 
-- on a quiz is one - this has happened 6 times

Overall I’m happy with how it’s gone – and it seems in general players are too! Only one quiz has an average rating less than 4/5 :) I have to thank my reviewers – Andrew Wilson, Kent Graziano and Yuan Tschang for their excellent and invaluable feedback. Without their help I’m sure the feedback scores would be at least a bit lower…

I find the quantative stats interesting and useful when planning what to write quizzes on in the future. The raw numbers can hide some qualitative details though.

Which topics haven’t been covered that you would like to see quizzes on? Which quizzes/topics did you particularly like or dislike and why? If you’ve got any feedback then please share it. You can leave your thoughts in the comments or contact me directly – either way I’m keen to hear from you!

 Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

(required)

(required)