Impulsion
Quand j’étais data scientist à Quora, on m’a demandé des ressources pour apprendre SQL. J’ai eu du mal à trouver quelque chose que je supportais parce que j’ai pensé qu’une bonne ressource devrait être gratuite, ne nécessite pas d’inscription et se soucie de pédagogie—elle devrait sincèrement se soucier de ses utilisateurs et ça n’existait pas.
En surmontant quelques obstacles techniques mineurs, je crois que Select Star SQL a atteint ce standard. J’espère que comme Learn You a Haskell for Great Good! et Beautiful Racket ont fait pour Haskell et Racket, Select Star SQL deviendra le meilleur endroit sur internet pour l’apprentissage de SQL.
Pédagogie
Ces principes ont guidé la conception de ce projet :
-
La meilleure façon d’apprendre la programmation est en programmant.
Une grande proportion de ces matériaux construit des exercices et ils devraient occuper la plupart de votre temps. -
Les exercices devraient être réalistes et substantifs.
Pour citer Alan Kay Alan Kay : « Vous ne laissez jamais [l’apprenant] faire quelque chose qui n’est pas authentique—mais vous devrez trimer pour comprendre quelles sont les choses authentiques dans le contexte de sa compréhension à ce niveau d’apprentissage. »De même, on a dessiné les exercices à introduire les techniques de plus en plus sophistiqués et en même temps explore l’ensemble de données d’une manière qui intéresse réellement les gens.
-
Apprendre la programmation, c’est apprendre un modèle mental.
but n’est pas d'apprendre les règles sur l’utilisation deGROUP BY
ou quand choisir unLEFT JOIN
sur unINNER JOIN
. Nous savons que nous avons réussi si après vous pouvez fermer les yeux et imaginer ce que l’ordinateur fait et quelle sortie il donnerait. Alors seulement vous pouvez résoudre les problèmes pratiques avec SQL.
Jeu de données
Notre jeu de donnees documentent les détenus du couloir de la mort au Texas de 1976 (quand lorsque la Cour suprême a reinstaté la peine capitale) au present. On l’a extrait du site de Texas Department of Criminal Justice utilisant des moyens automatiques lorsque cela est possible. Cependant, une grande partie des données antérieures à 1995 est seulement disponible comme les images de documents physiques ceux qui ont nécessité une extraction manuelle minutieuse.
Les données brutes sont disponibles en format csv à télécharger. En raison de l’extraction manuelle et du nettoyage qui a été fait, c’est probablement le plus complet ensemble de données sur les condamnés à mort au Texas sur internet. Vous pouvez également explorer un sous-ensemble de ce que j’ai préparé pour ce livre :
D’une part, les données sont simplement une partie d’un manuel de programmation banal. Sur un autre, chaque ligne représente une immense souffrance, des vies perdues et dans certains cas une rédemption et une acceptation étonnantes. En préparant ce jeu de données, certaines d’énoncé m’a ému profondément et je me trouvais à réévaluer ma position sur la peine capitale. J’espère que vous aussi réfléchirez à des questions plus profondes en jeu pendant notre examen des données.
Aspects techniques
-
Les jeux de données client-side. L’un des défis pendant la réalisation de ce site était l'évitement de player pour l’hébergement web. En général, on devrait l'héberger et payer pour un back-end pour donner aux utilisateurs une expérience pratique avec une base de données (voir Pédagogie). Heureusement, il existe des bases de données client-side. Ils me permettent d’utiliser l’hébergement de pages statiques gratuit sur Github Pages où les pages exécutent la base de données SQLite sur votre navigateur. Alon Zakai et d’autres ont rendu cela possible en portant le code SQLite C dans Javascript avec Emscripten.
-
Matthew Butterick. J’ai rencontré Matthew à Racket Summer School et j’ai été très impressionné par le travail qu’il a fait sur Beautiful Racket et Practical Typography. Peut-être que ça se voit que j’ai emprunté beaucoup d'idées de conception de lui.
-
Jekyll. Si ce n’était pas pour Jekyll, j’aurais fait tout le html à la main. Dieu merci pour Jekyll.
-
Web Components. Je pourrais réutiliser beaucoup de code en écrivant les exercices et les composant des quiz en tant que balises html personnalisées. Il s’agit d’un développement relativement nouveau à ma connaissance et j'espère que le W3C continuera de pousser pour l’adoption plus large.
Crédits et contacts
Pour les corrections et suggestions, s’il vous plaît écrivez-moi (Kao) à zichongkao@gmail.com. Vous pouvez en apprendre plus sur moi à Kaomorphism.
Noam Castel et Jowan Vogel ont fait un travail remarquable sur les traductions en hébreu et en néerlandais translations. Veuillez communiquer avec eux pour donner des compliments et des suggestions, ou si vous êtes intéressé à le traduire dans d’autres langues.
Beaucoup de remerciements à Sonja Lea Heinze, Quinn Batten et Nicholas Retallack pour leur précieux retour d’information.