Skip to content

Commit 6da0797

Browse files
author
Jim Bennett
committed
Adding quiz, lesson templates, actions and structure
1 parent cd26612 commit 6da0797

36 files changed

+27758
-0
lines changed

.devcontainer/Dockerfile

+21
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
# See here for image contents: https://github.com/microsoft/vscode-dev-containers/tree/v0.203.0/containers/python-3/.devcontainer/base.Dockerfile
2+
3+
# [Choice] Python version (use -bullseye variants on local arm64/Apple Silicon): 3, 3.10, 3.9, 3.8, 3.7, 3.6, 3-bullseye, 3.10-bullseye, 3.9-bullseye, 3.8-bullseye, 3.7-bullseye, 3.6-bullseye, 3-buster, 3.10-buster, 3.9-buster, 3.8-buster, 3.7-buster, 3.6-buster
4+
ARG VARIANT="3.10-bullseye"
5+
FROM mcr.microsoft.com/vscode/devcontainers/python:0-${VARIANT}
6+
7+
# [Choice] Node.js version: none, lts/*, 16, 14, 12, 10
8+
ARG NODE_VERSION="none"
9+
RUN if [ "${NODE_VERSION}" != "none" ]; then su vscode -c "umask 0002 && . /usr/local/share/nvm/nvm.sh && nvm install ${NODE_VERSION} 2>&1"; fi
10+
11+
# [Optional] If your pip requirements rarely change, uncomment this section to add them to the image.
12+
# COPY requirements.txt /tmp/pip-tmp/
13+
# RUN pip3 --disable-pip-version-check --no-cache-dir install -r /tmp/pip-tmp/requirements.txt \
14+
# && rm -rf /tmp/pip-tmp
15+
16+
# [Optional] Uncomment this section to install additional OS packages.
17+
# RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \
18+
# && apt-get -y install --no-install-recommends <your-package-list-here>
19+
20+
# [Optional] Uncomment this line to install global node packages.
21+
# RUN su vscode -c "source /usr/local/share/nvm/nvm.sh && npm install -g <your-package-here>" 2>&1

.devcontainer/devcontainer.json

+50
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
// For format details, see https://aka.ms/devcontainer.json. For config options, see the README at:
2+
// https://github.com/microsoft/vscode-dev-containers/tree/v0.203.0/containers/python-3
3+
{
4+
"name": "Python 3",
5+
"runArgs": ["--init"],
6+
"build": {
7+
"dockerfile": "Dockerfile",
8+
"context": "..",
9+
"args": {
10+
// Update 'VARIANT' to pick a Python version: 3, 3.10, 3.9, 3.8, 3.7, 3.6
11+
// Append -bullseye or -buster to pin to an OS version.
12+
// Use -bullseye variants on local on arm64/Apple Silicon.
13+
"VARIANT": "3",
14+
// Options
15+
"NODE_VERSION": "none"
16+
}
17+
},
18+
19+
// Set *default* container specific settings.json values on container create.
20+
"settings": {
21+
"python.pythonPath": "/usr/local/bin/python",
22+
"python.languageServer": "Pylance",
23+
"python.linting.enabled": true,
24+
"python.linting.pylintEnabled": true,
25+
"python.formatting.autopep8Path": "/usr/local/py-utils/bin/autopep8",
26+
"python.formatting.blackPath": "/usr/local/py-utils/bin/black",
27+
"python.formatting.yapfPath": "/usr/local/py-utils/bin/yapf",
28+
"python.linting.banditPath": "/usr/local/py-utils/bin/bandit",
29+
"python.linting.flake8Path": "/usr/local/py-utils/bin/flake8",
30+
"python.linting.mypyPath": "/usr/local/py-utils/bin/mypy",
31+
"python.linting.pycodestylePath": "/usr/local/py-utils/bin/pycodestyle",
32+
"python.linting.pydocstylePath": "/usr/local/py-utils/bin/pydocstyle",
33+
"python.linting.pylintPath": "/usr/local/py-utils/bin/pylint"
34+
},
35+
36+
// Add the IDs of extensions you want installed when the container is created.
37+
"extensions": [
38+
"ms-python.python",
39+
"ms-python.vscode-pylance"
40+
],
41+
42+
// Use 'forwardPorts' to make a list of ports inside the container available locally.
43+
// "forwardPorts": [],
44+
45+
// Use 'postCreateCommand' to run commands after the container is created.
46+
// "postCreateCommand": "pip3 install --user -r requirements.txt",
47+
48+
// Comment out connect as root instead. More info: https://aka.ms/vscode-remote/containers/non-root.
49+
"remoteUser": "vscode"
50+
}

.github/ISSUE_TEMPLATE/bug_report.md

+38
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
---
2+
name: Bug report
3+
about: Create a report to help us improve
4+
title: ''
5+
labels: ''
6+
assignees: ''
7+
8+
---
9+
10+
**Describe the bug**
11+
A clear and concise description of what the bug is.
12+
13+
**To Reproduce**
14+
Steps to reproduce the behavior:
15+
1. Go to '...'
16+
2. Click on '....'
17+
3. Scroll down to '....'
18+
4. See error
19+
20+
**Expected behavior**
21+
A clear and concise description of what you expected to happen.
22+
23+
**Screenshots**
24+
If applicable, add screenshots to help explain your problem.
25+
26+
**Desktop (please complete the following information):**
27+
- OS: [e.g. iOS]
28+
- Browser [e.g. chrome, safari]
29+
- Version [e.g. 22]
30+
31+
**Smartphone (please complete the following information):**
32+
- Device: [e.g. iPhone6]
33+
- OS: [e.g. iOS8.1]
34+
- Browser [e.g. stock browser, safari]
35+
- Version [e.g. 22]
36+
37+
**Additional context**
38+
Add any other context about the problem here.
+20
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
---
2+
name: Feature request
3+
about: Suggest an idea for this project
4+
title: ''
5+
labels: ''
6+
assignees: ''
7+
8+
---
9+
10+
**Is your feature request related to a problem? Please describe.**
11+
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
12+
13+
**Describe the solution you'd like**
14+
A clear and concise description of what you want to happen.
15+
16+
**Describe alternatives you've considered**
17+
A clear and concise description of any alternative solutions or features you've considered.
18+
19+
**Additional context**
20+
Add any other context or screenshots about the feature request here.

.github/workflows/deploy-quiz-app.yml

+45
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
name: Azure Static Web Apps CI/CD
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
pull_request:
8+
types: [opened, synchronize, reopened, closed]
9+
branches:
10+
- main
11+
12+
jobs:
13+
build_and_deploy_job:
14+
if: github.event_name == 'push' || (github.event_name == 'pull_request' && github.event.action != 'closed')
15+
runs-on: ubuntu-latest
16+
name: Build and Deploy Job
17+
steps:
18+
- uses: actions/checkout@v2
19+
with:
20+
submodules: true
21+
- name: Build And Deploy
22+
id: builddeploy
23+
uses: Azure/static-web-apps-deploy@v1
24+
with:
25+
azure_static_web_apps_api_token: ${{ secrets.AZURE_STATIC_WEB_APPS_API_TOKEN }}
26+
repo_token: ${{ secrets.GITHUB_TOKEN }} # Used for Github integrations (i.e. PR comments)
27+
action: "upload"
28+
###### Repository/Build Configurations - These values can be configured to match your app requirements. ######
29+
# For more information regarding Static Web App workflow configurations, please visit: https://aka.ms/swaworkflowconfig
30+
app_location: "/quiz-app" # App source code path
31+
api_location: "" # Api source code path - optional
32+
output_location: "dist" # Built app content directory - optional
33+
###### End of Repository/Build Configurations ######
34+
35+
close_pull_request_job:
36+
if: github.event_name == 'pull_request' && github.event.action == 'closed'
37+
runs-on: ubuntu-latest
38+
name: Close Pull Request Job
39+
steps:
40+
- name: Close Pull Request
41+
id: closepullrequest
42+
uses: Azure/static-web-apps-deploy@v1
43+
with:
44+
azure_static_web_apps_api_token: ${{ secrets.AZURE_STATIC_WEB_APPS_API_TOKEN }}
45+
action: "close"

.github/workflows/lock.yml

+13
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
name: Lock closed issue
2+
3+
on:
4+
issues:
5+
types: [closed]
6+
7+
jobs:
8+
lock:
9+
runs-on: ubuntu-latest
10+
steps:
11+
- uses: OSDKDev/lock-issues@v1.1
12+
with:
13+
repo-token: "${{ secrets.GITHUB_TOKEN }}"

.github/workflows/stale.yml

+27
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
# This workflow warns and then closes issues and PRs that have had no activity for a specified amount of time.
2+
#
3+
# You can adjust the behavior by modifying this file.
4+
# For more information, see:
5+
# https://github.com/actions/stale
6+
name: Mark stale issues and pull requests
7+
8+
on:
9+
schedule:
10+
- cron: '35 8 * * *'
11+
12+
jobs:
13+
stale:
14+
15+
runs-on: ubuntu-latest
16+
permissions:
17+
issues: write
18+
pull-requests: write
19+
20+
steps:
21+
- uses: actions/stale@v3
22+
with:
23+
repo-token: ${{ secrets.GITHUB_TOKEN }}
24+
stale-issue-message: 'This issue has not seen any action for a while! Closing for now, but it can be reopened at a later date.'
25+
stale-pr-message: 'This PR has not seen any action for a while! Closing for now, but it can be reopened at a later date.'
26+
stale-issue-label: 'no-issue-activity'
27+
stale-pr-label: 'no-pr-activity'

.gitignore

+4
Original file line numberDiff line numberDiff line change
@@ -158,3 +158,7 @@ cython_debug/
158158
# and can be added to the global gitignore or merged into this file. For a more nuclear
159159
# option (not recommended) you can uncomment the following to ignore the entire idea folder.
160160
#.idea/
161+
162+
163+
164+
.DS_Store

CONTRIBUTING.md

+16
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
# Contributing
2+
3+
This project welcomes contributions and suggestions. Most contributions require you to
4+
agree to a Contributor License Agreement (CLA) declaring that you have the right to,
5+
and actually do, grant us the rights to use your contribution. For details, visit
6+
https://cla.microsoft.com.
7+
8+
> Important: when translating text in this repo, please ensure that you do not use machine translation. We will verify translations via the community, so please only volunteer for translations in languages where you are proficient.
9+
10+
When you submit a pull request, a CLA-bot will automatically determine whether you need
11+
to provide a CLA and decorate the PR appropriately (e.g., label, comment). Simply follow the
12+
instructions provided by the bot. You will only need to do this once across all repositories using our CLA.
13+
14+
This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/).
15+
For more information read the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/)
16+
or contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments.

for-teachers.md

