Our Fellowship is rigorous, and so is our application process. That’s because we want to identify individuals who are ready to dedicate themselves fully to our Fellowship.

Though no prior coding experience is necessary, learning how to code requires some foundational skills and knowledge in mathematics and problem-solving. The Aptitude Assessment is how we aim to understand your readiness level for learning how to code. We encourage you to review the following topics, which you will find on the test:

MATH

Being a professional programmer requires basic math skills. On the assessment, we’ll ask you questions on topics you likely covered in Middle School (grades 6-8), such as fractions, exponents, and basic algebra. These are topics that are especially relevant to coding. Below are some resources you can use to practice those skills. But these are just starting points: there are many free, online resources to help you relearn your basic math skills.

- Proportional Reasoning
- Exponents
- Fractions
- Order of Operations
- Coordinates
- Probability
- Percentages
- Primality

Common sense and logical reasoning are also useful for solving math problems. Remember to brush up on those skills too.

**LOGIC**

Programming is a lot like piecing together a puzzle, where the puzzle pieces are rules and conditions that, when assembled in the appropriate way create something much greater, such as a mobile app or an interactive website. We use logic puzzles to evaluate how well you can use reasoning to arrive at correct conclusions. Below are two sample problems with solutions. We recommend working on the problems first on your own before looking at the solutions.

**Practice Logic Puzzle:**

**Massage therapist Yasmine has seven loyal customers -- B, C, F, J, Q, T, and V -- who schedule an appointment each Friday. The schedule varies from week to week, according to the following constraints:**

Rule 1: C always has either the 2nd or the 6th appointment.

Rule 2: If Q has an earlier appointment than T, then J is scheduled later than V.

Rule 3: If Q has a later appointment than T, then J is scheduled earlier than V.

Rule 4: Exactly two customers must be scheduled between the appointments for T and C.

Rule 5: J must be scheduled immediately before or immediately after C, since they are business partners and travel together.

Rule 6: T is scheduled earlier than either B or V, but not both.

**Which one of the following schedules, ordered first through seventh, could be true?**

1. B, F, T, Q, J, C, V

2. V, C, J, F, T, B, Q

3. J, C, V, T, Q, B, F

4. F, C, B, J, T, Q, V

5. Q, F, T, V, J, C, B

**Solution**

STEP 1: Write down the rules.

Write the rules down in shorthand. Writing them down helps you remember them and gives you easier access to the puzzle’s constraints as you work through the answer choices.

Rule 1: C always has either the 2nd or the 6th appointment.

C2 or C6

Rule 2: If Q has an earlier appointment than T, then J is scheduled later than V.

Q─T ⟶ V─J

Rule 3: If Q has a later appointment than T, then J is scheduled earlier than V.

T─Q ⟶ J─V

Rule 4: Exactly two customers must be scheduled between the appointments for T and C.

C_ _T or T_ _C

Rule 5: J must be scheduled immediately before or immediately after C, since they are business partners and travel together.

CJ or JC

Rule 6: T is scheduled earlier than either B or V, but not both.

B─T─V or V─T─B

STEP 2: Plan your approach.

Use a process of elimination: take one rule at a time and apply it to the answer choices, eliminating those choices that break rules until one remains.

STEP 3: Solve.

Rule 1 (C2 or C6) unfortunately eliminates no choices.

Rule 2 (Q─T ⟶ V─J) also eliminates no choices. Keep going!

Rule 3 (T─Q ⟶ J─V) is broken by choice (B). Eliminate choice B.

Rule 4 (C_ _T or T_ _C) is broken by choice (C). Eliminate choice C. So far, only (A), (D), and (E) remain.

Rule 5 (CJ or JC) is broken by choice (D). Eliminate choice D. Only (A) or (E) remain. Almost there!

Rule 6 (B─T─V or V─T─B) is broken by choice (E). Eliminate it.

**The correct answer is 1. B, F, T, Q, J, C, V**

Photo by Antoine Dautry

READING COMPREHENSION

Reading comprehension is the ability to process text and understand its meaning. In this part of the test you will be given some reading material (about code!) and then you will be asked to answer some questions about it.

COMPUTER BASICS

In this part of the test, we will assess your ability to use computers and the internet effectively and efficiently. If you get accepted into our Fellowship, you will get a brand new Apple computer, the industry standard for software developers. The Mac operating system is a bit different and this assessment includes questions about it. Watch a tutorial or google how to use the Mac OS before taking this test.

The last part of this task is a one-minute typing test, which measures the speed and accuracy of your typing ability. The average person types between 38 and 40 words per minute (WPM). You will have 1 minute to type as many words as you can. You can practice and take it as many times as you need.

You can start practicing here.

**Good luck with the assessment!**

Photo by Annie Spratt