Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions common-content/en/module/checkpoint/_index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
+++
title="Checkpoint"
description="Content for the checkpoint, basically hackathons"
layout="block-viewer"
hide_from_overview="true"
noindex="true"
+++
Original file line number Diff line number Diff line change
Expand Up @@ -3,18 +3,18 @@ title="Entry Criteria"
time=2
hide_from_overview=true
objectives = [
"List the mandatory requirements for the Piscine.",
"Apply to join the Piscine."
"List the mandatory requirements for the Checkpoint.",
"Apply to join the Checkpoint."
]
[build]
render = 'never'
list = 'local'
publishResources = false
+++

## Welcome to the Piscine.
## Welcome to the Checkpoint.

You must **apply** to join the Piscine. If you meet the eligibility criteria, you will be invited to join the next run of this module.
You must **apply** to join the Checkpoint. If you meet the eligibility criteria, you will be invited to join the next run of this module.

EMBED APPLICATION FORM HERE

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ The success criteria is listed on the end of sprint review page. Read it careful

Your interviewer will expect you to have a secure understanding of:

- All of the projects you have worked on during the Piscine, including the code other people wrote
- All of the projects you have worked on during the Checkpoint, including the code other people wrote
- Professional English at a B2 level
- A limited subset of JavaScript concepts at a junior level

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ After the demo, the group will give you feedback for up to 5 minutes. It's smart

### 3. Assessment {{<timer>}}1{{</timer>}}

The person running the session (either a member of staff or a volunteer) will assess your demo against the rubric below, give you feedback and let you know your score. You need to score at least **5 out of 6** to pass the demo, and you must pass **at least 1** demo across the Piscine.
The person running the session (either a member of staff or a volunteer) will assess your demo against the rubric below, give you feedback and let you know your score. You need to score at least **5 out of 6** to pass the demo, and you must pass **at least 1** demo across the Checkpoint.

## 💡 Tips:

Expand Down
27 changes: 27 additions & 0 deletions common-content/en/module/checkpoint/development/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
+++
title="Team Development"
time=120
tasks = [
"Create a strategy for implementing an application based on a set of user stories.",
"Interpret business requirements and express them as test cases.",
"Design interactions with a provided data set.",
"Open a pull request and iterate on it in response to feedback."]
[[blocks.nested.blocks]]
name="Pomodoro"
src="module/checkpoint/pomodoro"
[[blocks.nested.blocks]]
name="Blockers"
src="module/checkpoint/blockers"
[[blocks.nested.blocks]]
name="Pair Programming"
src="module/checkpoint/pairing"
[build]
render = 'never'
list = 'local'
publishResources = false

+++

This time is set aside for you to work together as a team to make progress on your project.

Remember: At your interview, you may be asked about _any_ code in your project, not just the code you wrote. You need to understand and be able to explain the code your team mates wrote. Make sure you read their code, review it, and talk to them about it.
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
title="Expectations"
time=5
objectives = [
"List the expectations of the Piscine."
"List the expectations of the Checkpoint."
]
hide_from_overview="true"
[build]
Expand Down Expand Up @@ -33,7 +33,7 @@ hide_from_overview="true"
- Do the prep.

{{<multiple-choice
question="How long is the Piscine?"
question="How long is the Checkpoint?"
answers="22 days | 12 weeks | 3 weeks "
feedback="Right! The Piscine has 3 working weeks and one assessment day, making 22 days in total. | The SDC is 12 weeks, but the Piscine is shorter | The Piscine is 3 weeks long, but there are 22 days in total including the assessment day."
feedback="Right! The Checkpoint has 3 working weeks and one assessment day, making 22 days in total. | The SDC is 12 weeks, but the Checkpoint is shorter | The Checkpoint is 3 weeks long, but there are 22 days in total including the assessment day."
correct="0" >}}
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,15 @@ title="Goals"
time=2
hide_from_overview=true
objectives = [
"List the core goals of the Piscine."
"List the core goals of the Checkpoint."
]
[build]
render = 'never'
list = 'local'
publishResources = false
+++

## Welcome to the Piscine.
## Welcome to the Checkpoint.

Your goal is to build two group projects and one solo project over the next 22 days. For each project, your goal is to:

Expand All @@ -24,4 +24,4 @@ _Our_ goal is to find people who are ready to train in the Software Development
- 🎯 Write simple code independently.
- 🎯 Explain your work to others in English.

These are the core goals of the Piscine.
These are the core goals of the Checkpoint.
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ will be provided

{{<multiple-choice
question="Who will help you with your blockers?"
answers="Nobody, I must do everything myself | Only volunteers can help me | We all help each other in the Piscine"
answers="Nobody, I must do everything myself | Only volunteers can help me | We all help each other in the Checkpoint"
feedback="No, we work in teams. | No, your team can help you too. | Yes, a good developer builds understanding by asking and answering good questions."
correct="2" >}}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,12 @@ time=15
publishResources = false
+++

Welcome to the Piscine.
Welcome to the Checkpoint.

Before you came to class today, you should have completed the prep and attended a briefing session. If you haven't done these things, it's time to leave. Thanks, and try again next time.

If you have done the prep, you're in the right place. Please make sure you have signed the register. Sign it as soon as you come in. The register isn't just for attendance rules; we need to know who is in the building if there's a fire, so please don't sign in for anyone else.

Today you will kick off your first team project. Everyone will also give a demo about something they did before the Piscine. At the end of the day, we will wrap and people are welcome to stick around to socialise.
Today you will kick off your first team project. Everyone will also give a demo about something they did before the Checkpoint. At the end of the day, we will wrap and people are welcome to stick around to socialise.

But first, let's get to know each other. Stand up and find someone you don't know. Introduce yourself and tell them one thing you are looking forward to learning in the Piscine.
But first, let's get to know each other. Stand up and find someone you don't know. Introduce yourself and tell them one thing you are looking forward to learning in the Checkpoint.
Original file line number Diff line number Diff line change
Expand Up @@ -7,15 +7,15 @@ time = 5
publishResources = false
+++

The goal of the Piscine is to assess trainees' current knowledge. We are _not_ aiming to teach them any new skills. To be fair, we need to give everyone the same level of support, and we have set that same level at none.
The goal of the Checkpoint is to assess trainees' current knowledge. We are _not_ aiming to teach them any new skills. To be fair, we need to give everyone the same level of support, and we have set that same level at none.

As a **facilitator**, your goal is _not_ to help the trainees with their projects. It is to unblock any logistic problems people run into with the course.

As an **assessor**, your goal is to provide meaningful feedback to help the trainees to grow. For demos, we provide this feedback after each demo. For projects, we provide this feedback after the interview is complete.

If you feel a rubric clarification is needed, coordinate with the other assessors before providing this clarification. We need to make sure everyone gets the same clarification.

Below is a list of learning objectives that are not currently taught in ITP, and how we handle them in the Piscine:
Below is a list of learning objectives that are not currently taught in ITP, and how we handle them in the Checkpoint:

| Learning Objective | How we handle it |
| -------------------|------------------|
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ time = 5
publishResources = false
+++

The last assessment in the Piscine is an interview. The key goals of the interview are:
The last assessment in the Checkpoint is an interview. The key goals of the interview are:
* Verify that the trainee actually understands the code they've submitted. If they produced it with ChatGPT and can't explain it, they need to focus on code understanding before proceeding.
* Verify that the trainee can discuss code and technical ideas. This is similar to what demos are assessing, but in a more interactive scenario. This is an important skill to get a job.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ You will be asked to join a video call for your technical interview. We use an i
## What to expect

- The interview will be 15 minutes long
- You will be asked to discuss a feature from a project you have worked on during the Piscine.
- You will be asked to discuss a feature from a project you have worked on during the Checkpoint.
- You may have written this feature yourself, or it may have been written by someone else in your group.
- You will be asked to share your screen. You must be able to share your screen within 60 seconds of being asked. You will have an opportunity to practice using the interview platform before the interview day.
- You should be ready to share your screen and talk about any of your projects. We recommend you have all of your projects open in VS Code and a web browser before starting the interview, so you can easily switch to one.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ The big insight we're looking to drive here is that agreeing a data format in ad
</details>

<!--
TODO: The Piscine is meant to be pure evaluation with no teaching.
Ideally ITP would provide this experience so we wouldn't need to teach it in the Piscine.
TODO: The Checkpoint is meant to be pure evaluation with no teaching.
Ideally ITP would provide this experience so we wouldn't need to teach it in the Checkpoint.
But right now ITP doesn't teach these skills, so we fill that gap so we're not testing people on things they don't know.
-->
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
+++
title = "Pre-Piscine Briefing"
title = "Pre-Checkpoint Briefing"
time = 5
[build]
render = "never"
list = "local"
publishResources = false
+++

Before the Piscine starts, there will be a meeting to brief you on how the Piscine works, and answer any questions.
Before the Checkpoint starts, there will be a meeting to brief you on how the Checkpoint works, and answer any questions.

You will be notified on Slack when this meeting will be.

Expand All @@ -20,7 +20,7 @@ Make sure you attend the meeting.
## For volunteers

Make sure everyone knows:
* What the schedule of the Piscine is. When are people expected where?
* What the schedule of the Checkpoint is. When are people expected where?
* What people should do before the first session.
* What's expected of trainees in the first session, and in the first week.
* How trainees should be working as a team.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,10 @@ hide_from_overview="true"
publishResources = false
+++

Double-check you have everything you need to start the Piscine.
Double-check you have everything you need to start the Checkpoint.

- [ ] You have applied to the Piscine and received an enrollment email
- [ ] You have joined the CYF Slack where the Piscine is hosted, and filled out your profile
- [ ] You have applied to the Checkpoint and received an enrollment email
- [ ] You have joined the CYF Slack where the Checkpoint is hosted, and filled out your profile
- [ ] You have a suitable laptop and internet access
- [ ] You have organised childcare if you need it
- [ ] You have signed the Code of Conduct
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@ title="Programming Prerequisites"
time=15
hide_from_overview=true
tasks = [
"List the limited subset of JavaScript concepts we expect you to know before joining the Piscine",
"List the limited subset of Git commands we expect you to know before joining the Piscine"
"List the limited subset of JavaScript concepts we expect you to know before joining the Checkpoint",
"List the limited subset of Git commands we expect you to know before joining the Checkpoint"
]
[build]
render = 'never'
Expand All @@ -14,7 +14,7 @@ tasks = [

### Check your understanding.

_Before_ you join the Piscine, you should have a secure understanding of a _limited subset_ of programming concepts at a junior level. The projects, activities, and interviews are designed for people who have a working knowledge of the following foundational concepts:
_Before_ you join the Checkpoint, you should have a secure understanding of a _limited subset_ of programming concepts at a junior level. The projects, activities, and interviews are designed for people who have a working knowledge of the following foundational concepts:

### JavaScript fundamentals

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,22 +2,22 @@
title = "Project Submission"
time = 5
objectives = [
"Describe how a Piscine project should be submitted.",
"Describe how a Checkpoint project should be submitted.",
]
[build]
render = "never"
list = "local"
publishResources = false
+++

For all projects in the Piscine:
* The project must be in its own repository. That repository must not contain other projects. Do not fork this `CodeYourFuture/The-Piscine` repo - make a new repository for your project.
For all projects in the Checkpoint:
* The project must be in its own repository. That repository must not contain other projects. Do not fork this `CodeYourFuture/Checkpoint` repo - make a new repository for your project.
* There should not be any dead code or unused code in your repository. All code should be used, all tests should run and pass.
* For team projects, all members of the team should work in the same repository.
* There is some supplied scaffolding for all projects. You may copy this from [The Piscine repository](https://github.com/CodeYourFuture/The-Piscine). You should remove any content that doesn't apply when you use it (e.g. there shouldn't be any comments saying "This is an example" or "This is a placeholder").
* There is some supplied scaffolding for all projects. You may copy this from [The Checkpoint repository](https://github.com/CodeYourFuture/Checkpoint). You should remove any content that doesn't apply when you use it (e.g. there shouldn't be any comments saying "This is an example" or "This is a placeholder").
* You are expected to write at least one non-trivial test for each project.
* Non-trivial means that the test must test something that could go wrong, and matters to the project. So it a test which shows that calling `getUsers()` returns 5 users would not be non-trivial. But testing that, say, entries are sorted correctly before being presented to the user is non-trivial.
* You are not required to test via the DOM. You may choose to. But you can pass the Piscine without writing a single test involving the DOM.
* You are not required to test via the DOM. You may choose to. But you can pass the Checkpoint without writing a single test involving the DOM.
* We will try running your tests by running `npm i && npm test`. This must run your tests and they must all pass. Make sure you're not relying on globally installed packages - someone on a fresh computer with only `npm` installed and no packages installed must be able to run the above command and have it work.
* Make sure you include your `package.json` file in the project, or `npm test` won't work.
* Make sure that `npm test` actually runs your tests.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ time = 5
publishResources = false
+++

To smoothly run a Piscine, we ask that that the volunteers running it:
To smoothly run a Checkpoint, we ask that that the volunteers running it:
* Attend a weekly meeting to sync on how things are going and flag anything that needs to be consistently resolved.
* Assess projects against their rubric as early as possible after the submission deadline.
* Leaving this work to batch up at the end is painful, and makes it hard to course-correct any major issues.
Expand Down
2 changes: 1 addition & 1 deletion common-content/en/module/itd/step-7/submission/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,4 +15,4 @@ You must do this in the [CYF Course Platform](https://application-process.codeyo
1. Upload a screenshot of your Duolingo test result

> [!NOTE]
> To qualify as a CYF trainee and access later, funded courses like [The Piscine](https://curriculum.codeyourfuture.io/piscine/), you will be required to take a proctored English exam. This will be a free, certified exam, donated by our partners, Duolingo.
> To qualify as a CYF trainee and access later, funded courses like [The Checkpoint](https://curriculum.codeyourfuture.io/checkpoint/), you will be required to take a proctored English exam. This will be a free, certified exam, donated by our partners, Duolingo.
7 changes: 0 additions & 7 deletions common-content/en/module/piscine/_index.md

This file was deleted.

6 changes: 3 additions & 3 deletions common-content/en/module/piscine/development/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,13 +8,13 @@ tasks = [
"Open a pull request and iterate on it in response to feedback."]
[[blocks.nested.blocks]]
name="Pomodoro"
src="module/piscine/pomodoro"
src="module/checkpoint/pomodoro"
[[blocks.nested.blocks]]
name="Blockers"
src="module/piscine/blockers"
src="module/checkpoint/blockers"
[[blocks.nested.blocks]]
name="Pair Programming"
src="module/piscine/pairing"
src="module/checkpoint/pairing"
[build]
render = 'never'
list = 'local'
Expand Down
2 changes: 1 addition & 1 deletion legacy-redirects/piscine.codeyourfuture.io/netlify.toml
Original file line number Diff line number Diff line change
Expand Up @@ -5,5 +5,5 @@ status = 302

[[redirects]]
from = "/*"
to = "https://curriculum.codeyourfuture.io/piscine/:splat"
to = "https://curriculum.codeyourfuture.io/checkpoint/:splat"
status = 302
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ flowchart TD
```

> [!NOTE]
> There will be additional folders with other information required to edit the page, eg. details of the next stage of the course in the `piscine` folder
> There will be additional folders with other information required to edit the page, eg. details of the next stage of the course in the `checkpoint` folder

Each module is broken into **sprints**. A sprint represents one week of work. The `success` folder contains the success criteria for a module.

Expand Down
2 changes: 1 addition & 1 deletion org-cyf-guides/content/contributing/minutes/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -893,7 +893,7 @@ Attendees: Ali Smith, Anna Aitchison, CJ Yuan, Daniel Wagner-Hall, Karen Klein,

CJ has been looking into how we can set up a skeleton project structure for ITP exercises. This should encourage trainees to write tests for their logic that doesn't depend on the DOM, and ideally utilise ES Modules. We would like trainees to decouple the DOM and their app's logic, without getting bogged down in teaching sophisticated design jargon. May need to be split into different ITP modules to provide a gentle introduction to different concepts.

The [Piscine Days Calendar Project](https://github.com/CodeYourFuture/The-Piscine/tree/main/Project-Days-Calendar) is an example of organising a project using ES Modules.
The [Piscine Days Calendar Project](https://github.com/CodeYourFuture/Checkpoint/tree/main/Project-Days-Calendar) is an example of organising a project using ES Modules.

#### AI in ITD (Step Two)

Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
name = "The Piscine"
code = "piscine"
name = "Checkpoint"
code = "checkpoint"
emoji = "🐟"
weight = 3
description = "In teams and on your own, build working software with tests; explain your work to others."
menu = "Checkpoint"
url = "/piscine/"
url = "/checkpoint/"
days = "22"
commitment = "part time"
frequency = 3
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
+++
title = 'Piscine'
title = 'Checkpoint'
description = 'In teams and on your own, build working software with tests. Explain your work to others.'
menu = ["itp next steps"]
menus_to_map=['Piscine entry', 'Piscine sprints', 'Piscine assessment']
menu_prefix_to_strip = "Piscine "
menus_to_map=['Checkpoint entry', 'Checkpoint sprints', 'Checkpoint assessment']
menu_prefix_to_strip = "Checkpoint "
layout = 'map'
+++
Loading
Loading