-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Exercise Documentation
An exercise is an assessment of standards previously covered by Insights. Exercises often link out to an external resource, such as CodeWars, SQLFiddle, or Glitch. They can link anywhere, and users will turn in evidence that they completed the exercise, with an optional auto-graded "answer" section that can test whether or not users performed the exercise without human intervention.
Exercises are broken down into two sections: YAML and Markdown
The YAML section of an exercise is contained between two breaks (---
) at the top of the document. This contains the definitions needed for our system to link the user to the exercise and process it.
This field should specify the username of the user creating the exercise.
The author is specified by the following line:
author: catalin
For exercises, this field should be set to exercise
.
This field should look like:
type: exercise
A Topic's standards represent major concepts within the topic that the user should understand. These standards are broken down into more granular ideas as Objectives (See Standards Repo for a comprehensive list of standards). All content should have an associated standard.
Standards are defined with the following syntax:
<topic>.<standard>.<objective #>: <points value>
This exercises, Double and single quotes, is associated with the 2nd
objective of the javascript-syntax
standard in the js
topic, so it will list js.javascript-syntax.2
as one of its standards.
Exercises should generally be given point values in the 1000+ range, as they represent more verifiable evidence that the user is able to perform against the given objective.
Points are a great way to weight content within a standard.
As a general rule, Exercises and other authentic coding assessments are worth 1000 points.
Include an answer
property if the user is expected to validate that they performed the exercise via text. Very useful for checking whether or not the user performed a query, or found an average. Answers should always be strings, and can be JavaScript-flavored RegEx, if enclosed in /
es.
Example:
answer: 42
Regex Example:
answer: /(console)?\.log/
Not to be confused with links
, an Exercise's link designates where a user should be sent to in order to assess their skills (ex. SQLFiddle, Codewars, Nodeschool). Link
must always be a hyperlink.
An exercise's link will look like this:
link: https://www.codewars.com/kata/58113a64e10b53ec36000293
linkType
specifies the source of the link
property. Link Type is a plaintext property that should be all lowercase with no spaces.
Example
linkType: codewars
Valid LinkTypes include:
-
codewars
- Code wars links can be automatically checked if users provide their codewars API key. Do not specify ananswer
if Code Wars is used. -
sqlfiddle
- SQLFiddle links generate a URL when users modify and run them that we can check is unique -
codepen
- Codepen links generate a new URL when users modify and run them, that we can check is unique -
glitch
- Glitch links generate a new URL when users fork them, that we can check is unique -
circle
- Public Github repositories can include a circle.yml file that will allow us to check whether a test suite has passed remotely. -
website
- Catch-all, for exercises that don't have a particular check mechanism. (eg, pgexercises.com)
The Links field is where you can put additional resources. You must include at least one. These links should include:
- When possible, link to canonical documentation
- Link to a walkthrough or overview article that goes into depth
- Link to a free course or book that covers the information in the insight
To attach links, the following format must be used:
links:
- '[facebook.github.io](https://facebook.github.io/react/tips/false-in-jsx.html){website}'
// - >-
// [short-name](full-url){resource-type}
The following options are available for resource-type
key | resource-type | emoji |
---|---|---|
website |
Catch-all for any resource not otherwise specified | π |
video |
Video resource exploring the topic | π₯ |
documentation |
Official docs, including MDN | π |
article |
An article that discusses the application of a subject (i.e. tutorial) | π |
discussion |
An online thread related to the subject (StackOverflow) | π¬ |
Titles are Mandatory.
The title should indicate to the user what the Article and Questions cover.
It must be between 4
and 120
characters long. The title can use code blocks
inside it.
Title must be placed after the YAML section,preceeded by a #
.
Instructions are what will be served to the user on platforms such as Slack. With these instructions in hand, the user will open the given link to the platform.
Note: Instructions on how to operate a 3rd party platform such as CodeWars or SQLFiddle should be given sparingly. Only do so in the first few exercises a user will see. Exercises will be served with a broad overview on how to operate a 3rd party, as a presentation concern. Designing exercises to work on a single service (i.e. Slack) is also ill-advised, as it will only cost us as we branch out to different services.
---
author: SebaRaba
levels:
- beginner
- basic
tags:
- introduction
- workout
type: exercise
linkType: sqlfiddle
link: http://sqlfiddle.com/#!9/315b7c/1
answer: 100
standards:
sql.read-single-table.0: 1000
sql.read-single-table.1: 1000
links:
- '[MySQL SELECT documentation](https://dev.mysql.com/doc/mysql-tutorial-excerpt/5.6/en/selecting-rows.html){documentation}'
- '[blog post tutorial on SELECT](http://www.dofactory.com/sql/select){website}'
- '[video tutorial on MySQL SELECT](https://www.youtube.com/watch?v=BgK88mlgA6I){video}'
---
# SQL Practice Select
---
## Exercise
Click *Launch Exercise* to open SQLFiddle. Run *Build Schema*. This creates and populates the Pokemon database.
In the right-hand window, write a SQL query that answers the following question:
What is the `accuracy` of the move having `id` equal to 10?
Want to contribute to this wiki? Go right ahead! If it has to do with how the Enki software ecosystem works, or editorial guidelines for how to write, let us handle that. Anything else, edit away!
Curriculum Format:
- Topic Documentation
- Course Documentation
- Workout Documentation
- Insight Documentation
- Glossary Documentation
Contributor Resources:
Curriculum overview:
Topic pages: