The AP World History: Modern (WHAP) exam is divided into four distinct parts, each weighted differently to determine your final composite score of 1 through 5. Understanding this weighting is crucial for prioritizing your study time.
Section I, Part A: Multiple Choice (40%): There are 55 stimulus-based questions. Your raw score is simply the number of questions answered correctly.
Section I, Part B: Short Answer (20%): You must answer 3 Short Answer Questions (SAQs), each worth 3 points, for a total of 9 raw points.
Section II, Part A: Document-Based Question (25%): The DBQ is scored on a 7-point rubric focusing on thesis, contextualization, evidence, and analysis.
Section II, Part B: Long Essay Question (15%): The LEQ is scored on a 6-point rubric, assessing your ability to develop an argument using historical reasoning.
WHAP Score Example Calculation
Suppose a student achieves the following raw scores:
MCQ: 42 correct out of 55
SAQ: 7 points out of 9
DBQ: 5 points out of 7
LEQ: 4 points out of 6
The calculator applies the official College Board weights to these raw totals. In this scenario, the student would earn roughly 74% of the available weighted points, which typically translates to an AP Score of 4.
Scoring Thresholds (Typical Curve)
While the curve varies slightly every year depending on the difficulty of the exam, the following percentages are generally used as benchmarks for the 1-5 scale:
5: ~75% – 100%
4: ~62% – 74%
3: ~48% – 61%
2: ~35% – 47%
1: 0% – 34%
function calculateWhapScore() {
var mcqRaw = parseFloat(document.getElementById('mcq_score').value);
var saqRaw = parseFloat(document.getElementById('saq_score').value);
var dbqRaw = parseFloat(document.getElementById('dbq_score').value);
var leqRaw = parseFloat(document.getElementById('leq_score').value);
// Validation
if (isNaN(mcqRaw) || isNaN(saqRaw) || isNaN(dbqRaw) || isNaN(leqRaw)) {
alert("Please enter values for all sections.");
return;
}
if (mcqRaw > 55 || saqRaw > 9 || dbqRaw > 7 || leqRaw > 6) {
alert("Please ensure your scores do not exceed the maximum possible for each section.");
return;
}
// Weighting Calculation (Weighted percentage of total)
// MCQ: 40%, SAQ: 20%, DBQ: 25%, LEQ: 15%
var mcqWeighted = (mcqRaw / 55) * 40;
var saqWeighted = (saqRaw / 9) * 20;
var dbqWeighted = (dbqRaw / 7) * 25;
var leqWeighted = (leqRaw / 6) * 15;
var totalPercentage = mcqWeighted + saqWeighted + dbqWeighted + leqWeighted;
var apScore = 1;
// Determine AP Score based on typical curve
if (totalPercentage >= 75) {
apScore = 5;
} else if (totalPercentage >= 62) {
apScore = 4;
} else if (totalPercentage >= 48) {
apScore = 3;
} else if (totalPercentage >= 35) {
apScore = 2;
} else {
apScore = 1;
}
// Display Results
var resultDiv = document.getElementById('whap-result');
var scoreBox = document.getElementById('composite-score');
var percentDetail = document.getElementById('percentage-detail');
resultDiv.style.display = "block";
resultDiv.style.backgroundColor = getScoreColor(apScore);
scoreBox.innerHTML = apScore;
percentDetail.innerHTML = "Weighted Score: " + totalPercentage.toFixed(1) + "%";
}
function getScoreColor(score) {
switch(score) {
case 5: return "#d4edda";
case 4: return "#d1ecf1";
case 3: return "#fff3cd";
case 2: return "#f8d7da";
default: return "#e2e3e5";
}
}