🧑🏾💻
Prep for trainees
🎯 🎯 Goals
Learning Objectives
Welcome to the Piscine.
Your goal is to build two group projects and one solo project over the next 22 days. For each project, your goal is to:
- 🎯 Build a complete project that meets the requirements, including tests.
- 🎯 Build a complete understanding of all the code in your project, because you will be asked to explain it.
Our goal is to find people who are ready to train in the Software Development Course. This means we are looking for people ready to begin working as a professional software engineer within the next 16 weeks. This is why we are looking at your ability to:
- 🎯 Work in a team to build working software with tests.
- 🎯 Write simple code independently.
- 🎯 Explain your work to others in English.
These are the core goals of the Piscine.
⚖️ ⚖️ Expectations
Learning Objectives
Trainees, we expect you to:
- Work in groups and individually, in class and during the week.
- Show up on time and participate in all activities, including helping others.
- Complete the projects in the way they are specified.
- Do your best.
Trainees, you can expect:
- Your team to work with you to complete the projects.
- A fair assessment, explained clearly.
- Help from volunteers and other candidates with your code and blockers.
We expect everyone to:
- Help each other.
- Do the prep.
💬 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.
🌱 Programming Prerequisites
Learning Objectives
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:
JavaScript fundamentals
- Variables:
let,const - Primitive data types:
String,Number,Boolean,undefined,null - Data structures:
Array,Object - Navigating Objects:
Object.entries,Object.fromEntries,Object.keys,Object.values - Navigating Arrays:
Array.includes,Array.slice - Operators:
=,==,===,!=,!==,>,<,>=,<=,&&,||,!,%,+,-,*,/ - Control structures:
if,else,else if,return - Functions:
function,=>, scope, callbacks, and extracting a function - Loops:
for,for of - Higher order functions that take callbacks:
Array.map,Array.filter,Array.find,Array.findIndex
JavaScript in the browser
- Asynchronous programming:
Promise,async/await - Web APIs:
fetch,addEventListener,setTimeout,document - Manipulating the DOM with Web APIs: Finding elements, Creating elements, Adding elements to the DOM, Removing elements from the DOM, Changing elements currently in the DOM
JavaScript Testing
- Assertions in Jest:
test,expect,toEqual,not
Git
- Git commands:
status,clone,add,commit,push,pull,merge,branch,checkout
Group work
When you’re working on group projects, we expect you to be working together.
You can work on code on your own, but we expect you to be aware of what each other is working on. You may be asked about any code in your project, including code someone else wrote.
We strongly recommend that you collaborate as you go. Read and discuss each other’s code as you’re building. Do not wait until the end of the project (or the week before the interview).