-
-
Notifications
You must be signed in to change notification settings - Fork 36.2k
/
intro.json
1726 lines (1726 loc) · 107 KB
/
intro.json
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
{
"responsive-web-design": {
"title": "Legacy Responsive Web Design Challenges",
"intro": [
"In this Responsive Web Design Certification, you'll learn the languages that developers use to build webpages: HTML (Hypertext Markup Language) for content, and CSS (Cascading Style Sheets) for design.",
"First, you'll build a cat photo app to learn the basics of HTML and CSS. Later, you'll learn modern techniques like CSS variables by building a penguin, and best practices for accessibility by building a web form.",
"Finally, you'll learn how to make webpages that respond to different screen sizes by building a Twitter card with Flexbox, and a complex blog layout with CSS Grid."
],
"note": "Note: Some browser extensions, such as ad-blockers and dark mode extensions can interfere with the tests. If you face issues, we recommend disabling extensions that modify the content or layout of pages, while taking the course.",
"blocks": {
"basic-html-and-html5": {
"title": "Basic HTML and HTML5",
"intro": [
"HTML is a markup language that uses a special syntax or notation to describe the structure of a webpage to the browser. HTML elements usually have opening and closing tags that surround and give meaning to content. For example, different elements can describe text as a heading, paragraph, or list item.",
"In this course, you'll build a cat photo app to learn some of the most common HTML elements — the building blocks of any webpage."
]
},
"basic-css": {
"title": "Basic CSS",
"intro": [
"CSS, or Cascading Style Sheets, tell the browser how to display the text and other content that you write in HTML. With CSS, you can control the color, font, size, spacing, and many other aspects of HTML elements.",
"Now that you've described the structure of your cat photo app, give it some style with CSS."
]
},
"applied-visual-design": {
"title": "Applied Visual Design",
"intro": [
"Visual design is a combination of typography, color theory, graphics, animation, page layout, and more to help deliver your unique message.",
"In this course, you'll learn how to apply these different elements of visual design to your webpages."
]
},
"applied-accessibility": {
"title": "Applied Accessibility",
"intro": [
"In web development, accessibility refers to web content and a UI (user interface) that can be understood, navigated, and interacted with by a broad audience. This includes people with visual, auditory, mobility, or cognitive disabilities.",
"In this course, you'll learn best practices for building webpages that are accessible to everyone."
]
},
"responsive-web-design-principles": {
"title": "Responsive Web Design Principles",
"intro": [
"There are many devices that can access the web, and they come in all shapes and sizes. Responsive web design is the practice of designing flexible websites that can respond to different screen sizes, orientations, and resolutions.",
"In this course, you'll learn how to use CSS to make your webpages look good, no matter what device they're viewed on."
]
},
"css-flexbox": {
"title": "CSS Flexbox",
"intro": [
"Flexbox is a powerful, well-supported layout method that was introduced with the latest version of CSS, CSS3. With flexbox, it's easy to center elements on the page and create dynamic user interfaces that shrink and expand automatically.",
"In this course, you'll learn the fundamentals of flexbox and dynamic layouts by building a Twitter card."
]
},
"css-grid": {
"title": "CSS Grid",
"intro": [
"The CSS grid is a newer standard that makes it easy to build complex responsive layouts. It works by turning an HTML element into a grid, and lets you place child elements anywhere within.",
"In this course, you'll learn the fundamentals of CSS grid by building different complex layouts, including a blog."
]
}
}
},
"2022/responsive-web-design": {
"title": "Responsive Web Design",
"intro": [
"In this Responsive Web Design Certification, you'll learn the languages that developers use to build webpages: HTML (Hypertext Markup Language) for content, and CSS (Cascading Style Sheets) for design.",
"First, you'll build a cat photo app to learn the basics of HTML and CSS. Later, you'll learn modern techniques like CSS variables by building a penguin, and best practices for accessibility by building a quiz site.",
"Finally, you'll learn how to make webpages that respond to different screen sizes by building a photo gallery with Flexbox, and a magazine article layout with CSS Grid."
],
"note": "Note: Some browser extensions, such as ad-blockers and dark mode extensions can interfere with the tests. If you face issues, we recommend disabling extensions that modify the content or layout of pages, while taking the course.",
"blocks": {
"build-a-tribute-page-project": {
"title": "Tribute Page",
"intro": [
"This is one of the required projects to earn your certification.",
"For this project, you will build a tribute page for a subject of your choosing, fictional or real."
]
},
"build-a-personal-portfolio-webpage-project": {
"title": "Personal Portfolio Webpage",
"intro": [
"This is one of the required projects to earn your certification.",
"For this project, you will build your own personal portfolio page."
]
},
"build-a-product-landing-page-project": {
"title": "Product Landing Page",
"intro": [
"This is one of the required projects to earn your certification.",
"For this project, you will build a product landing page to market a product of your choice."
]
},
"build-a-survey-form-project": {
"title": "Survey Form",
"intro": [
"This is one of the required projects to earn your certification.",
"For this project, you will build a survey form to collect data from your users."
]
},
"build-a-technical-documentation-page-project": {
"title": "Technical Documentation Page",
"intro": [
"This is one of the required projects to earn your certification.",
"For this project, you will build a technical documentation page to serve as instruction or reference for a topic."
]
},
"learn-html-by-building-a-cat-photo-app": {
"title": "Learn HTML by Building a Cat Photo App",
"intro": [
"HTML tags give a webpage its structure. You can use HTML tags to add photos, buttons, and other elements to your webpage.",
"In this course, you'll learn the most common HTML tags by building your own cat photo app."
]
},
"learn-basic-css-by-building-a-cafe-menu": {
"title": "Learn Basic CSS by Building a Cafe Menu",
"intro": [
"CSS tells the browser how to display your webpage. You can use CSS to set the color, font, size, and other aspects of HTML elements.",
"In this course, you'll learn CSS by designing a menu page for a cafe webpage."
]
},
"learn-the-css-box-model-by-building-a-rothko-painting": {
"title": "Learn the CSS Box Model by Building a Rothko Painting",
"intro": [
"Every HTML element is its own box – with its own spacing and a border. This is called the Box Model.",
"In this course, you'll use CSS and the Box Model to create your own Rothko-style rectangular art pieces."
]
},
"learn-css-variables-by-building-a-city-skyline": {
"title": "Learn CSS Variables by Building a City Skyline",
"intro": [
"CSS variables help you organize your styles and reuse them.",
"In this course, you'll build a city skyline. You'll learn how to configure CSS variables so you can reuse them whenever you want."
]
},
"learn-html-forms-by-building-a-registration-form": {
"title": "Learn HTML Forms by Building a Registration Form",
"intro": [
"You can use HTML forms to collect information from people who visit your webpage.",
"In this course, you'll learn HTML forms by building a signup page. You'll learn how to control what types of data people can type into your form, and some new CSS tools for styling your page."
]
},
"learn-accessibility-by-building-a-quiz": {
"title": "Learn Accessibility by Building a Quiz",
"intro": [
"Accessibility is making your webpage easy for all people to use – even people with disabilities.",
"In this course, you'll build a quiz webpage. You'll learn accessibility tools such as keyboard shortcuts, ARIA attributes, and design best practices."
]
},
"learn-intermediate-css-by-building-a-picasso-painting": {
"title": "Learn Intermediate CSS by Building a Picasso Painting",
"intro": [
"In this course, you'll learn how to use some intermediate CSS techniques by coding your own Picasso painting webpage. You'll learn about SVG icons, CSS positioning, and review other CSS skills you've learned."
]
},
"learn-responsive-web-design-by-building-a-piano": {
"title": "Learn Responsive Web Design by Building a Piano",
"intro": [
"Responsive Design tells your webpage how it should look on different-sized screens.",
"In this course, you'll use CSS and Responsive Design to code a piano. You'll also learn more about media queries and pseudo selectors."
]
},
"learn-css-flexbox-by-building-a-photo-gallery": {
"title": "Learn CSS Flexbox by Building a Photo Gallery",
"intro": [
"Flexbox helps you design your webpage so that it looks good on any screen size.",
"In this course, you'll use Flexbox to build a responsive photo gallery webpage."
]
},
"learn-css-grid-by-building-a-magazine": {
"title": "Learn CSS Grid by Building a Magazine",
"intro": [
"CSS Grid gives you control over the rows and columns of your webpage design.",
"In this course, you'll build a magazine article. You'll learn how to use CSS Grid, including concepts like grid rows and grid columns."
]
},
"learn-typography-by-building-a-nutrition-label": {
"title": "Learn Typography by Building a Nutrition Label",
"intro": [
"Typography is the art of styling your text to be easily readable and suit its purpose.",
"In this course, you'll use typography to build a nutrition label webpage. You'll learn how to style text, adjust line height, and position your text using CSS."
]
},
"learn-css-transforms-by-building-a-penguin": {
"title": "Learn CSS Transforms by Building a Penguin",
"intro": [
"You can transform HTML elements to create appealing designs that draw your reader's eye. You can use transforms to rotate elements, scale them, and more.",
"In this course, you'll build a penguin. You'll use CSS transforms to position and resize the parts of your penguin, create a background, and animate your work."
]
},
"learn-css-animation-by-building-a-ferris-wheel": {
"title": "Learn CSS Animation by Building a Ferris Wheel",
"intro": [
"You can use CSS animation to draw attention to specific sections of your webpage and make it more engaging.",
"In this course, you'll build a Ferris wheel. You'll learn how to use CSS to animate elements, transform them, and adjust their speed."
]
},
"learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet": {
"title": "Learn More About CSS Pseudo Selectors by Building A Balance Sheet",
"intro": [
"You can use CSS pseudo selectors to change specific HTML elements.",
"In this course, you'll build a balance sheet using pseudo selectors. You'll learn how to change the style of an element when you hover over it with your mouse, and trigger other events on your webpage."
]
},
"learn-css-colors-by-building-a-set-of-colored-markers": {
"title": "Learn CSS Colors by Building a Set of Colored Markers",
"intro": [
"Selecting the correct colors for your webpage can greatly improve the aesthetic appeal to your readers.",
"In this course, you'll build a set of colored markers. You'll learn different ways to set color values and how to pair colors with each other."
]
},
"learn-intermediate-css-by-building-a-cat-painting": {
"title": "Learn Intermediate CSS by Building a Cat Painting",
"intro": [
"Mastering CSS positioning is essential for creating visually appealing and responsive web layouts",
"In this course, you will build a cat painting. You'll learn about how to work with absolute positioning, the z-index property, and the transform property."
]
}
}
},
"javascript-algorithms-and-data-structures": {
"title": "Legacy JavaScript Algorithms and Data Structures",
"intro": [
"While HTML and CSS control the content and styling of a page, JavaScript is used to make it interactive. In the JavaScript Algorithm and Data Structures Certification, you'll learn the fundamentals of JavaScript including variables, arrays, objects, loops, and functions.",
"Once you have the fundamentals down, you'll apply that knowledge by creating algorithms to manipulate strings, factorialize numbers, and even calculate the orbit of the International Space Station.",
"Along the way, you'll also learn two important programming styles or paradigms: Object Oriented Programming (OOP) and Functional Programming (FP)."
],
"note": "Note: Some browser extensions, such as ad-blockers and script-blockers can interfere with the tests. If you face issues, we recommend disabling extensions that modify or block the content of pages while taking the course.",
"blocks": {
"basic-javascript": {
"title": "Basic JavaScript",
"intro": [
"JavaScript is a scripting language you can use to make web pages interactive. It is one of the core technologies of the web, along with HTML and CSS, and is supported by all modern browsers.",
"In this course, you'll learn fundamental programming concepts in JavaScript. You'll start with basic data structures like numbers and strings. Then you'll learn to work with arrays, objects, functions, loops, if/else statements, and more."
]
},
"es6": {
"title": "ES6",
"intro": [
"ECMAScript, or ES, is a standardized version of JavaScript. Because all major browsers follow this specification, the terms ECMAScript and JavaScript are interchangeable.",
"Most of the JavaScript you've learned up to this point was in ES5 (ECMAScript 5), which was finalized in 2009. While you can still write programs in ES5, JavaScript is constantly evolving, and new features are released every year.",
"ES6, released in 2015, added many powerful new features to the language. In this course, you'll learn these new features, including arrow functions, destructuring, classes, promises, and modules."
]
},
"regular-expressions": {
"title": "Regular Expressions",
"intro": [
"Regular expressions, often shortened to \"regex\" or \"regexp\", are patterns that help programmers match, search, and replace text. Regular expressions are very powerful, but can be hard to read because they use special characters to make more complex, flexible matches.",
"In this course, you'll learn how to use special characters, capture groups, positive and negative lookaheads, and other techniques to match any text you want."
]
},
"debugging": {
"title": "Debugging",
"intro": [
"Debugging is the process of going through your code, finding any issues, and fixing them.",
"Issues in code generally come in three forms: syntax errors that prevent your program from running, runtime errors where your code has unexpected behavior, or logical errors where your code doesn't do what you intended.",
"In this course, you'll learn how to use the JavaScript console to debug programs and prevent common issues before they happen."
]
},
"basic-data-structures": {
"title": "Basic Data Structures",
"intro": [
"Data can be stored and accessed in many ways. You already know some common JavaScript data structures — arrays and objects.",
"In this Basic Data Structures course, you'll learn more about the differences between arrays and objects, and which to use in different situations. You'll also learn how to use helpful JS methods like <code>splice()</code> and <code>Object.keys()</code> to access and manipulate data."
]
},
"basic-algorithm-scripting": {
"title": "Basic Algorithm Scripting",
"intro": [
"An algorithm is a series of step-by-step instructions that describe how to do something.",
"To write an effective algorithm, it helps to break a problem down into smaller parts and think carefully about how to solve each part with code.",
"In this course, you'll learn the fundamentals of algorithmic thinking by writing algorithms that do everything from converting temperatures to handling complex 2D arrays."
]
},
"object-oriented-programming": {
"title": "Object Oriented Programming",
"intro": [
"OOP, or Object Oriented Programming, is one of the major approaches to the software development process. In OOP, objects and classes organize code to describe things and what they can do.",
"In this course, you'll learn the basic principles of OOP in JavaScript, including the <code>this</code> keyword, prototype chains, constructors, and inheritance."
]
},
"functional-programming": {
"title": "Functional Programming",
"intro": [
"Functional Programming is another popular approach to software development. In Functional Programming, code is organized into smaller, basic functions that can be combined to build complex programs.",
"In this course, you'll learn the core concepts of Functional Programming including pure functions, how to avoid mutations, and how to write cleaner code with methods like <code>.map()</code> and <code>.filter()</code>."
]
},
"intermediate-algorithm-scripting": {
"title": "Intermediate Algorithm Scripting",
"intro": [
"Now that you know the basics of algorithmic thinking, along with OOP and Functional Programming, test your skills with the Intermediate Algorithm Scripting challenges."
]
},
"javascript-algorithms-and-data-structures-projects": {
"title": "JavaScript Algorithms and Data Structures Projects",
"intro": [
"This is it — time to put your new JavaScript skills to work. These projects are similar to the algorithm scripting challenges you've done before – just much more difficult.",
"Complete these 5 JavaScript projects to earn the JavaScript Algorithms and Data Structures certification."
]
}
}
},
"javascript-algorithms-and-data-structures-v8": {
"title": "JavaScript Algorithms and Data Structures (Beta)",
"intro": [
"Developers use HTML and CSS to control the content and styling of a page. And they use JavaScript to make that page interactive.",
"In this JavaScript Algorithm and Data Structures Certification, you'll learn the JavaScript fundamentals like variables, arrays, objects, loops, functions, the DOM and more.",
"You'll also learn about Object Oriented Programming (OOP), Functional Programming, algorithmic thinking, how to work with local storage, and how to fetch data using an API."
],
"note": "Note: Some browser extensions, such as ad-blockers and script-blockers can interfere with the tests. If you face issues, we recommend disabling extensions that modify or block the content of pages while taking the course.",
"blocks": {
"build-a-pokemon-search-app-project": {
"title": "Build a Pokémon Search App Project",
"intro": [
"This is one of the required projects to earn your certification.",
"For this project, you will build a Pokémon search app."
]
},
"build-a-cash-register-project": {
"title": "Build a Cash Register Project",
"intro": [
"This is one of the required projects to earn your certification.",
"For this project, you'll build a cash register web app."
]
},
"build-a-palindrome-checker-project": {
"title": "Build a Palindrome Checker Project",
"intro": [
"This is one of the required projects to earn your certification.",
"For this project, you'll build an application that checks whether a given word is a palindrome."
]
},
"build-a-roman-numeral-converter-project": {
"title": "Build a Roman Numeral Converter Project",
"intro": [
"This is one of the required projects to claim your certification.",
"For this project, you'll build an application that converts integers to Roman numerals."
]
},
"build-a-telephone-number-validator-project": {
"title": "Build a Telephone Number Validator Project",
"intro": [
"This is one of the required projects to claim your certification.",
"For this project, you'll build an application that checks if a number is a valid United States phone number."
]
},
"learn-basic-javascript-by-building-a-role-playing-game": {
"title": "Learn Basic JavaScript by Building a Role Playing Game",
"intro": [
"JavaScript is a powerful scripting language that you can use to make web pages interactive. It's one of the core technologies of the web, along with HTML and CSS. All modern browsers support JavaScript.",
"In this practice project, you'll learn fundamental programming concepts in JavaScript by coding your own Role Playing Game. You'll learn how to work with arrays, strings, objects, functions, loops, <code>if/else</code> statements, and more."
]
},
"learn-form-validation-by-building-a-calorie-counter": {
"title": "Learn Form Validation by Building a Calorie Counter",
"intro": [
"Sometimes when you're coding a web application, you'll need to be able to accept input from a user. In this calorie counter project, you'll learn how to validate user input, perform calculations based on that input, and dynamically update your interface to display the results.",
"In this practice project, you'll learn basic regular expressions, template literals, the <code>addEventListener()</code> method, and more."
]
},
"learn-functional-programming-by-building-a-spreadsheet": {
"title": "Learn Functional Programming by Building a Spreadsheet",
"intro": [
"Functional Programming is a popular approach to software development. In Functional Programming, developers organize code into smaller functions, then combine those functions to build complex programs.",
"In this spreadsheet application project, you'll learn about parsing and evaluating mathematical expressions, implementing spreadsheet functions, handling cell references, and creating interactive web interfaces. You'll learn how to dynamically update the page based on user input.",
"This project will cover concepts like the <code>map()</code>, <code>find()</code>, and <code>includes()</code> methods and the <code>parseInt()</code> function."
]
},
"learn-modern-javascript-methods-by-building-football-team-cards": {
"title": "Learn Modern JavaScript Methods by Building Football Team Cards",
"intro": [
"One common aspect of building web applications: processing datasets, and then outputting information to the screen. In this sports team cards project, you'll learn how to work with DOM manipulation, object destructuring, event handling, and data filtering.",
"This project will cover concepts like switch statements, default parameters, <code>Object.freeze()</code>, the <code>map()</code> method, and more."
]
},
"learn-advanced-array-methods-by-building-a-statistics-calculator": {
"title": "Learn Advanced Array Methods by Building a Statistics Calculator",
"intro": [
"As you expand your JavaScript skills, you'll want to get comfortable with array manipulation methods, such as <code>map()</code>, <code>reduce()</code>, and <code>filter()</code>.",
"In this statistics calculator project, you'll gain experience with handling user input, DOM manipulation, and method chaining. You'll get practice by performing statistical calculations like mean, median, mode, variance, and standard deviation."
]
},
"learn-basic-oop-by-building-a-shopping-cart": {
"title": "Learn Basic OOP by Building a Shopping Cart",
"intro": [
"OOP, or Object Oriented Programming, is one of the major approaches to the software development process. In OOP, developers use objects and classes to structure their code.",
"In this shopping cart project, you'll learn how to define classes and use them. You'll create class instances and implement methods for data manipulation.",
"This project will cover concepts like the ternary operator, the spread operator, the <code>this</code> keyword, and more."
]
},
"learn-fetch-and-promises-by-building-an-fcc-authors-page": {
"title": "Learn Fetch and Promises by Building an fCC Authors Page",
"intro": [
"One common aspect of web development is learning how to fetch data from an external API, then work with asynchronous JavaScript.",
"This freeCodeCamp authors page project will show you how to use the fetch method, then dynamically update the DOM to display the fetched data.",
"This project will also teach you how to paginate your data so you can load results in batches."
]
},
"learn-regular-expressions-by-building-a-spam-filter": {
"title": "Learn Regular Expressions by Building a Spam Filter",
"intro": [
"Regular expressions, often shortened to \"regex\" or \"regexp\", are patterns that help programmers match, search, and replace text. Regular expressions are powerful, but can be difficult to understand because they use so many special characters.",
"In this spam filter project, you'll learn about capture groups, positive lookaheads, negative lookaheads, and other techniques to match any text you want."
]
},
"learn-basic-algorithmic-thinking-by-building-a-number-sorter": {
"title": "Learn Basic Algorithmic Thinking by Building a Number Sorter",
"intro": [
"In computer science, there are fundamental sorting algorithms that all developers should learn. In this number sorter project, you'll learn how to implement and visualize different sorting algorithms like bubble sort, selection sort, and insertion sort – all with JavaScript.",
"This project will help you understand the fundamental concepts behind these algorithms, and how you can apply them to sort numerical data in web applications."
]
},
"review-algorithmic-thinking-by-building-a-dice-game": {
"title": "Review Algorithmic Thinking by Building a Dice Game",
"intro": [
"Algorithmic thinking involves the ability to break down complex problems into a sequence of well-defined, step-by-step instructions.",
"In this Dice game project, you’ll learn how to manage game state, implement game logic for rolling dice, keeping score, and applying rules for various combinations.",
"This project covers concepts such as event handling, array manipulation, conditional logic, and updating the user interface dynamically based on game state."
]
},
"learn-intermediate-oop-by-building-a-platformer-game": {
"title": "Learn Intermediate OOP by Building a Platformer Game",
"intro": [
"Coding a game is a great way to grasp fundamental programming principles, while also creating an interactive gaming experience.",
"In this platformer game project, you'll continue to learn about classes, objects, inheritance, and encapsulation. You'll also learn how to design and organize game elements efficiently and gain insights into problem-solving and code reusability."
]
},
"learn-localstorage-by-building-a-todo-app": {
"title": "Learn localStorage by Building a Todo App",
"intro": [
"Local storage is a web browser feature that lets web applications store key-value pairs persistently within a user's browser. This allows web apps to save data during one session, then retrieve it in a later page session.",
"In this TODO application, you'll learn how to handle form inputs, manage local storage, perform CRUD (Create, Read, Update, Delete) operations on tasks, implement event listeners, and toggle UI elements."
]
},
"learn-the-date-object-by-building-a-date-formatter": {
"title": "Learn the Date Object by Building a Date Formatter",
"intro": [
"Working with dates in JavaScript can be challenging. You have to navigate various methods, formats, and time zones. In this project, you'll learn how to work with the JavaScript Date object, including its methods and properties. You'll also learn how to correctly format dates.",
"This project will cover concepts such as the <code>getDate()</code>, <code>getMonth()</code>, and <code>getFullYear()</code> methods."
]
},
"learn-asynchronous-programming-by-building-an-fcc-forum-leaderboard": {
"title": "Learn Asynchronous Programming by Building an fCC Forum Leaderboard",
"intro": [
"JavaScript is an asynchronous programming language. And this project will help you gain proficiency in asynchronous concepts. You'll code your own freeCodeCamp forum leaderboard.",
"This project will cover the Fetch API, promises, Async/Await, and the try..catch statement."
]
},
"learn-basic-string-and-array-methods-by-building-a-music-player": {
"title": "Learn Basic String and Array Methods by Building a Music Player",
"intro": [
"Now let's learn some essential string and array methods like the <code>find()</code>, <code>forEach()</code>, <code>map()</code>, and <code>join()</code>. These methods are crucial for developing dynamic web applications.",
"In this project, you'll code a basic MP3 player using HTML, CSS, and JavaScript. The project covers fundamental concepts such as handling audio playback, managing a playlist, implementing play, pause, next, previous, and shuffle functionalities. You'll even learn how to dynamically update your user interface based on the current song."
]
},
"learn-recursion-by-building-a-decimal-to-binary-converter": {
"title": "Learn Recursion by Building a Decimal to Binary Converter",
"intro": [
"Recursion is a programming concept where a function calls itself. This can reduce a complex problem into simpler sub-problems, until they become straightforward to solve.",
"In this project, you’ll build a decimal-to-binary converter using JavaScript. You’ll learn the fundamental concepts of recursion, explore the call stack, and build out a visual representation of the recursion process through an animation."
]
},
"learn-introductory-javascript-by-building-a-pyramid-generator": {
"title": "Learn Introductory JavaScript by Building a Pyramid Generator",
"intro": [
"JavaScript is a powerful scripting language that you can use to make web pages interactive. It's one of the core technologies of the web, along with HTML and CSS. All modern browsers support JavaScript.",
"In this practice project, you'll learn fundamental programming concepts in JavaScript by coding your own Pyramid Generator. You'll learn how to work with arrays, strings, functions, loops, <code>if/else</code> statements, and more."
]
},
"review-js-fundamentals-by-building-a-gradebook-app": {
"title": "Review JavaScript Fundamentals by Building a Gradebook App",
"intro": [
"In this mini project, you will get to review JavaScript fundamentals like functions, variables, conditionals and more by building a gradebook app.",
"This will give you an opportunity to solve small problems and get a better understanding of the basics."
]
},
"learn-basic-debugging-by-building-a-random-background-color-changer": {
"title": "Learn Basic Debugging by Building a Random Background Color Changer",
"intro": [
"Debugging is the process of going through your code, finding any issues, and fixing them.",
"In this project, you will help CamperBot build a random background color changer and help them find and fix errors."
]
},
"review-dom-manipulation-by-building-a-rock-paper-scissors-game": {
"title": "Review DOM Manipulation by Building a Rock, Paper, Scissors Game",
"intro": [
"In the previous projects you learned how to work with basic DOM manipulation. Now it is time to review what you have learned by building a Rock, Paper, Scissors game.",
"In this mini project, you will review conditionals, functions, <code>getElementById</code>, and more. This project will give you an opportunity to solve small problems and get a better understanding of the basics."
]
}
}
},
"front-end-development-libraries": {
"title": "Front End Development Libraries",
"intro": [
"Now that you're familiar with HTML, CSS, and JavaScript, level up your skills by learning some of the most popular front end libraries in the industry.",
"In the Front End Development Libraries Certification, you'll learn how to style your site quickly with Bootstrap. You'll also learn how to add logic to your CSS styles and extend them with Sass.",
"Later, you'll build a shopping cart and other applications to learn how to create powerful Single Page Applications (SPAs) with React and Redux."
],
"note": "",
"blocks": {
"bootstrap": {
"title": "Bootstrap",
"intro": [
"Bootstrap is a front end framework used to design responsive web pages and applications. It takes a mobile-first approach to web development, and includes pre-built CSS styles and classes, plus some JavaScript functionality.",
"In this course, you'll learn how to build responsive websites with Bootstrap, and use its included classes to style buttons, images, forms, navigation, and other common elements."
]
},
"jquery": {
"title": "jQuery",
"intro": [
"jQuery is one of the most widely used JavaScript libraries in the world.",
"In 2006 when it was released, all major browsers handled JavaScript slightly differently. jQuery simplified the process of writing client-side JavaScript, and also ensured that your code worked the same way in all browsers.",
"In this course, you'll learn how to use jQuery to select, remove, clone, and modify different elements on the page."
]
},
"sass": {
"title": "SASS",
"intro": [
"Sass, or \"Syntactically Awesome StyleSheets\", is a language extension of CSS. It adds features that aren't available in basic CSS, which make it easier for you to simplify and maintain the style sheets for your projects.",
"In this Sass course, you'll learn how to store data in variables, nest CSS, create reusable styles with mixins, add logic and loops to your styles, and more."
]
},
"react": {
"title": "React",
"intro": [
"React is a popular JavaScript library for building reusable, component-driven user interfaces for web pages or applications.",
"React combines HTML with JavaScript functionality into its own markup language called JSX. React also makes it easy to manage the flow of data throughout the application.",
"In this course, you'll learn how to create different React components, manage data in the form of state props, use different lifecycle methods like <code>componentDidMount</code>, and much more."
]
},
"redux": {
"title": "Redux",
"intro": [
"As applications grow in size and scope, managing shared data becomes much more difficult. Redux is defined as a \"predictable state container for JavaScript apps\" that helps ensure your apps work predictably, and are easier to test.",
"While you can use Redux with any view library, we introduce Redux here before combining it with React in the next set of courses.",
"In this course, you'll learn the fundamentals of Redux stores, actions, reducers and middleware to manage data throughout your application."
]
},
"react-and-redux": {
"title": "React and Redux",
"intro": [
"React and Redux are often mentioned together, and with good reason. The developer who created Redux was a React developer who wanted to make it easier to share data across different components.",
"Now that you know how to manage the flow of shared data with Redux, it's time to combine that knowledge with React. In the React and Redux courses, you'll build a React component and learn how to manage state locally at the component level, and throughout the entire application with Redux."
]
},
"front-end-development-libraries-projects": {
"title": "Front End Development Libraries Projects",
"intro": [
"It's time to put your front end development libraries skills to the test. Use Bootstrap, jQuery, Sass, React, and Redux to build 5 projects that will test everything you've learned up to this point.",
"Complete all 5 projects, and you'll earn the Front End Development Libraries certification."
]
}
}
},
"data-visualization": {
"title": "Data Visualization",
"intro": [
"Data is all around us, but it doesn't mean much without shape or context.",
"In the Data Visualization Certification, you'll build charts, graphs, and maps to present different types of data with the D3.js library.",
"You'll also learn about JSON (JavaScript Object Notation), and how to work with data online using an API (Application Programming Interface)."
],
"note": "",
"blocks": {
"data-visualization-with-d3": {
"title": "Data Visualization with D3",
"intro": [
"D3, or D3.js, stands for Data Driven Documents. It's a JavaScript library for creating dynamic and interactive data visualizations in the browser.",
"D3 is built to work with common web standards – namely HTML, CSS, and Scalable Vector Graphics (SVG).",
"D3 supports many different kinds of input data formats. Then, using its powerful built-in methods, you can transform those data into different charts, graphs, and maps.",
"In the Data Visualization with D3 courses, you'll learn how to work with data to create different charts, graphs, hover elements, and other ingredients to create dynamic and attractive data visualizations."
]
},
"json-apis-and-ajax": {
"title": "JSON APIs and AJAX",
"intro": [
"Similar to how UIs help people use programs, APIs (Application Programming Interfaces) help programs interact with other programs. APIs are tools that computers use to communicate with one another, in part to send and receive data.",
"Programmers often use AJAX (Asynchronous JavaScript and XML) when working with APIs. AJAX refers to a group of technologies that make asynchronous requests to a server to transfer data, then load any returned data into the page. And the data transferred between the browser and server is often in a format called JSON (JavaScript Object Notation).",
"This course will teach you the basics about working with APIs and different AJAX technologies in the browser."
]
},
"data-visualization-projects": {
"title": "Data Visualization Projects",
"intro": [
"Now that you learned how to work with D3, APIs, and AJAX technologies, put your skills to the test with these 5 Data Visualization projects.",
"In these projects, you'll need to fetch data and parse a dataset, then use D3 to create different data visualizations. Finish them all to earn your Data Visualization certification."
]
},
"d3-dashboard": {
"title": "D3 Dashboard",
"intro": ["", ""]
}
}
},
"relational-database": {
"title": "Relational Database",
"intro": [
"For these courses, you will use real developer tools and software including VS Code, PostgreSQL, and the Linux / Unix command line to complete interactive tutorials and build projects.",
"These courses start off with basic Bash commands. Using the terminal, you will learn everything from navigating and manipulating a file system, scripting in Bash, all the way to advanced usage.",
"Next, you will learn how to create and use a relational database with PostgreSQL, a database management system, and SQL, the language of these databases.",
"Finally, you will learn Git, the version control system, an essential tool of every developer."
],
"blocks": {
"build-a-celestial-bodies-database-project": {
"title": "Celestial Bodies Database",
"intro": [
"This is one of the required projects to earn your certification.",
"For this project, you will build a database of celestial bodies using PostgreSQL."
]
},
"build-a-number-guessing-game-project": {
"title": "Number Guessing Game",
"intro": [
"This is one of the required projects to earn your certification.",
"For this project, you will use Bash scripting, PostgreSQL, and Git to create a number guessing game that runs in the terminal and saves user information."
]
},
"build-a-periodic-table-database-project": {
"title": "Periodic Table Database",
"intro": [
"This is one of the required projects to earn your certification.",
"For this project, you will create Bash a script to get information about chemical elements from a periodic table database."
]
},
"build-a-salon-appointment-scheduler-project": {
"title": "Salon Appointment Scheduler",
"intro": [
"This is one of the required projects to earn your certification.",
"For this project, you will create an interactive Bash program that uses PostgreSQL to track the customers and appointments for your salon."
]
},
"build-a-world-cup-database-project": {
"title": "World Cup Database",
"intro": [
"This is one of the required projects to earn your certification.",
"For this project, you will create a Bash script that enters information from World Cup games into PostgreSQL, then query the database for useful statistics."
]
},
"learn-advanced-bash-by-building-a-kitty-ipsum-translator": {
"title": "Learn Advanced Bash by Building a Kitty Ipsum Translator",
"intro": [
"There's more to Bash commands than you might think.",
"In this 140-lesson course, you will learn some more complex commands, and the details of how commands work."
]
},
"learn-bash-and-sql-by-building-a-bike-rental-shop": {
"title": "Learn Bash and SQL by Building a Bike Rental Shop",
"intro": [
"In this 210-lesson course, you will build an interactive Bash program that stores rental information for your bike rental shop using PostgreSQL."
]
},
"learn-bash-by-building-a-boilerplate": {
"title": "Learn Bash by Building a Boilerplate",
"intro": [
"The terminal allows you to send text commands to your computer that can manipulate the file system, run programs, automate tasks, and much more.",
"In this 170-lesson course, you will learn terminal commands by creating a website boilerplate using only the command line."
]
},
"learn-bash-scripting-by-building-five-programs": {
"title": "Learn Bash Scripting by Building Five Programs",
"intro": [
"Bash scripts combine terminal commands and logic into programs that can execute or automate tasks, and much more.",
"In this 220-lesson course, you will learn more terminal commands and how to use them within Bash scripts by creating five small programs."
]
},
"learn-git-by-building-an-sql-reference-object": {
"title": "Learn Git by Building an SQL Reference Object",
"intro": [
"Git is a version control system that keeps track of all the changes you make to your codebase.",
"In this 240-lesson course, you will learn how Git keeps track of your code by creating an object containing commonly used SQL commands."
]
},
"learn-nano-by-building-a-castle": {
"title": "Learn Nano by Building a Castle",
"intro": [
"Nano is a program that allows you to edit files right in the terminal.",
"In this 40-lesson course, you will learn how to edit files in the terminal with Nano while building a castle."
]
},
"learn-relational-databases-by-building-a-mario-database": {
"title": "Learn Relational Databases by Building a Mario Database",
"intro": [
"A relational database organizes data into tables that are linked together through relationships.",
"In this 165-lesson course, you will learn the basics of a relational database by creating a PostgreSQL database filled with video game characters."
]
},
"learn-sql-by-building-a-student-database-part-1": {
"title": "Learn SQL by Building a Student Database: Part 1",
"intro": [
"SQL, or Structured Query Language, is the language for communicating with a relational database.",
"In this 140-lesson course, you will create a Bash script that uses SQL to enter information about your computer science students into PostgreSQL."
]
},
"learn-sql-by-building-a-student-database-part-2": {
"title": "Learn SQL by Building a Student Database: Part 2",
"intro": [
"SQL join commands are used to combine information from multiple tables in a relational database",
"In this 140-lesson course, you will complete your student database while diving deeper into SQL commands."
]
}
}
},
"back-end-development-and-apis": {
"title": "Back End Development and APIs",
"intro": [
"Until this point, you've only used JavaScript on the front end to add interactivity to a page, solve algorithm challenges, or build an SPA. But JavaScript can also be used on the back end, or server, to build entire web applications.",
"Today, one of the popular ways to build applications is through microservices, which are small, modular applications that work together to form a larger whole.",
"In the Back End Development and APIs Certification, you'll learn how to write back end apps with Node.js and npm. You'll also build web applications with the Express framework, and build a People Finder microservice with MongoDB and the Mongoose library."
],
"note": "",
"blocks": {
"managing-packages-with-npm": {
"title": "Managing Packages with NPM",
"intro": [
"npm (Node Package Manager), is a command line tool to install, create, and share packages of JavaScript code written for Node.js. There are many open source packages available on npm, so before starting a project, take some time to explore so you don't end up recreating the wheel for things like working with dates or fetching data from an API.",
"In this course, you'll learn the basics of using npm, including how to work with the <code>package.json</code> and how to manage your installed dependencies."
]
},
"basic-node-and-express": {
"title": "Basic Node and Express",
"intro": [
"Node.js is a JavaScript runtime that allows developers to write backend (server-side) programs in JavaScript. Node.js comes with a handful of built-in modules — small, independent programs — that help with this. Some of the core modules include HTTP, which acts like a server, and File System, a module to read and modify files.",
"In the last set of courses you learned to install and manage packages from npm, which are collections of smaller modules. These packages can help you build larger, more complex applications.",
"Express is a lightweight web application framework, and is one of the most popular packages on npm. Express makes it much easier to create a server and handle routing for your application, which handles things like directing people to the correct page when they visit a certain endpoint like <pre>/blog</pre>.",
"In this course, you'll learn the basics of Node and Express including how to create a server, serve different files, and handle different requests from the browser."
]
},
"mongodb-and-mongoose": {
"title": "MongoDB and Mongoose",
"intro": [
"MongoDB is a database application that stores JSON documents (or records) that you can use in your application. Unlike SQL, another type of database, MongoDB is a non-relational or \"NoSQL\" database. This means MongoDB stores all associated data within one record, instead of storing it across many preset tables as in a SQL database.",
"Mongoose is a popular npm package for interacting with MongoDB. With Mongoose, you can use plain JavaScript objects instead of JSON, which makes it easier to work with MongoDB. Also, it allows you to create blueprints for your documents called schemas, so you don't accidentally save the wrong type of data and cause bugs later.",
"In the MongoDB and Mongoose courses, you'll learn the fundamentals of working with persistent data including how to set up a model, and save, delete, and find documents in the database."
]
},
"back-end-development-and-apis-projects": {
"title": "Back End Development and APIs Projects",
"intro": [
"You've worked with APIs before, but now that you know npm, Node, Express, MongoDB, and Mongoose, it's time to build your own. Draw on everything you've learned up to this point to create 5 different microservices, which are smaller applications that are limited in scope.",
"After creating these, you'll have 5 cool microservice APIs you can show off to friends, family, and potential employers. Oh, and you'll have a shiny new Back End Development and APIs Certification, too."
]
}
}
},
"quality-assurance": {
"title": "Quality Assurance",
"intro": [
"As your programs or web applications become more complex, you'll want to test them to make sure that new changes don't break their original functionality.",
"In the Quality Assurance Certification, you'll learn how to write tests with Chai to ensure your applications work the way you expect them to.",
"Then you'll build a chat application to learn advanced Node and Express concepts. You'll also use Pug as a template engine, Passport for authentication, and Socket.io for real-time communication between the server and connected clients."
],
"note": "",
"blocks": {
"quality-assurance-and-testing-with-chai": {
"title": "Quality Assurance and Testing with Chai",
"intro": [
"Chai is a JavaScript testing library that helps you confirm that your program still behaves the way you expect it to after you make changes to your code.",
"Using Chai, you can write tests that describe your program's requirements and see if your program meets them.",
"In this course, you'll learn about assertions, deep equality, truthiness, testing APIs, and other fundamentals for testing JavaScript applications."
]
},
"advanced-node-and-express": {
"title": "Advanced Node and Express",
"intro": [
"Now it's time to take a deep dive into Node.js and Express.js by building a chat application with a sign-in system.",
"To implement the sign-in system safely, you'll need to learn about authentication. This is the act of verifying the identity of a person or process.",
"In this course, you'll learn how to use Passport to manage authentication, Pug to create reusable templates for quickly building the front end, and web sockets for real-time communication between the clients and server."
]
},
"quality-assurance-projects": {
"title": "Quality Assurance Projects",
"intro": [
"Now that you're well versed in both the front end and back end, it's time to apply all the skills and concepts you've learned up to this point. You'll build 5 different web applications, and write tests for each one to make sure they're working and can handle different edge cases.",
"After completing these Quality Assurance projects, you'll have 5 more projects under your belt, and a new certification to show off on your portfolio."
]
}
}
},
"scientific-computing-with-python": {
"title": "Scientific Computing with Python (Beta)",
"intro": [
"The Scientific Computing with Python (Beta) curriculum will equip you with the skills to analyze and manipulate data using Python, a powerful and versatile programming language. You'll learn key concepts like data structures, algorithm, Object Oriented Programming, and how to perform complex calculations using a variety of tools.",
"This comprehensive course will guide you through the fundamentals of scientific computing, including data structures, and algorithms."
],
"note": "",
"blocks": {
"learn-string-manipulation-by-building-a-cipher": {
"title": "Learn String Manipulation by Building a Cipher",
"intro": [
"Python is a powerful and popular programming language widely used for data science, data visualization, web development, game development, machine learning and more.",
"In this project, you'll learn fundamental programming concepts in Python, such as variables, functions, loops, and conditional statements. You'll use these to code your first programs."
]
},
"learn-how-to-work-with-numbers-and-strings-by-implementing-the-luhn-algorithm": {
"title": "Learn How to Work with Numbers and Strings by Implementing the Luhn Algorithm",
"intro": [
"The Luhn Algorithm is widely used for error-checking in various applications, such as verifying credit card numbers.",
"By building this project, you'll gain experience working with numerical computations and string manipulation."
]
},
"learn-list-comprehension-by-building-a-case-converter-program": {
"title": "Learn Python List Comprehension by Building a Case Converter Program",
"intro": [
"List Comprehension is a way to construct a new Python list from an iterable types: lists, tuples, and strings. All without using a for loop or the `.append()` list method.",
"In this project, you'll write a program that takes a string formatted in Camel Case or Pascal Case, then converts it into Snake Case.",
"The project has two phases: first you'll use a for loop to implement the program. Then you'll learn how to use List Comprehension instead of a loop to achieve the same results."
]
},
"learn-regular-expressions-by-building-a-password-generator": {
"title": "Learn Regular Expressions by Building a Password Generator",
"intro": [
"A Python module is a file that contains a set of statements and definitions that you can use in your code.",
"In this project, you'll learn how to import modules from the Python standard library. You'll also learn how to use Regular Expressions by building your own password generator program."
]
},
"learn-algorithm-design-by-building-a-shortest-path-algorithm": {
"title": "Learn Algorithm Design by Building a Shortest Path Algorithm",
"intro": [
"Algorithms are step-by-step procedures that developers use to perform calculations and solve computational problems.",
"In this project, you'll learn how to use functions, loops, conditional statements, and dictionary comprehensions to implement a Shortest Path algorithm."
]
},
"learn-recursion-by-solving-the-tower-of-hanoi-puzzle": {
"title": "Learn Recursion by Solving the Tower of Hanoi Puzzle",
"intro": [
"Recursion is a programming approach that allows you to solve complicated computational problems with just a little code.",
"In this project, you'll start with a loop-based approach to solving the tower of Hanoi mathematical puzzle. Then you'll learn how to implement a recursive solution."
]
},
"learn-data-structures-by-building-the-merge-sort-algorithm": {
"title": "Learn Data Structures by Building the Merge Sort Algorithm",
"intro": [
"The Merge Sort Algorithm is a sorting algorithm based on the divide and conquer principle.",
"In this project, you'll learn how to interact with data structures by sorting a list of random numbers using the Merge Sort Algorithm."
]
},
"learn-classes-and-objects-by-building-a-sudoku-solver": {
"title": "Learn Classes and Objects by Building a Sudoku Solver",
"intro": [
"Classes and objects are important programming concepts. These Object-Oriented Programming tools help developers to achieve code modularity, abstraction, and readability. And they promote reusability.",
"In this Sudoku Solver project, you'll learn how to use classes and objects to build a Sudoku grid and to solve a Sudoku puzzle."
]
},
"learn-tree-traversal-by-building-a-binary-search-tree": {
"title": "Learn Tree Traversal by Building a Binary Search Tree",
"intro": [
"A Binary Search Tree (BST) is an common data structure where data is sorted hierarchically.",
"In this project, you'll learn how to construct your own BST and perform an in-order traversal. You'll also learn key operations like insertion, search, and deletion."
]
},
"learn-lambda-functions-by-building-an-expense-tracker": {
"title": "Learn Lambda Functions by Building an Expense Tracker",
"intro": [
"Lambda functions give you a concise way to write small, throwaway functions in your code.",
"In this project, you'll explore the power of Lambda Functions by creating an expense tracker. Your resulting app will demonstrate how you can use Lambda Functions for efficient, streamlined operations."
]
},
"build-an-arithmetic-formatter-project": {
"title": "Build an Arithmetic Formatter Project",
"intro": [
"This is one of the required projects to claim your certification."
]
},
"build-a-time-calculator-project": {
"title": "Build a Time Calculator Project",
"intro": [
"This is one of the required projects to claim your certification."
]
},
"build-a-budget-app-project": {
"title": "Build a Budget App Project",
"intro": [
"This is one of the required projects to claim your certification."
]
},
"build-a-polygon-area-calculator-project": {
"title": "Build a Polygon Area Calculator Project",
"intro": [
"This is one of the required projects to claim your certification."
]
},
"build-a-probability-calculator-project": {
"title": "Build a Probability Calculator Project",
"intro": [
"This is one of the required projects to claim your certification."
]
},
"learn-special-methods-by-building-a-vector-space": {
"title": "Learn Special Methods by Building a Vector Space",
"intro": [
"Python special methods are called in response to specific operations and enable you to customize the behaviour of your objects in a detailed and effective way.",
"In this project, you are going to explore some of the most common special methods while learning about vectors by building a vector space."
]
},
"learn-encapsulation-by-building-a-projectile-trajectory-calculator": {
"title": "Learn Encapsulation by Building a Projectile Trajectory Calculator",
"intro": [
"Encapsulation is a core OOP principle based on writing code that limits direct access to data.",
"In this project, you'll discover new concepts related to encapsulation, such as getters, setters, and name mangling, and you'll use them together with what you already learned to create a program that calculates a projectile trajectory."
]
},
"learn-the-bisection-method-by-finding-the-square-root-of-a-number": {
"title": "Learn the Bisection Method by Finding the Square Root of a Number",
"intro": [
"Numerical methods are used to approximate solutions to mathematical problems that are difficult or impossible to solve analytically.",
"In this project, you will explore the numerical method of bisection to find the square root of a number by iteratively narrowing down the possible range of values that contain the square root."
]
}
}
},
"data-analysis-with-python": {
"title": "Data Analysis with Python",
"intro": [
"Data Analysis has been around for a long time. But up until a few years ago, developers practiced it using expensive, closed-source tools like Tableau. But recently, Python, SQL, and other open libraries have changed Data Analysis forever.",
"In the Data Analysis with Python Certification, you'll learn the fundamentals of data analysis with Python. By the end of this certification, you'll know how to read data from sources like CSVs and SQL, and how to use libraries like Numpy, Pandas, Matplotlib, and Seaborn to process and visualize data."
],
"note": "",
"blocks": {
"data-analysis-with-python-course": {
"title": "Data Analysis with Python",
"intro": [
"In these comprehensive video courses, created by Santiago Basulto, you will learn the whole process of data analysis. You'll be reading data from multiple sources (CSV, SQL, Excel), process that data using NumPy and Pandas, and visualize it using Matplotlib and Seaborn,",
"Additionally, we've included a thorough Jupyter Notebook course, and a quick Python reference to refresh your programming skills."
]
},
"numpy": {
"title": "Numpy",
"intro": [
"Learn the basics of the NumPy library in the following video course created by Keith Galli.",
"In this course, you'll learn how NumPy works and how it compares to Python's built-in lists. You'll also learn how to write code with NumPy, indexing, reshaping, applied statistics, and much more."
]
},
"data-analysis-with-python-projects": {
"title": "Data Analysis with Python Projects",
"intro": [
"There are many ways to analyze data with Python. By completing these projects, you will demonstrate that you have a good foundational knowledge of data analysis with Python.",
"Finish them all to claim your Data Analysis with Python certification."
]
}
}
},
"information-security": {
"title": "Information Security",
"intro": [
"With everything we do online, there's a vast amount of sensitive information at risk: email addresses, passwords, phone numbers, and much more.",
"With the Information Security Certification, you'll build a secure web app with HelmetJS to learn the fundamentals of protecting people's information online.",
"You'll also build a TCP client, and an Nmap and port scanner in Python. This will help you learn the basics of penetration testing — an important component of good information security."
],
"note": "",
"blocks": {
"information-security-with-helmetjs": {
"title": "Information Security with HelmetJS",
"intro": [
"This programming course focuses on HelmetJS, a type of middleware for Express-based applications that automatically sets HTTP headers. This way it can prevent sensitive information from unintentionally being passed between the server and client.",
"Completing the courses below will help you understand how to protect your website from malicious behavior."
]
},
"python-for-penetration-testing": {
"title": "Python for Penetration Testing",
"intro": [
"These video courses teach you penetration testing with Python. Also known as a pen test, penetration testing is a simulated attack against a system to check for vulnerabilities.",
"In this course, you'll learn about sockets, create a TCP server and client, build an Nmap scanner, and other tools and techniques that pen testers use daily."
]
},
"information-security-projects": {
"title": "Information Security Projects",
"intro": [
"Now it’s time to put your new information security skills to work. These projects will give you a chance to apply the infosec skills, principles, and concepts you've learned.",
"When you are done, you will have plenty of information security projects under your belt, along with a certification that you can show off to friends, family, and employers."
]
}
}
},
"machine-learning-with-python": {
"title": "Machine Learning with Python",
"intro": [
"Machine learning has many practical applications that you can use in your projects or on the job.",
"In the Machine Learning with Python Certification, you'll use the TensorFlow framework to build several neural networks and explore more advanced techniques like natural language processing and reinforcement learning.",
"You'll also dive into neural networks, and learn the principles behind how deep, recurrent, and convolutional neural networks work."
],
"note": "",
"blocks": {
"tensorflow": {
"title": "TensorFlow",
"intro": [
"TensorFlow is an open source framework that makes machine learning and neural networking easier to use.",
"The following video course was created by Tim Ruscica, also known as “Tech With Tim”. It will help you to understand TensorFlow and some of its powerful capabilities."
]
},
"how-neural-networks-work": {
"title": "How Neural Networks Work",
"intro": [
"Neural networks are at the core of what we call artificial intelligence today. But historically they've been hard to understand. Especially for beginners in the machine learning field.",
"Even if you are completely new to neural networks, these video courses by Brandon Rohrer will get you comfortable with the concepts and the math behind them."
]
},
"machine-learning-with-python-projects": {
"title": "Machine Learning with Python Projects",
"intro": [
"Machine learning has many practical applications. By completing these free and challenging coding projects, you will demonstrate that you have a good foundational knowledge of machine learning, and qualify for your Machine Learning with Python certification."
]