How Is the CSPA Scored?

View sample report

Note: The exam format, topics, and scoring method may slightly change from time to time.


The CSPA Composite Score is out of 1600. There are three components to it:

  1. Coding subscore. Out of 800 points.
  2. Essay and coding subscore. Out of 400 points.
  3. Subject subscore. Out of 400 points, your strongest topic from the multiple choice section.

The CSPA has three sections (A, B, C). Section A is multiple choice and covers up to six subjects (ML, FE, OPS, ARCH, DB, and SEC). Section B is coding combined with a subjective essay section. Section C is short coding answers and covers technical fundamentals (CORE).

Subject Subscores

You receive a scaled subscore between 100 and 400 points for each of the specialty topics.

720CORE + 380FS + 390ML 290FE 180OPS 240ARCH 400DB 130SEC
Example set of six subscores, shown after CORE and FS scores. Subscores range from 100 to 400.

Subscores are calibrated according to the Dreyfus model:

Subscore Skill Level
150-200Advanced Beginner

Composite Score

Your composite score is the sum of your CORE subscore, your FS subscore, and your highest subscore among the six subject topics. The chosen topic becomes your subject emphasis, which designates an area of notable strength or focus. This is denoted as a suffix to your numeric composite score.

This means that CORE makes up half of your composite score, and FS and your subject emphasis make up the other half. Your composite score ranges from 400 to 1600.

1310 OPSCOMPOSITE = 720CORE + 250FS + 340OPS Strong fundamentals with proficiency in ops/devops
1370 FECOMPOSITE = 580CORE + 350FS + 440FE Above average fundamentals with expertise in front end web
1140 SECCOMPOSITE = 600CORE + 270FS + 270SEC Above average fundamentals with competency in security
Example composite scores and their subscores. Scores range from 400 to 1600.

Calculating Subscores

Multiple Choice

Section A has 100 to 120 multiple choice questions and can cover all topics except for CORE: so ML, FE, OPS, ARCH, DB, and SEC. This means there are about 15 to 20 multiple choice questions for each of the six topics. It's just an average, so sometimes there might be 10 or 22, or even 5 questions per topic. Additionally, some questions may cover more than one topic. In these cases, the question counts toward all subscores it covers.

To calculate the subscore, we filter for questions that belong to the topic, and then sum up the raw points. We also filter out any disqualified questions. We then calculate the maximum number of the raw points possible, and then scale from 100 to 400 using a linear map, rounding to the nearest ten. (Any negative raw score is increased to 0 before scaling.) This is your scaled subscore. We do this for all six or so subject topics.

An example calculating a subscore, say for OPS:

Number of questions Raw points Scaled subscore
Answered correctly 15 +45 -
Answered incorrectly 2 -2 -
Omitted 4 0 -
Total Questions 21 43 earned out of 63 possible 310OPS

In this example, you earned 45 - 2 = 43 raw points out of a possible 63. Scaling the 43 raw points from the range [0,63] to [100,400] yields a scaled score of 305.02. Rounding to the nearest ten gives you a final subscore of 310 out of 400.

Note the lowest possible raw score is -1 * 21 = -21 raw points, but we use the range [0,63] instead of [-21,63] so that any negative raw score maps to a scaled subscore of 100.

Essay + Code

The essay and code section (FS) is graded using a clearly defined rubric that assigns points when you meet the criteria. Each question has its own rubric, and we have a set of human graders for this section.

Short Code Answer

Section C has short coding questions where you are expecting to submit code -- a function, class definition, or other code. The number of raw points possible for each question varies and is weighted based its difficulty. Additionally each question is associated with a predefined automated test suite that runs test cases against your code.

Your raw points for a question is the proportion of test cases passed multiplied by the possible raw points for the question. We then sum your raw points, and then scale it from 100 to 400 using a linear map.

For example:

Question Test cases passed Possible raw points (weight) Earned raw points Subscore
#1 20/25 50 40 -
#2 16/20 40 32 -
#3 40/45 100 88.88 -
#4 8/8 20 20 -
#5 19/20 50 47.5 -
#6 10/10 30 30 -
Total - 290 258.38 370CORE

In this example, you earned 258.38 out of a possible 290 raw points. Scaling the raw points from the range [0,290] to [200,800] yields a scaled score of 367.285. Rounding to the nearest ten gives you a final CORE subscore of 370 out of 400.

More questions?

Check out a sample score report or contact us.

Stay Updated

Subscribe with your email below to receive news updates and exam announcements.