SQL Proficiency test

  • From: Stéphane Faroult <sfaroult@xxxxxxxxxxxx>
  • To: ORACLE-L <oracle-l@xxxxxxxxxxxxx>
  • Date: Wed, 09 Apr 2014 12:17:42 +0200

Folks,

   I'm more and more involved in database education, and one of the
things I feel much concerned by is the correct assessment of what people
learn and of their ability with SQL. It's easy to build a MOOC with a
video watched by 5,000 people, much less easy to grade 5,000 papers
(going to have 150 to grade before one month ...). I have a very limited
confidence in multiple choice questions as an assessment tool, and I
have tried to do something better. So far, what I have found best on the
web is what Gordon Russell did at http://sqlzoo.net; I have read his
papers with Andrew Cummings, and I think one can improve on what they
have done. If I expect a query to be select a, b from t where cond, I
don't want to count select b, a from t where cond order by c as wrong to
take just a simple example.
I have been therefore standing on the shoulders of Russell and Cummings.
I am checking a lot of things (even whether people are cheating), but
not that the text of the submitted query exactly matches my solution.
I also want to put people in realistic conditions, where you don't have
everything wrong because of a tpyo, where you can try queries, check
results against data, and only submit when you think it's correct. I
don't want people to be stressed by time because I teach my students to
build their queries bit by bit, layer by layer.

  I have a working prototype and I found nothing better to validate my
algorithms than to publish a kind of game, an "SQL Challenge" at
http://edu.konagora.com/SQLchallenge.php. It's not something as
complicated as the SQL competitions organized by the NoCOUG :-). There
are three levels, the queries to write in the two first levels are
pretty straightforward (but for a few banana skins), the last level is a
bit tougher. If some of you want to play with it, I'd greatly appreciate
feedback (off-list), especially about grading as it's the main purpose.

Some of you might also find this useful for technical interviews, and
checking that an applicant's claims are matching his or her abilities.

Sample database and questions could be easily changed on a regular
basis, the most difficult is finding suitable ideas ...

Now, integrating all this into Blackboard/Moodle/... will be another fun
part.

Hope that some of you will enjoy it ...

-- 
Stéphane Faroult
RoughSea Ltd <http://www.roughsea.com>
Konagora <http://www.konagora.com>
RoughSea Channel on Youtube <http://www.youtube.com/user/roughsealtd>
Author, SQL Success
<http://www.amazon.com/SQL-Success-Database-Programming-Proficiency/dp/1909765007/>,
The Art of SQL
<http://www.amazon.com/Art-SQL-Stephane-Faroult/dp/0596008945/>,
Refactoring SQL Applications
<http://www.amazon.com/Refactoring-SQL-Applications-Stephane-Faroult/dp/0596514972/>

Other related posts: