Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feat/Curriculum: Add English Curriculum Standard guidelines for reviewing tasks #609

Draft
wants to merge 4 commits into
base: main
Choose a base branch
from
Draft
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
3 changes: 3 additions & 0 deletions src/content/config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,9 @@ export const collections = {
'sidebar.report_vulnerability': z.string(),
'sidebar.translation_contribution': z.string(),
'sidebar.translate_resources': z.string(),
'sidebar.english_contribution': z.string(),
'sidebar.english_resources': z.string(),
'sidebar.english_description': z.string(),
'sidebar.proofread_translations': z.string(),
'sidebar.code_contribution': z.string(),
'sidebar.setup_freecodecamp': z.string(),
Expand Down
58 changes: 58 additions & 0 deletions src/content/docs/english-for-developers-intro.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
---
title: English for Developers Curriculum Structure
---

import { Steps } from '@astrojs/starlight/components';

The **English for Developers** curriculum is designed to help non-native English speakers improve their language skills, focusing on communication in software development. This curriculum aligns with the **Common European Framework of Reference for Languages (CEFR)** and provides structured lessons for learners at different proficiency levels.

## Curriculum Levels

The curriculum is structured into multiple levels, each targeting specific language skills essential for developers:

- **CEFR Level A2** – A pre-intermediate level focusing on foundational English skills. It introduces essential vocabulary, phrases, and real-world scenarios that developers encounter in their daily work.
- **CEFR Level B1** – An intermediate level that builds on the basics. It emphasizes professional communication, reading technical documentation, and participating in workplace discussions.

Future levels, including **B2 and C1**, will further enhance learners’ proficiency in advanced technical and professional communication.

## How the Curriculum is Structured

The beta version of the **English for Developers** curriculum is structured around contextual modules, each built on a series of dialogues. Campers begin by listening or reading the full dialogue they will study. Then, step by step, tasks guide them through each line, introducing relevant vocabulary, grammatical structures, and practical usage in a developer’s context.

This documentation outlines the framework used to create these tasks, ensuring that contributors can review the curriculum while maintaining consistency with standard guidelines.

## Help Improve This Curriculum

If you've found something that needs to be fixed, there are several ways you can contribute:

- Report a bug.
- Submit a pull request (PR) with fixes.
- Request a feature.
- Work on "help wanted" issues.

### Reporting a Bug

If you think you've found a bug, start by reading our [How to Report a Bug](https://www.freecodecamp.org/news/how-to-report-a-bug-to-freecodecamp/) guide and follow the steps outlined there.

If you're certain it's a new bug, create a GitHub issue with as much detail as possible. We provide an issue template to help you structure your report effectively.

:::note
GitHub issues are for reporting code-related problems, **not** for requesting help with learning or solving curriculum tasks. If you're unsure, [ask for help in the forum](https://forum.freecodecamp.org) before opening an issue.
:::

### Creating a Pull Request (PR) to Fix Bugs

Before working on a fix, you'll need to set up your development environment. Follow the step-by-step instructions in the [How to Set Up freeCodeCamp Locally](https://contribute.freecodecamp.org/how-to-setup-freecodecamp-locally/) guide.

Once your environment is ready, you can make the necessary changes and submit a pull request (PR) for approval.

You can submit PRs to:

- Fix reported bugs.
- Fix bugs you might have found.
- Solve issues tagged as "help wanted".
- Correct tasks that do not follow the English for Developers formatting guidelines.

:::tip
To learn more about the formatting guidelines, check the related pages in the sidebar.
:::
7 changes: 7 additions & 0 deletions src/content/docs/english-tasks-description.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
title: English tasks descriptions
---

import { Steps } from '@astrojs/starlight/components';

;
4 changes: 4 additions & 0 deletions src/content/docs/intro.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -41,4 +41,8 @@ import { Card, CardGrid } from '@astrojs/starlight/components';
[Contribute with code](/getting-started/#learning-platform) to our
open-source codebases.
</Card>
<Card title='English for Developers' icon='translate'>
[Help to review](/english-for-developers-intro/) English for Developers
Curriculum.
</Card>
</CardGrid>
3 changes: 3 additions & 0 deletions src/content/i18n/en.json
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,9 @@
"sidebar.report_vulnerability": "Reporting a Vulnerability",
"sidebar.translation_contribution": "Translation Contribution",
"sidebar.translate_resources": "Work on translating resources",
"sidebar.english_contribution": "English for Developers",
"sidebar.english_resources": "English tasks structure",
"sidebar.english_description": "English tasks descriptions",
"sidebar.proofread_translations": "Work on proofreading translations",
"sidebar.code_contribution": "Code Contribution",
"sidebar.setup_freecodecamp": "Set up freeCodeCamp",
Expand Down
13 changes: 13 additions & 0 deletions src/update-pagination.ts
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,19 @@ export const content: Section[] = [
}
]
},
{
title: 'sidebar.english_contribution',
contents: [
{
href: '/english-for-developers-intro/',
title: 'sidebar.english_resources'
},
{
href: '/english-tasks-description/',
title: 'sidebar.english_description'
}
]
},
{
title: 'sidebar.code_contribution',
contents: [
Expand Down