-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Writing Standards and Assessments
Standards are skills you want people to have at the end of a series of learning experiences, such as reading articles, doing exercises, watching videos, or having discussions. They allow Enkibot to show reports about what learners might need help with to their mentor. They also help us provide users with a map of skills to work on.
Here's an example of standards for Docker, written in Enki Content Format.
standards:
identify-docker:
name: Identify the purpose, uses, and main components of Docker
description: This standard covers identifying what Docker is used for, where in the stack Docker resides, it's purpose in an organization, and the role of the major components.
objectives:
0: Identify the role of Docker
1: Distinguish the major components of docker and explain their purpose
dockerfiles:
name: Write Dockerfiles to encapsulate the build process of an application
description: This standard covers writing Dockerfiles, their syntax, the usage of the different components of the dockerfile, and automation within dockerfiles, and the accurate translation of build processes.
objectives:
0: Identify and Analyze the syntax of Dockerfiles
1: Configure a Dockerfile with an image from the Docker Image Repository
2: Configure a Dockerfile with an image from a private repository
3: Configure a Dockerfile to accept Arguments
4: Add execution steps to a Dockerfile
5: Move files using a Dockerfile command
5: Expose ports within a Dockerfile
6: Use environment variables within a Dockerfile
7: Use Docker commands to execute the installation steps of an application
8: Translate the build of an existing application with build documentation into a Dockerfile
9: Use a Dockerfile to configure the migration of schema to the database server from a pre-built image
10: Use a Dockerfile to add data to a database server from a data source
11: Use Docker to containerize and run batch processes
run-docker:
name: Use Docker to build and run applications
description: This standard covers using the Docker CLI and other tools to build and run docker images
objectives:
0: Use a Dockerfile to build an image
1: Run an image in a container
2: Run an image in multiple containers
3: Use environment variables to run a container in different deploy phases
4: Use labels to distinguish between environments
continuous-integration:
name: Use a Continuous Integration (CI) tool with Docker to automate the deploy process
description: This standard deals with building and sending docker images to a cloud service using a continuous integration platform.
objectives:
0: Use Docker with a Continuous Integration tool to automate test runs
1: Use Docker and a Continuous Integration tool to automate the deploy process
kubernetes:
name: Use Kubernetes to define the parameters of an application topology
description: This standard deals with configuration of deploys using Kubernetes to orchastrate containers
objectives:
0: Use Kubernetes pod monitoring commands to check the health and other attributes of a pod
1: Use Kubernetes to label pods and and operate on a group of pods with the same label
2: Use Docker to build and run a container locally using Minikube
deploy-kubernetes:
name: Use Kubernetes to deploy an application to a cloud hosting provider
description: This standard deals with configuring kuberenetes to deploy with a cloud hosting provider
deploy-kubernetes-google-cloud:
name: Use Kubernetes to deploy to Google Cloud
description: This standard deals specifically with deploying to Google Cloud, using Kubernetes
objectives:
1: Identify kubernetes control interface elements in the google developer console
0: Use Google Cloud to deploy kubernetes pods to Google Kubernetes Engine cluster
deploy-kubernetes-aws:
name: Use Kubernetes to deploy to Amazon Web Services (AWS)
description: This standard deals specifically with deploying to Google Cloud, using Kubernetes
objectives:
1: Identify kubernetes control interface elements in the aws developer console
0: Use AWS to deploy kubernetes pods to AWS Kubernetes Engine cluster
Abstractly, here's what it looks like:
standards:
standard-slug:
name: This is the standard's name
description: This is the detailed description of what goes into the standard.
objectives:
0: create an ordered list
1: name all of the things you want covered in the standard
2: add objectives about interstitial learning steps to cover
3: also add higher-level objectives towards the end that are more advanced than the first few
another-slug:
name: This is the standard's name
description: This is the detailed description of what goes into the standard.
objectives:
0: create an ordered list
1: name all of the things you want covered in the standard
2: add objectives about interstitial learning steps to cover
3: also add higher-level objectives towards the end that are more advanced than the first few
Now that you've outlined your goals, you can tag all of the exercises and insights that map to those goals.
Here's an example of an insight that has been tagged with the javascript standards:
---
author: alexjmackey
levels:
- beginner
type: normal
category: must-know
inAlgoPool: false
standards:
javascript.data-types-structures.2: 10
javascript.evaluate-expressions.6: 10
javascript.data-types-structures.3: 10
javascript.data-types-structures.5: 10
tags:
- introduction
---
# Arrays
---
## Content
... content here ...
---
## Practice
How would you get the last value in the `myArray` array?
`β``
var myLength = myArray.???
var last = ???[??? ???];
`β``
* `length`
* `myArray`
* `myLength`
* `-1`
* `+0`
* `+1`
* `array`
* `[0]`
* `.getLast`
* `.tail`
---
## Revision
Fill the gaps such that you get the first element of `enkiArray`:
`β``
var enkiArray = [1, 2, 3];
var firstElement = ??????;
`β``
* `enkiArray`
* `[0]`
* `[1]`
* `array`
* `getLast()`
* `getFirst()`
* `push`
* `pop`
---
## Quiz
### what is the length of the array below?
`β``javascript
let arr = [,,,]
console.log(arr.length)
`β``
???
* 3
* 4
* 0
* 1
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: