You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This outline summarizes the <ahref="https://www.freecodecamp.org/learn/javascript-algorithms-and-data-structures/" target="_blank" rel="noopener">
26
-
freeCodeCamp Legacy JavaScript Algorithms and Data Structures certification</a>, including each curriculum section, step count, and brief description.
45
+
This page outlines the <strong>JavaScript</strong> portion of the <em>Certified Full Stack Developer Curriculum</em> (freeCodeCamp). It lists each
46
+
section, current step/page counts (where verified), and a short description. The track contains <strong>~20 sections</strong>and <strong>917 total steps</strong> (Fall ’25).
<caption>Sections appear in the order shown within FCC’s “JavaScript” course website.</caption>
34
69
<thead>
35
70
<tr>
36
71
<thscope="col">Section</th>
37
-
<thscope="col">Steps</th>
72
+
<thscope="col">Steps / Pages</th>
38
73
<thscope="col">Description (1–3 sentences)</th>
39
74
</tr>
40
75
</thead>
41
76
<tbody>
42
-
<tr>
43
-
<td><strong>Basic JavaScript</strong></td>
44
-
<tdclass="steps">113</td>
45
-
<td>Fundamentals of JavaScript programming: variables, numbers, strings, arrays, objects, functions, loops, and conditionals.</td>
77
+
<trdata-steps="5 quiz pages">
78
+
<thscope="row">Code Editors</th>
79
+
<tdclass="steps"><strong>5</strong> steps</td>
80
+
<tdclass="desc">Quick checks on editor fundamentals: files vs. projects, tabs/spaces, language modes, and extensions. Ensures you can configure an editor before writing code.</td>
46
81
</tr>
47
-
<tr>
48
-
<td><strong>ES6</strong></td>
49
-
<tdclass="steps">29</td>
50
-
<td>Modern syntax including <code>let</code>/<code>const</code>, arrow functions, template literals, destructuring, classes, and modules.</td>
82
+
<trdata-steps="62">
83
+
<thscope="row">Variables and Strings</th>
84
+
<tdclass="steps"><strong>62</strong> steps</td>
85
+
<tdclass="desc">Declaring and assigning variables; string creation, interpolation, indexing, slicing, and common string methods. Emphasis on predictable naming and immutability of strings.</td>
51
86
</tr>
52
-
<tr>
53
-
<td><strong>Regular Expressions</strong></td>
54
-
<tdclass="steps">33</td>
55
-
<td>Pattern matching using regex, including literals, character classes, quantifiers, grouping, anchors, and lookaheads.</td>
87
+
<trdata-steps="37">
88
+
<thscope="row">Booleans and Numbers</th>
89
+
<tdclass="steps"><strong>37</strong> steps</td>
90
+
<tdclass="desc">Boolean logic, truthy/falsy, arithmetic, operator precedence, and common numeric pitfalls (rounding, NaN, Infinity). Introduces comparisons and guards.</td>
56
91
</tr>
57
-
<tr>
58
-
<td><strong>Debugging</strong></td>
59
-
<tdclass="steps">12</td>
60
-
<td>Techniques to identify and fix syntax, runtime, and logic errors using console output and debugging tools.</td>
92
+
<trdata-steps="38">
93
+
<thscope="row">Functions</th>
94
+
<tdclass="steps">38</td>
95
+
<tdclass="desc">Function declarations vs. expressions, parameters/defaults, return values, scope/closures, and pure vs. impure functions.</td>
61
96
</tr>
62
-
<tr>
63
-
<td><strong>Basic Data Structures</strong></td>
64
-
<tdclass="steps">20</td>
65
-
<td>Introduction to arrays and objects, understanding their differences, and practicing useful methods like<code>splice</code>, <code>slice</code>, and<code>keys</code>.</td>
97
+
<trdata-steps="35">
98
+
<thscope="row">Arrays</th>
99
+
<tdclass="steps">35</td>
100
+
<tdclass="desc">Indexed collections, iteration patterns, and the core toolbox: <code>push</code>,<code>pop</code>, <code>slice</code>, <code>splice</code>,<code>includes</code>, and mapping/filtering.</td>
<td>OOP concepts in JavaScript: constructors, prototypes, inheritance, and the use of <code>this</code>to manage object state.</td>
107
+
<trdata-steps="22">
108
+
<thscope="row">Loops</th>
109
+
<tdclass="steps">22</td>
110
+
<tdclass="desc"><code>for</code>, <code>while</code>, <code>for...of</code>, and <code>for...in</code>; off-by-one and termination safety. When to prefer array methods over manual loops.</td>
76
111
</tr>
77
-
<tr>
78
-
<td><strong>Functional Programming</strong></td>
79
-
<tdclass="steps">24</td>
80
-
<td>Functional principles like pure functions, immutability, and use of methods such as <code>map</code>, <code>filter</code>, and <code>reduce</code>.</td>
<td>More advanced problem-solving combining functional and object-oriented patterns with data structures.</td>
117
+
<trdata-steps="37">
118
+
<thscope="row">Higher Order Functions and Callbacks</th>
119
+
<tdclass="steps">37</td>
120
+
<tdclass="desc">Passing functions as values, composing behavior, and idioms like <code>map</code>/<code>filter</code>/<code>reduce</code>. Callback patterns and gotchas.</td>
86
121
</tr>
87
-
<tr>
88
-
<td><strong>JavaScript Algorithms and Data Structures Projects</strong></td>
89
-
<tdclass="steps">5 projects</td>
90
-
<td>Capstone projects: Palindrome Checker, Roman Numeral Converter, Caesars Cipher, Telephone Number Validator, and Cash Register.</td>
122
+
<trdata-steps="87">
123
+
<thscope="row">DOM Manipulation and Events</th>
124
+
<tdclass="steps">87</td>
125
+
<tdclass="desc">Selecting and updating elements, templating basics, and wiring UI behavior with the event loop and event propagation.</td>
126
+
</tr>
127
+
<trdata-steps="42">
128
+
<thscope="row">JavaScript and Accessibility</th>
129
+
<tdclass="steps">42</td>
130
+
<tdclass="desc">Progressive enhancement, focus management, ARIA relationships, keyboard interactions, and accessible patterns for dynamic UIs.</td>
131
+
</tr>
132
+
<trdata-steps="8">
133
+
<thscope="row">Debugging</th>
134
+
<tdclass="steps">8</td>
135
+
<tdclass="desc">Using the console, breakpoints, stepping, and watch expressions. Techniques to isolate logic, timing, and state bugs.</td>
136
+
</tr>
137
+
<trdata-steps="47">
138
+
<thscope="row">Basic Regex</th>
139
+
<tdclass="steps">47</td>
140
+
<tdclass="desc">Constructing regular expressions, character sets, quantifiers, groups, anchors, and common text-processing patterns.</td>
141
+
</tr>
142
+
<trdata-steps="103">
143
+
<thscope="row">Form Validation</th>
144
+
<tdclass="steps">103</td>
145
+
<tdclass="desc">Constraints, custom validators, and sanitization. Client-side feedback patterns that complement server-side checks.</td>
146
+
</tr>
147
+
<trdata-steps="5">
148
+
<thscope="row">Dates</th>
149
+
<tdclass="steps">5</td>
150
+
<tdclass="desc">Working with <code>Date</code>, parsing/formatting, time zones, and relative times. Common pitfalls and reliable comparisons.</td>
151
+
</tr>
152
+
<trdata-steps="55">
153
+
<thscope="row">Audio and Video Events</th>
154
+
<tdclass="steps">55</td>
155
+
<tdclass="desc">Media element APIs, event handling, and accessibility concerns for custom controls.</td>
156
+
</tr>
157
+
<trdata-steps="37">
158
+
<thscope="row">Maps and Sets</th>
159
+
<tdclass="steps">37</td>
160
+
<tdclass="desc">When to choose <code>Map</code>/<code>Set</code> over objects/arrays; performance considerations and common methods.</td>
161
+
</tr>
162
+
<trdata-steps="78">
163
+
<thscope="row">localStorage and CRUD Operations</th>
164
+
<tdclass="steps">78</td>
165
+
<tdclass="desc">Persisting small datasets, JSON serialization, and building minimal create/read/update/delete flows.</td>
166
+
</tr>
167
+
<trdata-steps="68">
168
+
<thscope="row">Classes</th>
169
+
<tdclass="steps">68</td>
170
+
<tdclass="desc">Class syntax, constructors, instance vs. static members, inheritance, and composition trade-offs.</td>
171
+
</tr>
172
+
<trdata-steps="112">
173
+
<thscope="row">Recursion</th>
174
+
<tdclass="steps">112</td>
175
+
<tdclass="desc">Thinking inductively, base/recursive cases, stack depth, and converting between loops and recursion.</td>
176
+
</tr>
177
+
<trdata-steps="23">
178
+
<thscope="row">Functional Programming</th>
179
+
<tdclass="steps">23</td>
180
+
<tdclass="desc">Immutability, referential transparency, and composing small pure functions for predictable code.</td>
181
+
</tr>
182
+
<trdata-steps="36">
183
+
<thscope="row">Asynchronous JavaScript</th>
184
+
<tdclass="steps">36</td>
185
+
<tdclass="desc">Callbacks to Promises to <code>async/await</code>, the event loop, microtasks, and robust async error handling.</td>
186
+
</tr>
187
+
<trdata-steps="2">
188
+
<thscope="row">JavaScript Review</th>
189
+
<tdclass="steps">2</td>
190
+
<tdclass="desc">Cumulative practice tying together the core ideas from the track in short exercises and mini-projects.</td>
91
191
</tr>
92
192
</tbody>
93
193
</table>
94
-
<pclass="muted-note">All section titles and counts are based on the <ahref="https://www.freecodecamp.org/learn/javascript-algorithms-and-data-structures/" target="_blank" rel="noopener">freeCodeCamp JavaScript curriculum</a>.</p>
0 commit comments