+27
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
# For Educators
2+
3+
Would you like to use this curriculum in your classroom? Please feel free!
4+
5+
In fact, you can use it within GitHub itself by using GitHub Classroom.
6+
7+
To do that, fork this repo. You are going to need to create a repo for each lesson, so you're going to need to extract each folder into a separate repo. That way, [GitHub Classroom](https://classroom.github.com/classrooms) can pick up each lesson separately.
8+
9+
These [full instructions](https://github.blog/2020-03-18-set-up-your-digital-classroom-with-github-classroom/) will give you an idea how to set up your classroom.
10+
11+
## Recommended learning model
12+
13+
You can read more about a recommended learning model when teaching this curriculum in our [Recommended learning model guide](recommended-learning-model.md).
14+
15+
## Using the repo as is
16+
17+
If you would like to use this repo as it currently stands, without using GitHub Classroom, that can be done as well. You would need to communicate with your students which lesson to work through together.
18+
19+
In an online format (Zoom, Teams, or other) you might form breakout rooms for the quizzes, and mentor students to help them get ready to learn. Then invite students to for the quizzes and submit their answers as 'issues' at a certain time. You might do the same with assignments, if you want students to work collaboratively out in the open.
20+
21+
If you prefer a more private format, ask your students to fork the curriculum, lesson by lesson, to their own GitHub repos as private repos, and give you access. Then they can complete quizzes and assignments privately and submit them to you via issues on your classroom repo.
22+
23+
There are many ways to make this work in an online classroom format. Please let us know what works best for you!
24+
25+
## Please give us your thoughts!
26+
27+
We want to make this curriculum work for you and your students. Please give us [feedback](https://forms.microsoft.com/Pages/ResponsePage.aspx?id=v4j5cvGGr0GRqy180BHbR2humCsRZhxNuI79cm6n0hRUQzRVVU9VVlU5UlFLWTRLWlkyQUxORTg5WS4u).

lesson-template/README.md

+51
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
# [Lesson Topic]
2+
3+
![Embed a video here](video-url)
4+
5+
## [Pre-lecture quiz](quiz-url)
6+
7+
[Describe what we will learn]
8+
9+
### Introduction
10+
11+
Describe what will be covered
12+
13+
> Notes
14+
15+
### Prerequisite
16+
17+
What steps should have been covered before this lesson?
18+
19+
### Preparation
20+
21+
Preparatory steps to start this lesson
22+
23+
---
24+
25+
[Step through content in blocks]
26+
27+
## [Topic 1]
28+
29+
### Task:
30+
31+
Work together to progressively enhance your codebase to build the project with shared code:
32+
33+
```html
34+
code blocks
35+
```
36+
37+
✅ Knowledge Check - use this moment to stretch students' knowledge with open questions
38+
39+
## [Topic 2]
40+
41+
## [Topic 3]
42+
43+
🚀 Challenge: Add a challenge for students to work on collaboratively in class to enhance the project
44+
45+
Optional: add a screenshot of the completed lesson's UI if appropriate
46+
47+
## [Post-lecture quiz](quiz-url)
48+
49+
## Review & Self Study
50+
51+
**Assignment Due [MM/YY]**: [Assignment Name](assignment.md)

lesson-template/assignment.md

+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
# [Assignment Name]
2+
3+
## Instructions
4+
5+
## Rubric
6+
7+
| Criteria | Exemplary | Adequate | Needs Improvement |
8+
| -------- | --------- | -------- | ----------------- |
9+
| | | | |
+51
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
# [Tema de la lección]
2+
3+
![Embeba un video aquí](video-url)
4+
5+
## [Quiz pre-sesión](quiz-url)
6+
7+
[Describa qué aprenderemos]
8+
9+
### Introducción
10+
11+
Describa qué cubriremos
12+
13+
> Notas
14+
15+
### Prerrequisitos
16+
17+
¿Qué temas deberían haberse cubierto antes de esta lección?
18+
19+
### Preparación
20+
21+
Pasos preliminares para empezar esta lección
22+
23+
---
24+
25+
[Organice su contenido en bloques]
26+
27+
## [Tema 1]
28+
29+
### Tarea:
30+
31+
Trabaje en equipo para perfeccionar progresivamente su base de código para construir el proyecto con código compartido:
32+
33+
```html
34+
bloques de código
35+
```
36+
37+
✅ Prueba de conocimiento - use este momento para desafiar el conocimiento de sus estudiantes con preguntas abiertas
38+
39+
## [Tema 2]
40+
41+
## [Tema 3]
42+
43+
🚀 Reto: Proponga un reto para que los estudiantes trabajen colaborativamente en clase para perfeccionar el proyecto
44+
45+
Opcional: Si se requiere, agregue una captura de pantalla del UI de la lección completa
46+
47+
## [Quiz post-sesión](quiz-url)
48+
49+
## Revisión & Aprendizaje autónomo
50+
51+
**FECHA DE ENTREGA [MM/AA]**: [Nombre de la tarea](tarea.md)

0 commit comments

Comments
 (0)