-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Exercise Documentation
An exercises is an assessment of standards previously covered by Insights. Exercises are broken down into two sections: YAML and Markdown
The YAML section of a exercises is contained between two breaks (---
) at the top of the document. Once it enters the system, the YAML section will be parsed as key-value pairs, in a JSON object.
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.
Points are a great way to weight content within a standard.
As a general rule, Exercises and other assessment are worth 1000 points.
Include an answer
property if the user is expected to respond to the bot via text. Answers should always be strings.
Example:
answer: 42
Not to be confused with links
, an Exercise's link designates where a user should be set 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: http://www.enki.com/
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. 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: