diff --git a/Basic-JavaScript/.DS_Store b/JavaScript Algorithms and Data Structures/01-Basic-JavaScript/.DS_Store similarity index 100% rename from Basic-JavaScript/.DS_Store rename to JavaScript Algorithms and Data Structures/01-Basic-JavaScript/.DS_Store diff --git a/Basic-JavaScript/001-CommentYourJavaScriptCode.js b/JavaScript Algorithms and Data Structures/01-Basic-JavaScript/001-CommentYourJavaScriptCode.js similarity index 100% rename from Basic-JavaScript/001-CommentYourJavaScriptCode.js rename to JavaScript Algorithms and Data Structures/01-Basic-JavaScript/001-CommentYourJavaScriptCode.js diff --git a/Basic-JavaScript/002-DeclareJavaScriptVariables.js b/JavaScript Algorithms and Data Structures/01-Basic-JavaScript/002-DeclareJavaScriptVariables.js similarity index 100% rename from Basic-JavaScript/002-DeclareJavaScriptVariables.js rename to JavaScript Algorithms and Data Structures/01-Basic-JavaScript/002-DeclareJavaScriptVariables.js diff --git a/Basic-JavaScript/003-StoringValueswiththeAssignmentOperator.js b/JavaScript Algorithms and Data Structures/01-Basic-JavaScript/003-StoringValueswiththeAssignmentOperator.js similarity index 100% rename from Basic-JavaScript/003-StoringValueswiththeAssignmentOperator.js rename to JavaScript Algorithms and Data Structures/01-Basic-JavaScript/003-StoringValueswiththeAssignmentOperator.js diff --git a/Basic-JavaScript/004-AssigningtheValueofOneVariabletoAnother.js b/JavaScript Algorithms and Data Structures/01-Basic-JavaScript/004-AssigningtheValueofOneVariabletoAnother.js similarity index 100% rename from Basic-JavaScript/004-AssigningtheValueofOneVariabletoAnother.js rename to JavaScript Algorithms and Data Structures/01-Basic-JavaScript/004-AssigningtheValueofOneVariabletoAnother.js diff --git a/Basic-JavaScript/005-InitializingVariableswiththeAssignmentOperator.js b/JavaScript Algorithms and Data Structures/01-Basic-JavaScript/005-InitializingVariableswiththeAssignmentOperator.js similarity index 100% rename from Basic-JavaScript/005-InitializingVariableswiththeAssignmentOperator.js rename to JavaScript Algorithms and Data Structures/01-Basic-JavaScript/005-InitializingVariableswiththeAssignmentOperator.js diff --git a/Basic-JavaScript/006-UnderstandingUninitializedVariables.js b/JavaScript Algorithms and Data Structures/01-Basic-JavaScript/006-UnderstandingUninitializedVariables.js similarity index 100% rename from Basic-JavaScript/006-UnderstandingUninitializedVariables.js rename to JavaScript Algorithms and Data Structures/01-Basic-JavaScript/006-UnderstandingUninitializedVariables.js diff --git a/Basic-JavaScript/007-UnderstandingCaseSensitivityinVariables.js b/JavaScript Algorithms and Data Structures/01-Basic-JavaScript/007-UnderstandingCaseSensitivityinVariables.js similarity index 100% rename from Basic-JavaScript/007-UnderstandingCaseSensitivityinVariables.js rename to JavaScript Algorithms and Data Structures/01-Basic-JavaScript/007-UnderstandingCaseSensitivityinVariables.js diff --git a/Basic-JavaScript/008-AddTwoNumberswithJavaScript.js b/JavaScript Algorithms and Data Structures/01-Basic-JavaScript/008-AddTwoNumberswithJavaScript.js similarity index 100% rename from Basic-JavaScript/008-AddTwoNumberswithJavaScript.js rename to JavaScript Algorithms and Data Structures/01-Basic-JavaScript/008-AddTwoNumberswithJavaScript.js diff --git a/Basic-JavaScript/009-SubtractOneNumberfromAnotherwithJavaScript.js b/JavaScript Algorithms and Data Structures/01-Basic-JavaScript/009-SubtractOneNumberfromAnotherwithJavaScript.js similarity index 100% rename from Basic-JavaScript/009-SubtractOneNumberfromAnotherwithJavaScript.js rename to JavaScript Algorithms and Data Structures/01-Basic-JavaScript/009-SubtractOneNumberfromAnotherwithJavaScript.js diff --git a/Basic-JavaScript/010-MultiplyTwoNumberswithJavaScript.js b/JavaScript Algorithms and Data Structures/01-Basic-JavaScript/010-MultiplyTwoNumberswithJavaScript.js similarity index 100% rename from Basic-JavaScript/010-MultiplyTwoNumberswithJavaScript.js rename to JavaScript Algorithms and Data Structures/01-Basic-JavaScript/010-MultiplyTwoNumberswithJavaScript.js diff --git a/Basic-JavaScript/011-DivideOneNumberbyAnotherwithJavaScript.js b/JavaScript Algorithms and Data Structures/01-Basic-JavaScript/011-DivideOneNumberbyAnotherwithJavaScript.js similarity index 100% rename from Basic-JavaScript/011-DivideOneNumberbyAnotherwithJavaScript.js rename to JavaScript Algorithms and Data Structures/01-Basic-JavaScript/011-DivideOneNumberbyAnotherwithJavaScript.js diff --git a/Basic-JavaScript/012-IncrementaNumberwithJavaScript.js b/JavaScript Algorithms and Data Structures/01-Basic-JavaScript/012-IncrementaNumberwithJavaScript.js similarity index 100% rename from Basic-JavaScript/012-IncrementaNumberwithJavaScript.js rename to JavaScript Algorithms and Data Structures/01-Basic-JavaScript/012-IncrementaNumberwithJavaScript.js diff --git a/Basic-JavaScript/013-DecrementaNumberwithJavaScript.js b/JavaScript Algorithms and Data Structures/01-Basic-JavaScript/013-DecrementaNumberwithJavaScript.js similarity index 100% rename from Basic-JavaScript/013-DecrementaNumberwithJavaScript.js rename to JavaScript Algorithms and Data Structures/01-Basic-JavaScript/013-DecrementaNumberwithJavaScript.js diff --git a/Basic-JavaScript/014-CreateDecimalNumberswithJavaScript.js b/JavaScript Algorithms and Data Structures/01-Basic-JavaScript/014-CreateDecimalNumberswithJavaScript.js similarity index 100% rename from Basic-JavaScript/014-CreateDecimalNumberswithJavaScript.js rename to JavaScript Algorithms and Data Structures/01-Basic-JavaScript/014-CreateDecimalNumberswithJavaScript.js diff --git a/Basic-JavaScript/015-MultiplyTwoDecimalswithJavaScript.js b/JavaScript Algorithms and Data Structures/01-Basic-JavaScript/015-MultiplyTwoDecimalswithJavaScript.js similarity index 100% rename from Basic-JavaScript/015-MultiplyTwoDecimalswithJavaScript.js rename to JavaScript Algorithms and Data Structures/01-Basic-JavaScript/015-MultiplyTwoDecimalswithJavaScript.js diff --git a/Basic-JavaScript/016-DivideOneDecimalbyAnotherwithJavaScript.js b/JavaScript Algorithms and Data Structures/01-Basic-JavaScript/016-DivideOneDecimalbyAnotherwithJavaScript.js similarity index 100% rename from Basic-JavaScript/016-DivideOneDecimalbyAnotherwithJavaScript.js rename to JavaScript Algorithms and Data Structures/01-Basic-JavaScript/016-DivideOneDecimalbyAnotherwithJavaScript.js diff --git a/Basic-JavaScript/017-FindingaRemainderinJavaScript.js b/JavaScript Algorithms and Data Structures/01-Basic-JavaScript/017-FindingaRemainderinJavaScript.js similarity index 100% rename from Basic-JavaScript/017-FindingaRemainderinJavaScript.js rename to JavaScript Algorithms and Data Structures/01-Basic-JavaScript/017-FindingaRemainderinJavaScript.js diff --git a/Basic-JavaScript/018-CompoundAssignmentWithAugmentedAddition.js b/JavaScript Algorithms and Data Structures/01-Basic-JavaScript/018-CompoundAssignmentWithAugmentedAddition.js similarity index 100% rename from Basic-JavaScript/018-CompoundAssignmentWithAugmentedAddition.js rename to JavaScript Algorithms and Data Structures/01-Basic-JavaScript/018-CompoundAssignmentWithAugmentedAddition.js diff --git a/Basic-JavaScript/019-CompoundAssignmentWithAugmentedSubtraction.js b/JavaScript Algorithms and Data Structures/01-Basic-JavaScript/019-CompoundAssignmentWithAugmentedSubtraction.js similarity index 100% rename from Basic-JavaScript/019-CompoundAssignmentWithAugmentedSubtraction.js rename to JavaScript Algorithms and Data Structures/01-Basic-JavaScript/019-CompoundAssignmentWithAugmentedSubtraction.js diff --git a/Basic-JavaScript/020-CompoundAssignmentWithAugmentedMultiplication.js b/JavaScript Algorithms and Data Structures/01-Basic-JavaScript/020-CompoundAssignmentWithAugmentedMultiplication.js similarity index 100% rename from Basic-JavaScript/020-CompoundAssignmentWithAugmentedMultiplication.js rename to JavaScript Algorithms and Data Structures/01-Basic-JavaScript/020-CompoundAssignmentWithAugmentedMultiplication.js diff --git a/Basic-JavaScript/021-CompoundAssignmentWithAugmentedDivision.js b/JavaScript Algorithms and Data Structures/01-Basic-JavaScript/021-CompoundAssignmentWithAugmentedDivision.js similarity index 100% rename from Basic-JavaScript/021-CompoundAssignmentWithAugmentedDivision.js rename to JavaScript Algorithms and Data Structures/01-Basic-JavaScript/021-CompoundAssignmentWithAugmentedDivision.js diff --git a/Basic-JavaScript/022-DeclareStringVariables.js b/JavaScript Algorithms and Data Structures/01-Basic-JavaScript/022-DeclareStringVariables.js similarity index 100% rename from Basic-JavaScript/022-DeclareStringVariables.js rename to JavaScript Algorithms and Data Structures/01-Basic-JavaScript/022-DeclareStringVariables.js diff --git a/Basic-JavaScript/023-EscapingLiteralQuotesinStrings.js b/JavaScript Algorithms and Data Structures/01-Basic-JavaScript/023-EscapingLiteralQuotesinStrings.js similarity index 100% rename from Basic-JavaScript/023-EscapingLiteralQuotesinStrings.js rename to JavaScript Algorithms and Data Structures/01-Basic-JavaScript/023-EscapingLiteralQuotesinStrings.js diff --git a/Basic-JavaScript/024-QuotingStringswithSingleQuotes.js b/JavaScript Algorithms and Data Structures/01-Basic-JavaScript/024-QuotingStringswithSingleQuotes.js similarity index 100% rename from Basic-JavaScript/024-QuotingStringswithSingleQuotes.js rename to JavaScript Algorithms and Data Structures/01-Basic-JavaScript/024-QuotingStringswithSingleQuotes.js diff --git a/Basic-JavaScript/025-EscapeSequencesinStrings.js b/JavaScript Algorithms and Data Structures/01-Basic-JavaScript/025-EscapeSequencesinStrings.js similarity index 100% rename from Basic-JavaScript/025-EscapeSequencesinStrings.js rename to JavaScript Algorithms and Data Structures/01-Basic-JavaScript/025-EscapeSequencesinStrings.js diff --git a/Basic-JavaScript/026-ConcatenatingStringswithPlusOperator.js b/JavaScript Algorithms and Data Structures/01-Basic-JavaScript/026-ConcatenatingStringswithPlusOperator.js similarity index 100% rename from Basic-JavaScript/026-ConcatenatingStringswithPlusOperator.js rename to JavaScript Algorithms and Data Structures/01-Basic-JavaScript/026-ConcatenatingStringswithPlusOperator.js diff --git a/Basic-JavaScript/027-ConcatenatingStringswiththePlusEqualsOperator.js b/JavaScript Algorithms and Data Structures/01-Basic-JavaScript/027-ConcatenatingStringswiththePlusEqualsOperator.js similarity index 100% rename from Basic-JavaScript/027-ConcatenatingStringswiththePlusEqualsOperator.js rename to JavaScript Algorithms and Data Structures/01-Basic-JavaScript/027-ConcatenatingStringswiththePlusEqualsOperator.js diff --git a/Basic-JavaScript/028-ConstructingStringswithVariables.js b/JavaScript Algorithms and Data Structures/01-Basic-JavaScript/028-ConstructingStringswithVariables.js similarity index 100% rename from Basic-JavaScript/028-ConstructingStringswithVariables.js rename to JavaScript Algorithms and Data Structures/01-Basic-JavaScript/028-ConstructingStringswithVariables.js diff --git a/Basic-JavaScript/029-AppendingVariablestoStrings.js b/JavaScript Algorithms and Data Structures/01-Basic-JavaScript/029-AppendingVariablestoStrings.js similarity index 100% rename from Basic-JavaScript/029-AppendingVariablestoStrings.js rename to JavaScript Algorithms and Data Structures/01-Basic-JavaScript/029-AppendingVariablestoStrings.js diff --git a/Basic-JavaScript/030-FindtheLengthofaString.js b/JavaScript Algorithms and Data Structures/01-Basic-JavaScript/030-FindtheLengthofaString.js similarity index 100% rename from Basic-JavaScript/030-FindtheLengthofaString.js rename to JavaScript Algorithms and Data Structures/01-Basic-JavaScript/030-FindtheLengthofaString.js diff --git a/Basic-JavaScript/031-UseBracketNotationtoFindtheFirstCharacterinaString.js b/JavaScript Algorithms and Data Structures/01-Basic-JavaScript/031-UseBracketNotationtoFindtheFirstCharacterinaString.js similarity index 100% rename from Basic-JavaScript/031-UseBracketNotationtoFindtheFirstCharacterinaString.js rename to JavaScript Algorithms and Data Structures/01-Basic-JavaScript/031-UseBracketNotationtoFindtheFirstCharacterinaString.js diff --git a/Basic-JavaScript/032-UnderstandStringImmutability.js b/JavaScript Algorithms and Data Structures/01-Basic-JavaScript/032-UnderstandStringImmutability.js similarity index 100% rename from Basic-JavaScript/032-UnderstandStringImmutability.js rename to JavaScript Algorithms and Data Structures/01-Basic-JavaScript/032-UnderstandStringImmutability.js diff --git a/Basic-JavaScript/033-UseBracketNotationtoFindtheNthCharacterinaString.js b/JavaScript Algorithms and Data Structures/01-Basic-JavaScript/033-UseBracketNotationtoFindtheNthCharacterinaString.js similarity index 100% rename from Basic-JavaScript/033-UseBracketNotationtoFindtheNthCharacterinaString.js rename to JavaScript Algorithms and Data Structures/01-Basic-JavaScript/033-UseBracketNotationtoFindtheNthCharacterinaString.js diff --git a/Basic-JavaScript/034-UseBracketNotationtoFindtheLastCharacterinaString.js b/JavaScript Algorithms and Data Structures/01-Basic-JavaScript/034-UseBracketNotationtoFindtheLastCharacterinaString.js similarity index 100% rename from Basic-JavaScript/034-UseBracketNotationtoFindtheLastCharacterinaString.js rename to JavaScript Algorithms and Data Structures/01-Basic-JavaScript/034-UseBracketNotationtoFindtheLastCharacterinaString.js diff --git a/Basic-JavaScript/035-UseBracketNotationtoFindtheNth-to-LastCharacterinaString.js b/JavaScript Algorithms and Data Structures/01-Basic-JavaScript/035-UseBracketNotationtoFindtheNth-to-LastCharacterinaString.js similarity index 100% rename from Basic-JavaScript/035-UseBracketNotationtoFindtheNth-to-LastCharacterinaString.js rename to JavaScript Algorithms and Data Structures/01-Basic-JavaScript/035-UseBracketNotationtoFindtheNth-to-LastCharacterinaString.js diff --git a/Basic-JavaScript/036-WordBlanks.js b/JavaScript Algorithms and Data Structures/01-Basic-JavaScript/036-WordBlanks.js similarity index 100% rename from Basic-JavaScript/036-WordBlanks.js rename to JavaScript Algorithms and Data Structures/01-Basic-JavaScript/036-WordBlanks.js diff --git a/Basic-JavaScript/037-StoreMultipleValuesinoneVariableusingJavaScriptArrays.js b/JavaScript Algorithms and Data Structures/01-Basic-JavaScript/037-StoreMultipleValuesinoneVariableusingJavaScriptArrays.js similarity index 100% rename from Basic-JavaScript/037-StoreMultipleValuesinoneVariableusingJavaScriptArrays.js rename to JavaScript Algorithms and Data Structures/01-Basic-JavaScript/037-StoreMultipleValuesinoneVariableusingJavaScriptArrays.js diff --git a/Basic-JavaScript/038-NestoneArraywithinAnotherArray.js b/JavaScript Algorithms and Data Structures/01-Basic-JavaScript/038-NestoneArraywithinAnotherArray.js similarity index 100% rename from Basic-JavaScript/038-NestoneArraywithinAnotherArray.js rename to JavaScript Algorithms and Data Structures/01-Basic-JavaScript/038-NestoneArraywithinAnotherArray.js diff --git a/Basic-JavaScript/039-AccessArrayDatawithIndexes.js b/JavaScript Algorithms and Data Structures/01-Basic-JavaScript/039-AccessArrayDatawithIndexes.js similarity index 100% rename from Basic-JavaScript/039-AccessArrayDatawithIndexes.js rename to JavaScript Algorithms and Data Structures/01-Basic-JavaScript/039-AccessArrayDatawithIndexes.js diff --git a/Basic-JavaScript/040-ModifyArrayDataWithIndexes.js b/JavaScript Algorithms and Data Structures/01-Basic-JavaScript/040-ModifyArrayDataWithIndexes.js similarity index 100% rename from Basic-JavaScript/040-ModifyArrayDataWithIndexes.js rename to JavaScript Algorithms and Data Structures/01-Basic-JavaScript/040-ModifyArrayDataWithIndexes.js diff --git a/Basic-JavaScript/041-AccessMulti-DimensionalArraysWithIndexes.js b/JavaScript Algorithms and Data Structures/01-Basic-JavaScript/041-AccessMulti-DimensionalArraysWithIndexes.js similarity index 100% rename from Basic-JavaScript/041-AccessMulti-DimensionalArraysWithIndexes.js rename to JavaScript Algorithms and Data Structures/01-Basic-JavaScript/041-AccessMulti-DimensionalArraysWithIndexes.js diff --git a/Basic-JavaScript/042-ManipulateArraysWithpush().js b/JavaScript Algorithms and Data Structures/01-Basic-JavaScript/042-ManipulateArraysWithpush().js similarity index 100% rename from Basic-JavaScript/042-ManipulateArraysWithpush().js rename to JavaScript Algorithms and Data Structures/01-Basic-JavaScript/042-ManipulateArraysWithpush().js diff --git a/Basic-JavaScript/043-ManipulateArraysWithpop().js b/JavaScript Algorithms and Data Structures/01-Basic-JavaScript/043-ManipulateArraysWithpop().js similarity index 100% rename from Basic-JavaScript/043-ManipulateArraysWithpop().js rename to JavaScript Algorithms and Data Structures/01-Basic-JavaScript/043-ManipulateArraysWithpop().js diff --git a/Basic-JavaScript/044-ManipulateArraysWithshift().js b/JavaScript Algorithms and Data Structures/01-Basic-JavaScript/044-ManipulateArraysWithshift().js similarity index 100% rename from Basic-JavaScript/044-ManipulateArraysWithshift().js rename to JavaScript Algorithms and Data Structures/01-Basic-JavaScript/044-ManipulateArraysWithshift().js diff --git a/Basic-JavaScript/045-ManipulateArraysWithunshift().js b/JavaScript Algorithms and Data Structures/01-Basic-JavaScript/045-ManipulateArraysWithunshift().js similarity index 100% rename from Basic-JavaScript/045-ManipulateArraysWithunshift().js rename to JavaScript Algorithms and Data Structures/01-Basic-JavaScript/045-ManipulateArraysWithunshift().js diff --git a/Basic-JavaScript/046-ShoppingList.js b/JavaScript Algorithms and Data Structures/01-Basic-JavaScript/046-ShoppingList.js similarity index 100% rename from Basic-JavaScript/046-ShoppingList.js rename to JavaScript Algorithms and Data Structures/01-Basic-JavaScript/046-ShoppingList.js diff --git a/Basic-JavaScript/047-WriteReusableJavaScriptwithFunctions.js b/JavaScript Algorithms and Data Structures/01-Basic-JavaScript/047-WriteReusableJavaScriptwithFunctions.js similarity index 100% rename from Basic-JavaScript/047-WriteReusableJavaScriptwithFunctions.js rename to JavaScript Algorithms and Data Structures/01-Basic-JavaScript/047-WriteReusableJavaScriptwithFunctions.js diff --git a/Basic-JavaScript/048-PassingValuestoFunctionswithArguments.js b/JavaScript Algorithms and Data Structures/01-Basic-JavaScript/048-PassingValuestoFunctionswithArguments.js similarity index 100% rename from Basic-JavaScript/048-PassingValuestoFunctionswithArguments.js rename to JavaScript Algorithms and Data Structures/01-Basic-JavaScript/048-PassingValuestoFunctionswithArguments.js diff --git a/Basic-JavaScript/049-GlobalScopeandFunctions.js b/JavaScript Algorithms and Data Structures/01-Basic-JavaScript/049-GlobalScopeandFunctions.js similarity index 100% rename from Basic-JavaScript/049-GlobalScopeandFunctions.js rename to JavaScript Algorithms and Data Structures/01-Basic-JavaScript/049-GlobalScopeandFunctions.js diff --git a/Basic-JavaScript/050-LocalScopeandFunctions.js b/JavaScript Algorithms and Data Structures/01-Basic-JavaScript/050-LocalScopeandFunctions.js similarity index 100% rename from Basic-JavaScript/050-LocalScopeandFunctions.js rename to JavaScript Algorithms and Data Structures/01-Basic-JavaScript/050-LocalScopeandFunctions.js diff --git a/Basic-JavaScript/051-Globalvs.LocalScopeinFunctions.js b/JavaScript Algorithms and Data Structures/01-Basic-JavaScript/051-Globalvs.LocalScopeinFunctions.js similarity index 100% rename from Basic-JavaScript/051-Globalvs.LocalScopeinFunctions.js rename to JavaScript Algorithms and Data Structures/01-Basic-JavaScript/051-Globalvs.LocalScopeinFunctions.js diff --git a/Basic-JavaScript/052-ReturnaValuefromaFunctionwithReturn.js b/JavaScript Algorithms and Data Structures/01-Basic-JavaScript/052-ReturnaValuefromaFunctionwithReturn.js similarity index 100% rename from Basic-JavaScript/052-ReturnaValuefromaFunctionwithReturn.js rename to JavaScript Algorithms and Data Structures/01-Basic-JavaScript/052-ReturnaValuefromaFunctionwithReturn.js diff --git a/Basic-JavaScript/053-UnderstandingUndefinedValuereturnedfromaFunction.js b/JavaScript Algorithms and Data Structures/01-Basic-JavaScript/053-UnderstandingUndefinedValuereturnedfromaFunction.js similarity index 100% rename from Basic-JavaScript/053-UnderstandingUndefinedValuereturnedfromaFunction.js rename to JavaScript Algorithms and Data Structures/01-Basic-JavaScript/053-UnderstandingUndefinedValuereturnedfromaFunction.js diff --git a/Basic-JavaScript/054-AssignmentwithaReturnedValue.js b/JavaScript Algorithms and Data Structures/01-Basic-JavaScript/054-AssignmentwithaReturnedValue.js similarity index 100% rename from Basic-JavaScript/054-AssignmentwithaReturnedValue.js rename to JavaScript Algorithms and Data Structures/01-Basic-JavaScript/054-AssignmentwithaReturnedValue.js diff --git a/Basic-JavaScript/055-StandinLine.js b/JavaScript Algorithms and Data Structures/01-Basic-JavaScript/055-StandinLine.js similarity index 100% rename from Basic-JavaScript/055-StandinLine.js rename to JavaScript Algorithms and Data Structures/01-Basic-JavaScript/055-StandinLine.js diff --git a/Basic-JavaScript/056-UnderstandingBooleanValues.js b/JavaScript Algorithms and Data Structures/01-Basic-JavaScript/056-UnderstandingBooleanValues.js similarity index 100% rename from Basic-JavaScript/056-UnderstandingBooleanValues.js rename to JavaScript Algorithms and Data Structures/01-Basic-JavaScript/056-UnderstandingBooleanValues.js diff --git a/Basic-JavaScript/057-UseConditionalLogicwithIfStatements.js b/JavaScript Algorithms and Data Structures/01-Basic-JavaScript/057-UseConditionalLogicwithIfStatements.js similarity index 100% rename from Basic-JavaScript/057-UseConditionalLogicwithIfStatements.js rename to JavaScript Algorithms and Data Structures/01-Basic-JavaScript/057-UseConditionalLogicwithIfStatements.js diff --git a/Basic-JavaScript/058-ComparisonwiththeEqualityOperator.js b/JavaScript Algorithms and Data Structures/01-Basic-JavaScript/058-ComparisonwiththeEqualityOperator.js similarity index 100% rename from Basic-JavaScript/058-ComparisonwiththeEqualityOperator.js rename to JavaScript Algorithms and Data Structures/01-Basic-JavaScript/058-ComparisonwiththeEqualityOperator.js diff --git a/Basic-JavaScript/059-ComparisonwiththeStrictEqualityOperator.js b/JavaScript Algorithms and Data Structures/01-Basic-JavaScript/059-ComparisonwiththeStrictEqualityOperator.js similarity index 100% rename from Basic-JavaScript/059-ComparisonwiththeStrictEqualityOperator.js rename to JavaScript Algorithms and Data Structures/01-Basic-JavaScript/059-ComparisonwiththeStrictEqualityOperator.js diff --git a/Basic-JavaScript/060-Practicecomparingdifferentvalues.js b/JavaScript Algorithms and Data Structures/01-Basic-JavaScript/060-Practicecomparingdifferentvalues.js similarity index 100% rename from Basic-JavaScript/060-Practicecomparingdifferentvalues.js rename to JavaScript Algorithms and Data Structures/01-Basic-JavaScript/060-Practicecomparingdifferentvalues.js diff --git a/Basic-JavaScript/061-ComparisonwiththeInequalityOperator.js b/JavaScript Algorithms and Data Structures/01-Basic-JavaScript/061-ComparisonwiththeInequalityOperator.js similarity index 100% rename from Basic-JavaScript/061-ComparisonwiththeInequalityOperator.js rename to JavaScript Algorithms and Data Structures/01-Basic-JavaScript/061-ComparisonwiththeInequalityOperator.js diff --git a/Basic-JavaScript/062-ComparisonwiththeStrictInequalityOperator.js b/JavaScript Algorithms and Data Structures/01-Basic-JavaScript/062-ComparisonwiththeStrictInequalityOperator.js similarity index 100% rename from Basic-JavaScript/062-ComparisonwiththeStrictInequalityOperator.js rename to JavaScript Algorithms and Data Structures/01-Basic-JavaScript/062-ComparisonwiththeStrictInequalityOperator.js diff --git a/Basic-JavaScript/063-ComparisonwiththeGreaterThanOperator.js b/JavaScript Algorithms and Data Structures/01-Basic-JavaScript/063-ComparisonwiththeGreaterThanOperator.js similarity index 100% rename from Basic-JavaScript/063-ComparisonwiththeGreaterThanOperator.js rename to JavaScript Algorithms and Data Structures/01-Basic-JavaScript/063-ComparisonwiththeGreaterThanOperator.js diff --git a/Basic-JavaScript/064-ComparisonwiththeGreaterThanOrEqualToOperator.js b/JavaScript Algorithms and Data Structures/01-Basic-JavaScript/064-ComparisonwiththeGreaterThanOrEqualToOperator.js similarity index 100% rename from Basic-JavaScript/064-ComparisonwiththeGreaterThanOrEqualToOperator.js rename to JavaScript Algorithms and Data Structures/01-Basic-JavaScript/064-ComparisonwiththeGreaterThanOrEqualToOperator.js diff --git a/Basic-JavaScript/065-ComparisonwiththeLessThanOperator.js b/JavaScript Algorithms and Data Structures/01-Basic-JavaScript/065-ComparisonwiththeLessThanOperator.js similarity index 100% rename from Basic-JavaScript/065-ComparisonwiththeLessThanOperator.js rename to JavaScript Algorithms and Data Structures/01-Basic-JavaScript/065-ComparisonwiththeLessThanOperator.js diff --git a/Basic-JavaScript/066-ComparisonwiththeLessThanOrEqualToOperator.js b/JavaScript Algorithms and Data Structures/01-Basic-JavaScript/066-ComparisonwiththeLessThanOrEqualToOperator.js similarity index 100% rename from Basic-JavaScript/066-ComparisonwiththeLessThanOrEqualToOperator.js rename to JavaScript Algorithms and Data Structures/01-Basic-JavaScript/066-ComparisonwiththeLessThanOrEqualToOperator.js diff --git a/Basic-JavaScript/067-ComparisonswiththeLogicalAndOperator.js b/JavaScript Algorithms and Data Structures/01-Basic-JavaScript/067-ComparisonswiththeLogicalAndOperator.js similarity index 100% rename from Basic-JavaScript/067-ComparisonswiththeLogicalAndOperator.js rename to JavaScript Algorithms and Data Structures/01-Basic-JavaScript/067-ComparisonswiththeLogicalAndOperator.js diff --git a/Basic-JavaScript/068-ComparisonswiththeLogicalOrOperator.js b/JavaScript Algorithms and Data Structures/01-Basic-JavaScript/068-ComparisonswiththeLogicalOrOperator.js similarity index 100% rename from Basic-JavaScript/068-ComparisonswiththeLogicalOrOperator.js rename to JavaScript Algorithms and Data Structures/01-Basic-JavaScript/068-ComparisonswiththeLogicalOrOperator.js diff --git a/Basic-JavaScript/069-IntroducingElseStatements.js b/JavaScript Algorithms and Data Structures/01-Basic-JavaScript/069-IntroducingElseStatements.js similarity index 100% rename from Basic-JavaScript/069-IntroducingElseStatements.js rename to JavaScript Algorithms and Data Structures/01-Basic-JavaScript/069-IntroducingElseStatements.js diff --git a/Basic-JavaScript/070-IntroducingElseIfStatements.js b/JavaScript Algorithms and Data Structures/01-Basic-JavaScript/070-IntroducingElseIfStatements.js similarity index 100% rename from Basic-JavaScript/070-IntroducingElseIfStatements.js rename to JavaScript Algorithms and Data Structures/01-Basic-JavaScript/070-IntroducingElseIfStatements.js diff --git a/Basic-JavaScript/071-LogicalOrderinIfElseStatements.js b/JavaScript Algorithms and Data Structures/01-Basic-JavaScript/071-LogicalOrderinIfElseStatements.js similarity index 100% rename from Basic-JavaScript/071-LogicalOrderinIfElseStatements.js rename to JavaScript Algorithms and Data Structures/01-Basic-JavaScript/071-LogicalOrderinIfElseStatements.js diff --git a/Basic-JavaScript/072-ChainingIfElseStatements.js b/JavaScript Algorithms and Data Structures/01-Basic-JavaScript/072-ChainingIfElseStatements.js similarity index 100% rename from Basic-JavaScript/072-ChainingIfElseStatements.js rename to JavaScript Algorithms and Data Structures/01-Basic-JavaScript/072-ChainingIfElseStatements.js diff --git a/Basic-JavaScript/073-GolfCode.js b/JavaScript Algorithms and Data Structures/01-Basic-JavaScript/073-GolfCode.js similarity index 100% rename from Basic-JavaScript/073-GolfCode.js rename to JavaScript Algorithms and Data Structures/01-Basic-JavaScript/073-GolfCode.js diff --git a/Basic-JavaScript/074-SelectingfromManyOptionswithSwitchStatements.js b/JavaScript Algorithms and Data Structures/01-Basic-JavaScript/074-SelectingfromManyOptionswithSwitchStatements.js similarity index 100% rename from Basic-JavaScript/074-SelectingfromManyOptionswithSwitchStatements.js rename to JavaScript Algorithms and Data Structures/01-Basic-JavaScript/074-SelectingfromManyOptionswithSwitchStatements.js diff --git a/Basic-JavaScript/075-AddingaDefaultOptioninSwitchStatements.js b/JavaScript Algorithms and Data Structures/01-Basic-JavaScript/075-AddingaDefaultOptioninSwitchStatements.js similarity index 100% rename from Basic-JavaScript/075-AddingaDefaultOptioninSwitchStatements.js rename to JavaScript Algorithms and Data Structures/01-Basic-JavaScript/075-AddingaDefaultOptioninSwitchStatements.js diff --git a/Basic-JavaScript/076-MultipleIdenticalOptionsinSwitchStatements.js b/JavaScript Algorithms and Data Structures/01-Basic-JavaScript/076-MultipleIdenticalOptionsinSwitchStatements.js similarity index 100% rename from Basic-JavaScript/076-MultipleIdenticalOptionsinSwitchStatements.js rename to JavaScript Algorithms and Data Structures/01-Basic-JavaScript/076-MultipleIdenticalOptionsinSwitchStatements.js diff --git a/Basic-JavaScript/077-ReplacingIfElseChainswithSwitch.js b/JavaScript Algorithms and Data Structures/01-Basic-JavaScript/077-ReplacingIfElseChainswithSwitch.js similarity index 100% rename from Basic-JavaScript/077-ReplacingIfElseChainswithSwitch.js rename to JavaScript Algorithms and Data Structures/01-Basic-JavaScript/077-ReplacingIfElseChainswithSwitch.js diff --git a/Basic-JavaScript/078-ReturningBooleanValuesfromFunctions.js b/JavaScript Algorithms and Data Structures/01-Basic-JavaScript/078-ReturningBooleanValuesfromFunctions.js similarity index 100% rename from Basic-JavaScript/078-ReturningBooleanValuesfromFunctions.js rename to JavaScript Algorithms and Data Structures/01-Basic-JavaScript/078-ReturningBooleanValuesfromFunctions.js diff --git a/Basic-JavaScript/079-ReturnEarlyPatternforFunctions.js b/JavaScript Algorithms and Data Structures/01-Basic-JavaScript/079-ReturnEarlyPatternforFunctions.js similarity index 100% rename from Basic-JavaScript/079-ReturnEarlyPatternforFunctions.js rename to JavaScript Algorithms and Data Structures/01-Basic-JavaScript/079-ReturnEarlyPatternforFunctions.js diff --git a/Basic-JavaScript/080-CountingCards.js b/JavaScript Algorithms and Data Structures/01-Basic-JavaScript/080-CountingCards.js similarity index 100% rename from Basic-JavaScript/080-CountingCards.js rename to JavaScript Algorithms and Data Structures/01-Basic-JavaScript/080-CountingCards.js diff --git a/Basic-JavaScript/081-BuildJavaScriptObjects.js b/JavaScript Algorithms and Data Structures/01-Basic-JavaScript/081-BuildJavaScriptObjects.js similarity index 100% rename from Basic-JavaScript/081-BuildJavaScriptObjects.js rename to JavaScript Algorithms and Data Structures/01-Basic-JavaScript/081-BuildJavaScriptObjects.js diff --git a/Basic-JavaScript/082-AccessingObjectPropertieswithDotNotation.js b/JavaScript Algorithms and Data Structures/01-Basic-JavaScript/082-AccessingObjectPropertieswithDotNotation.js similarity index 100% rename from Basic-JavaScript/082-AccessingObjectPropertieswithDotNotation.js rename to JavaScript Algorithms and Data Structures/01-Basic-JavaScript/082-AccessingObjectPropertieswithDotNotation.js diff --git a/Basic-JavaScript/083-AccessingObjectPropertieswithBracketNotation.js b/JavaScript Algorithms and Data Structures/01-Basic-JavaScript/083-AccessingObjectPropertieswithBracketNotation.js similarity index 100% rename from Basic-JavaScript/083-AccessingObjectPropertieswithBracketNotation.js rename to JavaScript Algorithms and Data Structures/01-Basic-JavaScript/083-AccessingObjectPropertieswithBracketNotation.js diff --git a/Basic-JavaScript/084-AccessingObjectPropertieswithVariables.js b/JavaScript Algorithms and Data Structures/01-Basic-JavaScript/084-AccessingObjectPropertieswithVariables.js similarity index 100% rename from Basic-JavaScript/084-AccessingObjectPropertieswithVariables.js rename to JavaScript Algorithms and Data Structures/01-Basic-JavaScript/084-AccessingObjectPropertieswithVariables.js diff --git a/Basic-JavaScript/085-UpdatingObjectProperties.js b/JavaScript Algorithms and Data Structures/01-Basic-JavaScript/085-UpdatingObjectProperties.js similarity index 100% rename from Basic-JavaScript/085-UpdatingObjectProperties.js rename to JavaScript Algorithms and Data Structures/01-Basic-JavaScript/085-UpdatingObjectProperties.js diff --git a/Basic-JavaScript/086-AddNewPropertiestoaJavaScriptObject.js b/JavaScript Algorithms and Data Structures/01-Basic-JavaScript/086-AddNewPropertiestoaJavaScriptObject.js similarity index 100% rename from Basic-JavaScript/086-AddNewPropertiestoaJavaScriptObject.js rename to JavaScript Algorithms and Data Structures/01-Basic-JavaScript/086-AddNewPropertiestoaJavaScriptObject.js diff --git a/Basic-JavaScript/087-DeletePropertiesfromaJavaScriptObject.js b/JavaScript Algorithms and Data Structures/01-Basic-JavaScript/087-DeletePropertiesfromaJavaScriptObject.js similarity index 100% rename from Basic-JavaScript/087-DeletePropertiesfromaJavaScriptObject.js rename to JavaScript Algorithms and Data Structures/01-Basic-JavaScript/087-DeletePropertiesfromaJavaScriptObject.js diff --git a/Basic-JavaScript/088-UsingObjectsforLookups.js b/JavaScript Algorithms and Data Structures/01-Basic-JavaScript/088-UsingObjectsforLookups.js similarity index 100% rename from Basic-JavaScript/088-UsingObjectsforLookups.js rename to JavaScript Algorithms and Data Structures/01-Basic-JavaScript/088-UsingObjectsforLookups.js diff --git a/Basic-JavaScript/089-TestingObjectsforProperties.js b/JavaScript Algorithms and Data Structures/01-Basic-JavaScript/089-TestingObjectsforProperties.js similarity index 100% rename from Basic-JavaScript/089-TestingObjectsforProperties.js rename to JavaScript Algorithms and Data Structures/01-Basic-JavaScript/089-TestingObjectsforProperties.js diff --git a/Basic-JavaScript/090-ManipulatingComplexObjects.js b/JavaScript Algorithms and Data Structures/01-Basic-JavaScript/090-ManipulatingComplexObjects.js similarity index 100% rename from Basic-JavaScript/090-ManipulatingComplexObjects.js rename to JavaScript Algorithms and Data Structures/01-Basic-JavaScript/090-ManipulatingComplexObjects.js diff --git a/Basic-JavaScript/091-AccessingNestedObjects.js b/JavaScript Algorithms and Data Structures/01-Basic-JavaScript/091-AccessingNestedObjects.js similarity index 100% rename from Basic-JavaScript/091-AccessingNestedObjects.js rename to JavaScript Algorithms and Data Structures/01-Basic-JavaScript/091-AccessingNestedObjects.js diff --git a/Basic-JavaScript/092-AccessingNestedArrays.js b/JavaScript Algorithms and Data Structures/01-Basic-JavaScript/092-AccessingNestedArrays.js similarity index 100% rename from Basic-JavaScript/092-AccessingNestedArrays.js rename to JavaScript Algorithms and Data Structures/01-Basic-JavaScript/092-AccessingNestedArrays.js diff --git a/Basic-JavaScript/093-RecordCollection.js b/JavaScript Algorithms and Data Structures/01-Basic-JavaScript/093-RecordCollection.js similarity index 100% rename from Basic-JavaScript/093-RecordCollection.js rename to JavaScript Algorithms and Data Structures/01-Basic-JavaScript/093-RecordCollection.js diff --git a/Basic-JavaScript/094-IteratewithJavaScriptWhileLoops.js b/JavaScript Algorithms and Data Structures/01-Basic-JavaScript/094-IteratewithJavaScriptWhileLoops.js similarity index 100% rename from Basic-JavaScript/094-IteratewithJavaScriptWhileLoops.js rename to JavaScript Algorithms and Data Structures/01-Basic-JavaScript/094-IteratewithJavaScriptWhileLoops.js diff --git a/Basic-JavaScript/095-IteratewithJavaScriptForLoops.js b/JavaScript Algorithms and Data Structures/01-Basic-JavaScript/095-IteratewithJavaScriptForLoops.js similarity index 100% rename from Basic-JavaScript/095-IteratewithJavaScriptForLoops.js rename to JavaScript Algorithms and Data Structures/01-Basic-JavaScript/095-IteratewithJavaScriptForLoops.js diff --git a/Basic-JavaScript/096-IterateOddNumbersWithaForLoop.js b/JavaScript Algorithms and Data Structures/01-Basic-JavaScript/096-IterateOddNumbersWithaForLoop.js similarity index 100% rename from Basic-JavaScript/096-IterateOddNumbersWithaForLoop.js rename to JavaScript Algorithms and Data Structures/01-Basic-JavaScript/096-IterateOddNumbersWithaForLoop.js diff --git a/Basic-JavaScript/097-CountBackwardsWithaForLoop.js b/JavaScript Algorithms and Data Structures/01-Basic-JavaScript/097-CountBackwardsWithaForLoop.js similarity index 100% rename from Basic-JavaScript/097-CountBackwardsWithaForLoop.js rename to JavaScript Algorithms and Data Structures/01-Basic-JavaScript/097-CountBackwardsWithaForLoop.js diff --git a/Basic-JavaScript/098-IterateThroughanArraywithaForLoop.js b/JavaScript Algorithms and Data Structures/01-Basic-JavaScript/098-IterateThroughanArraywithaForLoop.js similarity index 100% rename from Basic-JavaScript/098-IterateThroughanArraywithaForLoop.js rename to JavaScript Algorithms and Data Structures/01-Basic-JavaScript/098-IterateThroughanArraywithaForLoop.js diff --git a/Basic-JavaScript/099-NestingForLoops.js b/JavaScript Algorithms and Data Structures/01-Basic-JavaScript/099-NestingForLoops.js similarity index 100% rename from Basic-JavaScript/099-NestingForLoops.js rename to JavaScript Algorithms and Data Structures/01-Basic-JavaScript/099-NestingForLoops.js diff --git a/Basic-JavaScript/100-IteratewithJavaScriptDo...WhileLoops.js b/JavaScript Algorithms and Data Structures/01-Basic-JavaScript/100-IteratewithJavaScriptDo...WhileLoops.js similarity index 100% rename from Basic-JavaScript/100-IteratewithJavaScriptDo...WhileLoops.js rename to JavaScript Algorithms and Data Structures/01-Basic-JavaScript/100-IteratewithJavaScriptDo...WhileLoops.js diff --git a/Basic-JavaScript/101-ReplaceLoopsusingRecursion.js b/JavaScript Algorithms and Data Structures/01-Basic-JavaScript/101-ReplaceLoopsusingRecursion.js similarity index 100% rename from Basic-JavaScript/101-ReplaceLoopsusingRecursion.js rename to JavaScript Algorithms and Data Structures/01-Basic-JavaScript/101-ReplaceLoopsusingRecursion.js diff --git a/Basic-JavaScript/102-ProfileLookup.js b/JavaScript Algorithms and Data Structures/01-Basic-JavaScript/102-ProfileLookup.js similarity index 100% rename from Basic-JavaScript/102-ProfileLookup.js rename to JavaScript Algorithms and Data Structures/01-Basic-JavaScript/102-ProfileLookup.js diff --git a/Basic-JavaScript/103-GenerateRandomFractionswithJavaScript.js b/JavaScript Algorithms and Data Structures/01-Basic-JavaScript/103-GenerateRandomFractionswithJavaScript.js similarity index 100% rename from Basic-JavaScript/103-GenerateRandomFractionswithJavaScript.js rename to JavaScript Algorithms and Data Structures/01-Basic-JavaScript/103-GenerateRandomFractionswithJavaScript.js diff --git a/Basic-JavaScript/104-GenerateRandomWholeNumberswithJavaScript.js b/JavaScript Algorithms and Data Structures/01-Basic-JavaScript/104-GenerateRandomWholeNumberswithJavaScript.js similarity index 100% rename from Basic-JavaScript/104-GenerateRandomWholeNumberswithJavaScript.js rename to JavaScript Algorithms and Data Structures/01-Basic-JavaScript/104-GenerateRandomWholeNumberswithJavaScript.js diff --git a/Basic-JavaScript/105-GenerateRandomWholeNumberswithinaRange.js b/JavaScript Algorithms and Data Structures/01-Basic-JavaScript/105-GenerateRandomWholeNumberswithinaRange.js similarity index 100% rename from Basic-JavaScript/105-GenerateRandomWholeNumberswithinaRange.js rename to JavaScript Algorithms and Data Structures/01-Basic-JavaScript/105-GenerateRandomWholeNumberswithinaRange.js diff --git a/Basic-JavaScript/106-UsetheparseIntFunction.js b/JavaScript Algorithms and Data Structures/01-Basic-JavaScript/106-UsetheparseIntFunction.js similarity index 100% rename from Basic-JavaScript/106-UsetheparseIntFunction.js rename to JavaScript Algorithms and Data Structures/01-Basic-JavaScript/106-UsetheparseIntFunction.js diff --git a/Basic-JavaScript/107-UsetheparseIntFunctionwithaRadix.js b/JavaScript Algorithms and Data Structures/01-Basic-JavaScript/107-UsetheparseIntFunctionwithaRadix.js similarity index 100% rename from Basic-JavaScript/107-UsetheparseIntFunctionwithaRadix.js rename to JavaScript Algorithms and Data Structures/01-Basic-JavaScript/107-UsetheparseIntFunctionwithaRadix.js diff --git a/Basic-JavaScript/108-UsetheConditional(Ternary)Operator.js b/JavaScript Algorithms and Data Structures/01-Basic-JavaScript/108-UsetheConditional(Ternary)Operator.js similarity index 100% rename from Basic-JavaScript/108-UsetheConditional(Ternary)Operator.js rename to JavaScript Algorithms and Data Structures/01-Basic-JavaScript/108-UsetheConditional(Ternary)Operator.js diff --git a/Basic-JavaScript/109-UsetheConditional(Ternary)Operator.js b/JavaScript Algorithms and Data Structures/01-Basic-JavaScript/109-UsetheConditional(Ternary)Operator.js similarity index 100% rename from Basic-JavaScript/109-UsetheConditional(Ternary)Operator.js rename to JavaScript Algorithms and Data Structures/01-Basic-JavaScript/109-UsetheConditional(Ternary)Operator.js diff --git a/Basic-JavaScript/110-UseRecursiontoCreateaCountdown.js b/JavaScript Algorithms and Data Structures/01-Basic-JavaScript/110-UseRecursiontoCreateaCountdown.js similarity index 100% rename from Basic-JavaScript/110-UseRecursiontoCreateaCountdown.js rename to JavaScript Algorithms and Data Structures/01-Basic-JavaScript/110-UseRecursiontoCreateaCountdown.js diff --git a/Basic-JavaScript/111-UseRecursiontoCreateaRangeofNumbers.js b/JavaScript Algorithms and Data Structures/01-Basic-JavaScript/111-UseRecursiontoCreateaRangeofNumbers.js similarity index 100% rename from Basic-JavaScript/111-UseRecursiontoCreateaRangeofNumbers.js rename to JavaScript Algorithms and Data Structures/01-Basic-JavaScript/111-UseRecursiontoCreateaRangeofNumbers.js diff --git a/Basic-JavaScript/112-DeclareaReadOnlyVariablewiththeconstKeyword.js b/JavaScript Algorithms and Data Structures/01-Basic-JavaScript/112-DeclareaReadOnlyVariablewiththeconstKeyword.js similarity index 100% rename from Basic-JavaScript/112-DeclareaReadOnlyVariablewiththeconstKeyword.js rename to JavaScript Algorithms and Data Structures/01-Basic-JavaScript/112-DeclareaReadOnlyVariablewiththeconstKeyword.js diff --git a/Basic-JavaScript/113-ExploreDifferencesBetweenthevarandletKeywords.js b/JavaScript Algorithms and Data Structures/01-Basic-JavaScript/113-ExploreDifferencesBetweenthevarandletKeywords.js similarity index 100% rename from Basic-JavaScript/113-ExploreDifferencesBetweenthevarandletKeywords.js rename to JavaScript Algorithms and Data Structures/01-Basic-JavaScript/113-ExploreDifferencesBetweenthevarandletKeywords.js diff --git a/Basic-JavaScript/rename.sh b/JavaScript Algorithms and Data Structures/01-Basic-JavaScript/rename.sh similarity index 100% rename from Basic-JavaScript/rename.sh rename to JavaScript Algorithms and Data Structures/01-Basic-JavaScript/rename.sh diff --git a/ES6/01.Compare-Scopes-of-the-var-and-let-Keywords_script.js b/JavaScript Algorithms and Data Structures/02-ES6/01.Compare-Scopes-of-the-var-and-let-Keywords_script.js similarity index 100% rename from ES6/01.Compare-Scopes-of-the-var-and-let-Keywords_script.js rename to JavaScript Algorithms and Data Structures/02-ES6/01.Compare-Scopes-of-the-var-and-let-Keywords_script.js diff --git a/ES6/02.Mutate-an-Array-Declared-with-const_script.js b/JavaScript Algorithms and Data Structures/02-ES6/02.Mutate-an-Array-Declared-with-const_script.js similarity index 100% rename from ES6/02.Mutate-an-Array-Declared-with-const_script.js rename to JavaScript Algorithms and Data Structures/02-ES6/02.Mutate-an-Array-Declared-with-const_script.js diff --git a/ES6/03.Prevent-Object-Mutation_script.js b/JavaScript Algorithms and Data Structures/02-ES6/03.Prevent-Object-Mutation_script.js similarity index 100% rename from ES6/03.Prevent-Object-Mutation_script.js rename to JavaScript Algorithms and Data Structures/02-ES6/03.Prevent-Object-Mutation_script.js diff --git a/ES6/04.Use-Arrow-Functions-to-Write-Concise-Anonymous-Functions_script.js b/JavaScript Algorithms and Data Structures/02-ES6/04.Use-Arrow-Functions-to-Write-Concise-Anonymous-Functions_script.js similarity index 100% rename from ES6/04.Use-Arrow-Functions-to-Write-Concise-Anonymous-Functions_script.js rename to JavaScript Algorithms and Data Structures/02-ES6/04.Use-Arrow-Functions-to-Write-Concise-Anonymous-Functions_script.js diff --git a/ES6/05.Write-Arrow-Functions-with-Parameters_script.js b/JavaScript Algorithms and Data Structures/02-ES6/05.Write-Arrow-Functions-with-Parameters_script.js similarity index 100% rename from ES6/05.Write-Arrow-Functions-with-Parameters_script.js rename to JavaScript Algorithms and Data Structures/02-ES6/05.Write-Arrow-Functions-with-Parameters_script.js diff --git a/ES6/06.Set-Default-Parameters-for-Your-Functions_script.js b/JavaScript Algorithms and Data Structures/02-ES6/06.Set-Default-Parameters-for-Your-Functions_script.js similarity index 100% rename from ES6/06.Set-Default-Parameters-for-Your-Functions_script.js rename to JavaScript Algorithms and Data Structures/02-ES6/06.Set-Default-Parameters-for-Your-Functions_script.js diff --git a/ES6/07.Use-the-Rest-Parameter-with-Function-Parameters_script.js b/JavaScript Algorithms and Data Structures/02-ES6/07.Use-the-Rest-Parameter-with-Function-Parameters_script.js similarity index 100% rename from ES6/07.Use-the-Rest-Parameter-with-Function-Parameters_script.js rename to JavaScript Algorithms and Data Structures/02-ES6/07.Use-the-Rest-Parameter-with-Function-Parameters_script.js diff --git a/ES6/08.Use-the-Spread-Operator-to-Evaluate-Arrays-In-Place_script.js b/JavaScript Algorithms and Data Structures/02-ES6/08.Use-the-Spread-Operator-to-Evaluate-Arrays-In-Place_script.js similarity index 100% rename from ES6/08.Use-the-Spread-Operator-to-Evaluate-Arrays-In-Place_script.js rename to JavaScript Algorithms and Data Structures/02-ES6/08.Use-the-Spread-Operator-to-Evaluate-Arrays-In-Place_script.js diff --git a/ES6/09.Use-Destructuring-Assignment-to-Extract-Values-from-Objects_script.js b/JavaScript Algorithms and Data Structures/02-ES6/09.Use-Destructuring-Assignment-to-Extract-Values-from-Objects_script.js similarity index 100% rename from ES6/09.Use-Destructuring-Assignment-to-Extract-Values-from-Objects_script.js rename to JavaScript Algorithms and Data Structures/02-ES6/09.Use-Destructuring-Assignment-to-Extract-Values-from-Objects_script.js diff --git a/ES6/10.Use-Destructuring-Assignment-to-Assign-Variables-from-Objects_script.js b/JavaScript Algorithms and Data Structures/02-ES6/10.Use-Destructuring-Assignment-to-Assign-Variables-from-Objects_script.js similarity index 100% rename from ES6/10.Use-Destructuring-Assignment-to-Assign-Variables-from-Objects_script.js rename to JavaScript Algorithms and Data Structures/02-ES6/10.Use-Destructuring-Assignment-to-Assign-Variables-from-Objects_script.js diff --git a/ES6/11.Use-Destructuring-Assignment to-Assign-Variables-from-Nested-Objects_script.js b/JavaScript Algorithms and Data Structures/02-ES6/11.Use-Destructuring-Assignment to-Assign-Variables-from-Nested-Objects_script.js similarity index 100% rename from ES6/11.Use-Destructuring-Assignment to-Assign-Variables-from-Nested-Objects_script.js rename to JavaScript Algorithms and Data Structures/02-ES6/11.Use-Destructuring-Assignment to-Assign-Variables-from-Nested-Objects_script.js diff --git a/ES6/12.Use-Destructuring-Assignment-to-Assign-Variables-from-Arrays_script.js b/JavaScript Algorithms and Data Structures/02-ES6/12.Use-Destructuring-Assignment-to-Assign-Variables-from-Arrays_script.js similarity index 100% rename from ES6/12.Use-Destructuring-Assignment-to-Assign-Variables-from-Arrays_script.js rename to JavaScript Algorithms and Data Structures/02-ES6/12.Use-Destructuring-Assignment-to-Assign-Variables-from-Arrays_script.js diff --git a/ES6/13.Use-Destructuring-Assignment-with-the-Rest-Parameter-to-Reassign-Array-Elements_script.js b/JavaScript Algorithms and Data Structures/02-ES6/13.Use-Destructuring-Assignment-with-the-Rest-Parameter-to-Reassign-Array-Elements_script.js similarity index 100% rename from ES6/13.Use-Destructuring-Assignment-with-the-Rest-Parameter-to-Reassign-Array-Elements_script.js rename to JavaScript Algorithms and Data Structures/02-ES6/13.Use-Destructuring-Assignment-with-the-Rest-Parameter-to-Reassign-Array-Elements_script.js diff --git a/ES6/14.Use-Destructuring-Assignment-to-Pass-an-Object-as-a-Function's-Parameters_script.js b/JavaScript Algorithms and Data Structures/02-ES6/14.Use-Destructuring-Assignment-to-Pass-an-Object-as-a-Function's-Parameters_script.js similarity index 100% rename from ES6/14.Use-Destructuring-Assignment-to-Pass-an-Object-as-a-Function's-Parameters_script.js rename to JavaScript Algorithms and Data Structures/02-ES6/14.Use-Destructuring-Assignment-to-Pass-an-Object-as-a-Function's-Parameters_script.js diff --git a/ES6/15.Create-Strings-using-Template-Literals_script.js b/JavaScript Algorithms and Data Structures/02-ES6/15.Create-Strings-using-Template-Literals_script.js similarity index 100% rename from ES6/15.Create-Strings-using-Template-Literals_script.js rename to JavaScript Algorithms and Data Structures/02-ES6/15.Create-Strings-using-Template-Literals_script.js diff --git a/ES6/16.Write-Concise-Object-Literal-Declarations-Using-Object-Property-Shorthand_script.js b/JavaScript Algorithms and Data Structures/02-ES6/16.Write-Concise-Object-Literal-Declarations-Using-Object-Property-Shorthand_script.js similarity index 100% rename from ES6/16.Write-Concise-Object-Literal-Declarations-Using-Object-Property-Shorthand_script.js rename to JavaScript Algorithms and Data Structures/02-ES6/16.Write-Concise-Object-Literal-Declarations-Using-Object-Property-Shorthand_script.js diff --git a/ES6/17.Write-Concise-Declarative-Functions-with-ES6_script.js b/JavaScript Algorithms and Data Structures/02-ES6/17.Write-Concise-Declarative-Functions-with-ES6_script.js similarity index 100% rename from ES6/17.Write-Concise-Declarative-Functions-with-ES6_script.js rename to JavaScript Algorithms and Data Structures/02-ES6/17.Write-Concise-Declarative-Functions-with-ES6_script.js diff --git a/ES6/18.Use-class-Syntax-to-Define-a-Constructor-Function_script.js b/JavaScript Algorithms and Data Structures/02-ES6/18.Use-class-Syntax-to-Define-a-Constructor-Function_script.js similarity index 100% rename from ES6/18.Use-class-Syntax-to-Define-a-Constructor-Function_script.js rename to JavaScript Algorithms and Data Structures/02-ES6/18.Use-class-Syntax-to-Define-a-Constructor-Function_script.js diff --git a/ES6/19.Use-getters-and-setters-to-Control-Access-to-an-Object_script.js b/JavaScript Algorithms and Data Structures/02-ES6/19.Use-getters-and-setters-to-Control-Access-to-an-Object_script.js similarity index 100% rename from ES6/19.Use-getters-and-setters-to-Control-Access-to-an-Object_script.js rename to JavaScript Algorithms and Data Structures/02-ES6/19.Use-getters-and-setters-to-Control-Access-to-an-Object_script.js diff --git a/ES6/20.Create-a-Module-Script_index.html b/JavaScript Algorithms and Data Structures/02-ES6/20.Create-a-Module-Script_index.html similarity index 100% rename from ES6/20.Create-a-Module-Script_index.html rename to JavaScript Algorithms and Data Structures/02-ES6/20.Create-a-Module-Script_index.html diff --git a/ES6/21.Use-export-to-Share-a-Code-Block_script.js b/JavaScript Algorithms and Data Structures/02-ES6/21.Use-export-to-Share-a-Code-Block_script.js similarity index 100% rename from ES6/21.Use-export-to-Share-a-Code-Block_script.js rename to JavaScript Algorithms and Data Structures/02-ES6/21.Use-export-to-Share-a-Code-Block_script.js diff --git a/ES6/22.Reuse-JavaScript-Code-Using-import_script.js b/JavaScript Algorithms and Data Structures/02-ES6/22.Reuse-JavaScript-Code-Using-import_script.js similarity index 100% rename from ES6/22.Reuse-JavaScript-Code-Using-import_script.js rename to JavaScript Algorithms and Data Structures/02-ES6/22.Reuse-JavaScript-Code-Using-import_script.js diff --git a/ES6/23.Use-to-Import-Everything-from-a-File_script.js b/JavaScript Algorithms and Data Structures/02-ES6/23.Use-to-Import-Everything-from-a-File_script.js similarity index 100% rename from ES6/23.Use-to-Import-Everything-from-a-File_script.js rename to JavaScript Algorithms and Data Structures/02-ES6/23.Use-to-Import-Everything-from-a-File_script.js diff --git a/ES6/24.Create-an-Export-Fallback-with-export-default_script.js b/JavaScript Algorithms and Data Structures/02-ES6/24.Create-an-Export-Fallback-with-export-default_script.js similarity index 100% rename from ES6/24.Create-an-Export-Fallback-with-export-default_script.js rename to JavaScript Algorithms and Data Structures/02-ES6/24.Create-an-Export-Fallback-with-export-default_script.js diff --git a/ES6/25.Import-a-Default-Export_script.js b/JavaScript Algorithms and Data Structures/02-ES6/25.Import-a-Default-Export_script.js similarity index 100% rename from ES6/25.Import-a-Default-Export_script.js rename to JavaScript Algorithms and Data Structures/02-ES6/25.Import-a-Default-Export_script.js diff --git a/ES6/26.Create-a-JavaScript-Promise_script.js b/JavaScript Algorithms and Data Structures/02-ES6/26.Create-a-JavaScript-Promise_script.js similarity index 100% rename from ES6/26.Create-a-JavaScript-Promise_script.js rename to JavaScript Algorithms and Data Structures/02-ES6/26.Create-a-JavaScript-Promise_script.js diff --git a/ES6/27.Complete-a-Promise-with-resolve-and-reject_script.js b/JavaScript Algorithms and Data Structures/02-ES6/27.Complete-a-Promise-with-resolve-and-reject_script.js similarity index 100% rename from ES6/27.Complete-a-Promise-with-resolve-and-reject_script.js rename to JavaScript Algorithms and Data Structures/02-ES6/27.Complete-a-Promise-with-resolve-and-reject_script.js diff --git a/ES6/28.Handle-a-Fulfilled-Promise-with-then_script.js b/JavaScript Algorithms and Data Structures/02-ES6/28.Handle-a-Fulfilled-Promise-with-then_script.js similarity index 100% rename from ES6/28.Handle-a-Fulfilled-Promise-with-then_script.js rename to JavaScript Algorithms and Data Structures/02-ES6/28.Handle-a-Fulfilled-Promise-with-then_script.js diff --git a/ES6/29.Handle-a-Rejected-Promise-with-catch_script.js b/JavaScript Algorithms and Data Structures/02-ES6/29.Handle-a-Rejected-Promise-with-catch_script.js similarity index 100% rename from ES6/29.Handle-a-Rejected-Promise-with-catch_script.js rename to JavaScript Algorithms and Data Structures/02-ES6/29.Handle-a-Rejected-Promise-with-catch_script.js diff --git a/ES6/moverenamefile.sh b/JavaScript Algorithms and Data Structures/02-ES6/moverenamefile.sh similarity index 100% rename from ES6/moverenamefile.sh rename to JavaScript Algorithms and Data Structures/02-ES6/moverenamefile.sh diff --git a/Regular-Expressions/01.Using-the-Test-Method_script.js b/JavaScript Algorithms and Data Structures/03-Regular-Expressions/01.Using-the-Test-Method_script.js similarity index 100% rename from Regular-Expressions/01.Using-the-Test-Method_script.js rename to JavaScript Algorithms and Data Structures/03-Regular-Expressions/01.Using-the-Test-Method_script.js diff --git a/Regular-Expressions/02.Match-Literal-Strings_script.js b/JavaScript Algorithms and Data Structures/03-Regular-Expressions/02.Match-Literal-Strings_script.js similarity index 100% rename from Regular-Expressions/02.Match-Literal-Strings_script.js rename to JavaScript Algorithms and Data Structures/03-Regular-Expressions/02.Match-Literal-Strings_script.js diff --git a/Regular-Expressions/03.Match-a-Literal-String-with-Different-Possibilities_script.js b/JavaScript Algorithms and Data Structures/03-Regular-Expressions/03.Match-a-Literal-String-with-Different-Possibilities_script.js similarity index 100% rename from Regular-Expressions/03.Match-a-Literal-String-with-Different-Possibilities_script.js rename to JavaScript Algorithms and Data Structures/03-Regular-Expressions/03.Match-a-Literal-String-with-Different-Possibilities_script.js diff --git a/Regular-Expressions/04.Ignore-Case-While-Matching_script.js b/JavaScript Algorithms and Data Structures/03-Regular-Expressions/04.Ignore-Case-While-Matching_script.js similarity index 100% rename from Regular-Expressions/04.Ignore-Case-While-Matching_script.js rename to JavaScript Algorithms and Data Structures/03-Regular-Expressions/04.Ignore-Case-While-Matching_script.js diff --git a/Regular-Expressions/05.Extract-Matches_script.js b/JavaScript Algorithms and Data Structures/03-Regular-Expressions/05.Extract-Matches_script.js similarity index 100% rename from Regular-Expressions/05.Extract-Matches_script.js rename to JavaScript Algorithms and Data Structures/03-Regular-Expressions/05.Extract-Matches_script.js diff --git a/Regular-Expressions/06.Find-More-Than-the-First-Match_script.js b/JavaScript Algorithms and Data Structures/03-Regular-Expressions/06.Find-More-Than-the-First-Match_script.js similarity index 100% rename from Regular-Expressions/06.Find-More-Than-the-First-Match_script.js rename to JavaScript Algorithms and Data Structures/03-Regular-Expressions/06.Find-More-Than-the-First-Match_script.js diff --git a/Regular-Expressions/07.Match-with-Wildcard-Period_script.js b/JavaScript Algorithms and Data Structures/03-Regular-Expressions/07.Match-with-Wildcard-Period_script.js similarity index 100% rename from Regular-Expressions/07.Match-with-Wildcard-Period_script.js rename to JavaScript Algorithms and Data Structures/03-Regular-Expressions/07.Match-with-Wildcard-Period_script.js diff --git a/Regular-Expressions/08.Match-Single-with-Multiple-Possibilities_script.js b/JavaScript Algorithms and Data Structures/03-Regular-Expressions/08.Match-Single-with-Multiple-Possibilities_script.js similarity index 100% rename from Regular-Expressions/08.Match-Single-with-Multiple-Possibilities_script.js rename to JavaScript Algorithms and Data Structures/03-Regular-Expressions/08.Match-Single-with-Multiple-Possibilities_script.js diff --git a/Regular-Expressions/09.Match-Letters-of-the-Alphabet_script.js b/JavaScript Algorithms and Data Structures/03-Regular-Expressions/09.Match-Letters-of-the-Alphabet_script.js similarity index 100% rename from Regular-Expressions/09.Match-Letters-of-the-Alphabet_script.js rename to JavaScript Algorithms and Data Structures/03-Regular-Expressions/09.Match-Letters-of-the-Alphabet_script.js diff --git a/Regular-Expressions/10.Match-Numbers-and-Letters-of-the-Alphabet_script.js b/JavaScript Algorithms and Data Structures/03-Regular-Expressions/10.Match-Numbers-and-Letters-of-the-Alphabet_script.js similarity index 100% rename from Regular-Expressions/10.Match-Numbers-and-Letters-of-the-Alphabet_script.js rename to JavaScript Algorithms and Data Structures/03-Regular-Expressions/10.Match-Numbers-and-Letters-of-the-Alphabet_script.js diff --git a/Regular-Expressions/11.Match-Single-Characters-Not-Specified_script.js b/JavaScript Algorithms and Data Structures/03-Regular-Expressions/11.Match-Single-Characters-Not-Specified_script.js similarity index 100% rename from Regular-Expressions/11.Match-Single-Characters-Not-Specified_script.js rename to JavaScript Algorithms and Data Structures/03-Regular-Expressions/11.Match-Single-Characters-Not-Specified_script.js diff --git a/Regular-Expressions/12.Match-Characters-that-Occur-One-or-More-Times_script.js b/JavaScript Algorithms and Data Structures/03-Regular-Expressions/12.Match-Characters-that-Occur-One-or-More-Times_script.js similarity index 100% rename from Regular-Expressions/12.Match-Characters-that-Occur-One-or-More-Times_script.js rename to JavaScript Algorithms and Data Structures/03-Regular-Expressions/12.Match-Characters-that-Occur-One-or-More-Times_script.js diff --git a/Regular-Expressions/13.Match-Characters-that-Occur-Zero-or-More-Times_script.js b/JavaScript Algorithms and Data Structures/03-Regular-Expressions/13.Match-Characters-that-Occur-Zero-or-More-Times_script.js similarity index 100% rename from Regular-Expressions/13.Match-Characters-that-Occur-Zero-or-More-Times_script.js rename to JavaScript Algorithms and Data Structures/03-Regular-Expressions/13.Match-Characters-that-Occur-Zero-or-More-Times_script.js diff --git a/Regular-Expressions/14.Find-Characters-with-Lazy-Matching_script.js b/JavaScript Algorithms and Data Structures/03-Regular-Expressions/14.Find-Characters-with-Lazy-Matching_script.js similarity index 100% rename from Regular-Expressions/14.Find-Characters-with-Lazy-Matching_script.js rename to JavaScript Algorithms and Data Structures/03-Regular-Expressions/14.Find-Characters-with-Lazy-Matching_script.js diff --git a/Regular-Expressions/15.Find-One-or-More-Criminals-in-a-Hunt_script.js b/JavaScript Algorithms and Data Structures/03-Regular-Expressions/15.Find-One-or-More-Criminals-in-a-Hunt_script.js similarity index 100% rename from Regular-Expressions/15.Find-One-or-More-Criminals-in-a-Hunt_script.js rename to JavaScript Algorithms and Data Structures/03-Regular-Expressions/15.Find-One-or-More-Criminals-in-a-Hunt_script.js diff --git a/Regular-Expressions/16.Match-Beginning-String-Patterns_script.js b/JavaScript Algorithms and Data Structures/03-Regular-Expressions/16.Match-Beginning-String-Patterns_script.js similarity index 100% rename from Regular-Expressions/16.Match-Beginning-String-Patterns_script.js rename to JavaScript Algorithms and Data Structures/03-Regular-Expressions/16.Match-Beginning-String-Patterns_script.js diff --git a/Regular-Expressions/17.Match-Ending-String-Patterns_script.js b/JavaScript Algorithms and Data Structures/03-Regular-Expressions/17.Match-Ending-String-Patterns_script.js similarity index 100% rename from Regular-Expressions/17.Match-Ending-String-Patterns_script.js rename to JavaScript Algorithms and Data Structures/03-Regular-Expressions/17.Match-Ending-String-Patterns_script.js diff --git a/Regular-Expressions/18.Match-All-Letters-and-Numbers_script.js b/JavaScript Algorithms and Data Structures/03-Regular-Expressions/18.Match-All-Letters-and-Numbers_script.js similarity index 100% rename from Regular-Expressions/18.Match-All-Letters-and-Numbers_script.js rename to JavaScript Algorithms and Data Structures/03-Regular-Expressions/18.Match-All-Letters-and-Numbers_script.js diff --git a/Regular-Expressions/20.Match-All-Numbers_script.js b/JavaScript Algorithms and Data Structures/03-Regular-Expressions/20.Match-All-Numbers_script.js similarity index 100% rename from Regular-Expressions/20.Match-All-Numbers_script.js rename to JavaScript Algorithms and Data Structures/03-Regular-Expressions/20.Match-All-Numbers_script.js diff --git a/Regular-Expressions/21.Match-All-Non-Numbers_script.js b/JavaScript Algorithms and Data Structures/03-Regular-Expressions/21.Match-All-Non-Numbers_script.js similarity index 100% rename from Regular-Expressions/21.Match-All-Non-Numbers_script.js rename to JavaScript Algorithms and Data Structures/03-Regular-Expressions/21.Match-All-Non-Numbers_script.js diff --git a/Regular-Expressions/22.Restrict-Possible-Usernames_script.js b/JavaScript Algorithms and Data Structures/03-Regular-Expressions/22.Restrict-Possible-Usernames_script.js similarity index 100% rename from Regular-Expressions/22.Restrict-Possible-Usernames_script.js rename to JavaScript Algorithms and Data Structures/03-Regular-Expressions/22.Restrict-Possible-Usernames_script.js diff --git a/Regular-Expressions/23.Match-Whitespace_script.js b/JavaScript Algorithms and Data Structures/03-Regular-Expressions/23.Match-Whitespace_script.js similarity index 100% rename from Regular-Expressions/23.Match-Whitespace_script.js rename to JavaScript Algorithms and Data Structures/03-Regular-Expressions/23.Match-Whitespace_script.js diff --git a/Regular-Expressions/24.Match-Non-Whitespace-Characters_script.js b/JavaScript Algorithms and Data Structures/03-Regular-Expressions/24.Match-Non-Whitespace-Characters_script.js similarity index 100% rename from Regular-Expressions/24.Match-Non-Whitespace-Characters_script.js rename to JavaScript Algorithms and Data Structures/03-Regular-Expressions/24.Match-Non-Whitespace-Characters_script.js diff --git a/Regular-Expressions/25.Specify Upper-and-Lower-Number-of-Matches_script.js b/JavaScript Algorithms and Data Structures/03-Regular-Expressions/25.Specify Upper-and-Lower-Number-of-Matches_script.js similarity index 100% rename from Regular-Expressions/25.Specify Upper-and-Lower-Number-of-Matches_script.js rename to JavaScript Algorithms and Data Structures/03-Regular-Expressions/25.Specify Upper-and-Lower-Number-of-Matches_script.js diff --git a/Regular-Expressions/26.Specify-Only-the-Lower-Number-of-Matches_script.js b/JavaScript Algorithms and Data Structures/03-Regular-Expressions/26.Specify-Only-the-Lower-Number-of-Matches_script.js similarity index 100% rename from Regular-Expressions/26.Specify-Only-the-Lower-Number-of-Matches_script.js rename to JavaScript Algorithms and Data Structures/03-Regular-Expressions/26.Specify-Only-the-Lower-Number-of-Matches_script.js diff --git a/Regular-Expressions/27.Specify-Exact-Number-of-Matches_script.js b/JavaScript Algorithms and Data Structures/03-Regular-Expressions/27.Specify-Exact-Number-of-Matches_script.js similarity index 100% rename from Regular-Expressions/27.Specify-Exact-Number-of-Matches_script.js rename to JavaScript Algorithms and Data Structures/03-Regular-Expressions/27.Specify-Exact-Number-of-Matches_script.js diff --git a/Regular-Expressions/28.Check-for-All-or-None_script.js b/JavaScript Algorithms and Data Structures/03-Regular-Expressions/28.Check-for-All-or-None_script.js similarity index 100% rename from Regular-Expressions/28.Check-for-All-or-None_script.js rename to JavaScript Algorithms and Data Structures/03-Regular-Expressions/28.Check-for-All-or-None_script.js diff --git a/Regular-Expressions/29.Positive-and-Negative-Lookahead_script.js b/JavaScript Algorithms and Data Structures/03-Regular-Expressions/29.Positive-and-Negative-Lookahead_script.js similarity index 100% rename from Regular-Expressions/29.Positive-and-Negative-Lookahead_script.js rename to JavaScript Algorithms and Data Structures/03-Regular-Expressions/29.Positive-and-Negative-Lookahead_script.js diff --git a/Regular-Expressions/30.Check-For-Mixed-Grouping-of-Characters_script.js b/JavaScript Algorithms and Data Structures/03-Regular-Expressions/30.Check-For-Mixed-Grouping-of-Characters_script.js similarity index 100% rename from Regular-Expressions/30.Check-For-Mixed-Grouping-of-Characters_script.js rename to JavaScript Algorithms and Data Structures/03-Regular-Expressions/30.Check-For-Mixed-Grouping-of-Characters_script.js diff --git a/Regular-Expressions/31.Reuse-Patterns-Using-Capture-Groups_script.js b/JavaScript Algorithms and Data Structures/03-Regular-Expressions/31.Reuse-Patterns-Using-Capture-Groups_script.js similarity index 100% rename from Regular-Expressions/31.Reuse-Patterns-Using-Capture-Groups_script.js rename to JavaScript Algorithms and Data Structures/03-Regular-Expressions/31.Reuse-Patterns-Using-Capture-Groups_script.js diff --git a/Regular-Expressions/32.Use-Capture-Groups-to-Search-and-Replace_script.js b/JavaScript Algorithms and Data Structures/03-Regular-Expressions/32.Use-Capture-Groups-to-Search-and-Replace_script.js similarity index 100% rename from Regular-Expressions/32.Use-Capture-Groups-to-Search-and-Replace_script.js rename to JavaScript Algorithms and Data Structures/03-Regular-Expressions/32.Use-Capture-Groups-to-Search-and-Replace_script.js diff --git a/Regular-Expressions/33.Remove-Whitespace-from-Start-and-End_script.js b/JavaScript Algorithms and Data Structures/03-Regular-Expressions/33.Remove-Whitespace-from-Start-and-End_script.js similarity index 100% rename from Regular-Expressions/33.Remove-Whitespace-from-Start-and-End_script.js rename to JavaScript Algorithms and Data Structures/03-Regular-Expressions/33.Remove-Whitespace-from-Start-and-End_script.js diff --git a/Regular-Expressions/Match Everything-But-Letters-and-Numbers_script.js b/JavaScript Algorithms and Data Structures/03-Regular-Expressions/Match Everything-But-Letters-and-Numbers_script.js similarity index 100% rename from Regular-Expressions/Match Everything-But-Letters-and-Numbers_script.js rename to JavaScript Algorithms and Data Structures/03-Regular-Expressions/Match Everything-But-Letters-and-Numbers_script.js diff --git a/Debugging/01.Use-the-JavaScript-Console-to-Check-the-Value-of-a-Variable_script.js b/JavaScript Algorithms and Data Structures/04-Debugging/01.Use-the-JavaScript-Console-to-Check-the-Value-of-a-Variable_script.js similarity index 100% rename from Debugging/01.Use-the-JavaScript-Console-to-Check-the-Value-of-a-Variable_script.js rename to JavaScript Algorithms and Data Structures/04-Debugging/01.Use-the-JavaScript-Console-to-Check-the-Value-of-a-Variable_script.js diff --git a/Debugging/02.Understanding-the-Differences-between-the-freeCodeCamp-and-Browser-Console_script.js b/JavaScript Algorithms and Data Structures/04-Debugging/02.Understanding-the-Differences-between-the-freeCodeCamp-and-Browser-Console_script.js similarity index 100% rename from Debugging/02.Understanding-the-Differences-between-the-freeCodeCamp-and-Browser-Console_script.js rename to JavaScript Algorithms and Data Structures/04-Debugging/02.Understanding-the-Differences-between-the-freeCodeCamp-and-Browser-Console_script.js diff --git a/Debugging/03.Use-typeof-to-Check-the-Type-of-a-Variable_script.js b/JavaScript Algorithms and Data Structures/04-Debugging/03.Use-typeof-to-Check-the-Type-of-a-Variable_script.js similarity index 100% rename from Debugging/03.Use-typeof-to-Check-the-Type-of-a-Variable_script.js rename to JavaScript Algorithms and Data Structures/04-Debugging/03.Use-typeof-to-Check-the-Type-of-a-Variable_script.js diff --git a/Debugging/04.Catch-Misspelled-Variable-and-Function-Names_script.js b/JavaScript Algorithms and Data Structures/04-Debugging/04.Catch-Misspelled-Variable-and-Function-Names_script.js similarity index 100% rename from Debugging/04.Catch-Misspelled-Variable-and-Function-Names_script.js rename to JavaScript Algorithms and Data Structures/04-Debugging/04.Catch-Misspelled-Variable-and-Function-Names_script.js diff --git a/Debugging/05.Catch-Unclosed-Parentheses-Brackets-Braces-and-Quotes_script.js b/JavaScript Algorithms and Data Structures/04-Debugging/05.Catch-Unclosed-Parentheses-Brackets-Braces-and-Quotes_script.js similarity index 100% rename from Debugging/05.Catch-Unclosed-Parentheses-Brackets-Braces-and-Quotes_script.js rename to JavaScript Algorithms and Data Structures/04-Debugging/05.Catch-Unclosed-Parentheses-Brackets-Braces-and-Quotes_script.js diff --git a/Debugging/06.Catch-Mixed-Usage-of-Single-and-Double-Quotes_script.js b/JavaScript Algorithms and Data Structures/04-Debugging/06.Catch-Mixed-Usage-of-Single-and-Double-Quotes_script.js similarity index 100% rename from Debugging/06.Catch-Mixed-Usage-of-Single-and-Double-Quotes_script.js rename to JavaScript Algorithms and Data Structures/04-Debugging/06.Catch-Mixed-Usage-of-Single-and-Double-Quotes_script.js diff --git a/Debugging/07.Catch-Use-of-Assignment-Operator-Instead-of-Equality-Operator_script.js b/JavaScript Algorithms and Data Structures/04-Debugging/07.Catch-Use-of-Assignment-Operator-Instead-of-Equality-Operator_script.js similarity index 100% rename from Debugging/07.Catch-Use-of-Assignment-Operator-Instead-of-Equality-Operator_script.js rename to JavaScript Algorithms and Data Structures/04-Debugging/07.Catch-Use-of-Assignment-Operator-Instead-of-Equality-Operator_script.js diff --git a/Debugging/08.Catch-Missing-Open-and-Closing-Parenthesis-After-a-Function-Call_script.js b/JavaScript Algorithms and Data Structures/04-Debugging/08.Catch-Missing-Open-and-Closing-Parenthesis-After-a-Function-Call_script.js similarity index 100% rename from Debugging/08.Catch-Missing-Open-and-Closing-Parenthesis-After-a-Function-Call_script.js rename to JavaScript Algorithms and Data Structures/04-Debugging/08.Catch-Missing-Open-and-Closing-Parenthesis-After-a-Function-Call_script.js diff --git a/Debugging/09.Catch-Arguments-Passed-in-the-Wrong-Order-When-Calling-a-Function_script.js b/JavaScript Algorithms and Data Structures/04-Debugging/09.Catch-Arguments-Passed-in-the-Wrong-Order-When-Calling-a-Function_script.js similarity index 100% rename from Debugging/09.Catch-Arguments-Passed-in-the-Wrong-Order-When-Calling-a-Function_script.js rename to JavaScript Algorithms and Data Structures/04-Debugging/09.Catch-Arguments-Passed-in-the-Wrong-Order-When-Calling-a-Function_script.js diff --git a/Debugging/10.Catch-Off-By-One-Errors-When-Using-Indexing_script.js b/JavaScript Algorithms and Data Structures/04-Debugging/10.Catch-Off-By-One-Errors-When-Using-Indexing_script.js similarity index 100% rename from Debugging/10.Catch-Off-By-One-Errors-When-Using-Indexing_script.js rename to JavaScript Algorithms and Data Structures/04-Debugging/10.Catch-Off-By-One-Errors-When-Using-Indexing_script.js diff --git a/Debugging/11.Use-Caution-When-Reinitializing-Variables-Inside-a-Loop_script.js b/JavaScript Algorithms and Data Structures/04-Debugging/11.Use-Caution-When-Reinitializing-Variables-Inside-a-Loop_script.js similarity index 100% rename from Debugging/11.Use-Caution-When-Reinitializing-Variables-Inside-a-Loop_script.js rename to JavaScript Algorithms and Data Structures/04-Debugging/11.Use-Caution-When-Reinitializing-Variables-Inside-a-Loop_script.js diff --git a/Debugging/12.Prevent-Infinite-Loops-with-a-Valid-Terminal-Condition_script.js b/JavaScript Algorithms and Data Structures/04-Debugging/12.Prevent-Infinite-Loops-with-a-Valid-Terminal-Condition_script.js similarity index 100% rename from Debugging/12.Prevent-Infinite-Loops-with-a-Valid-Terminal-Condition_script.js rename to JavaScript Algorithms and Data Structures/04-Debugging/12.Prevent-Infinite-Loops-with-a-Valid-Terminal-Condition_script.js diff --git a/Basic-Data-Structures/01.Use-an-Array-to-Store-a-Collection-of-Data_script.js b/JavaScript Algorithms and Data Structures/05-Basic-Data-Structures/01.Use-an-Array-to-Store-a-Collection-of-Data_script.js similarity index 100% rename from Basic-Data-Structures/01.Use-an-Array-to-Store-a-Collection-of-Data_script.js rename to JavaScript Algorithms and Data Structures/05-Basic-Data-Structures/01.Use-an-Array-to-Store-a-Collection-of-Data_script.js diff --git a/Basic-Data-Structures/02.Access-an-Array-s-Using-Bracket-Notation_script.js b/JavaScript Algorithms and Data Structures/05-Basic-Data-Structures/02.Access-an-Array-s-Using-Bracket-Notation_script.js similarity index 100% rename from Basic-Data-Structures/02.Access-an-Array-s-Using-Bracket-Notation_script.js rename to JavaScript Algorithms and Data Structures/05-Basic-Data-Structures/02.Access-an-Array-s-Using-Bracket-Notation_script.js diff --git a/Basic-Data-Structures/03.Add-Items-to-an-Array-with-push()-and-unshift()_script.js b/JavaScript Algorithms and Data Structures/05-Basic-Data-Structures/03.Add-Items-to-an-Array-with-push()-and-unshift()_script.js similarity index 100% rename from Basic-Data-Structures/03.Add-Items-to-an-Array-with-push()-and-unshift()_script.js rename to JavaScript Algorithms and Data Structures/05-Basic-Data-Structures/03.Add-Items-to-an-Array-with-push()-and-unshift()_script.js diff --git a/Basic-Data-Structures/04.Remove-Items-from-an-Array-with-pop()-and-shift()_script.js b/JavaScript Algorithms and Data Structures/05-Basic-Data-Structures/04.Remove-Items-from-an-Array-with-pop()-and-shift()_script.js similarity index 100% rename from Basic-Data-Structures/04.Remove-Items-from-an-Array-with-pop()-and-shift()_script.js rename to JavaScript Algorithms and Data Structures/05-Basic-Data-Structures/04.Remove-Items-from-an-Array-with-pop()-and-shift()_script.js diff --git a/Basic-Data-Structures/05.Remove-Items-Using-splice()_script.js b/JavaScript Algorithms and Data Structures/05-Basic-Data-Structures/05.Remove-Items-Using-splice()_script.js similarity index 100% rename from Basic-Data-Structures/05.Remove-Items-Using-splice()_script.js rename to JavaScript Algorithms and Data Structures/05-Basic-Data-Structures/05.Remove-Items-Using-splice()_script.js diff --git a/Basic-Data-Structures/06.Add-Items-Using-splice()_script.js b/JavaScript Algorithms and Data Structures/05-Basic-Data-Structures/06.Add-Items-Using-splice()_script.js similarity index 100% rename from Basic-Data-Structures/06.Add-Items-Using-splice()_script.js rename to JavaScript Algorithms and Data Structures/05-Basic-Data-Structures/06.Add-Items-Using-splice()_script.js diff --git a/Basic-Data-Structures/07.Copy-Array-Items-Using-slice()_script.js b/JavaScript Algorithms and Data Structures/05-Basic-Data-Structures/07.Copy-Array-Items-Using-slice()_script.js similarity index 100% rename from Basic-Data-Structures/07.Copy-Array-Items-Using-slice()_script.js rename to JavaScript Algorithms and Data Structures/05-Basic-Data-Structures/07.Copy-Array-Items-Using-slice()_script.js diff --git a/Basic-Data-Structures/08.Copy-an-Array-with-the-Spread-Operator_script.js b/JavaScript Algorithms and Data Structures/05-Basic-Data-Structures/08.Copy-an-Array-with-the-Spread-Operator_script.js similarity index 100% rename from Basic-Data-Structures/08.Copy-an-Array-with-the-Spread-Operator_script.js rename to JavaScript Algorithms and Data Structures/05-Basic-Data-Structures/08.Copy-an-Array-with-the-Spread-Operator_script.js diff --git a/Basic-Data-Structures/09.Combine-Arrays-with-the-Spread-Operator_script.js b/JavaScript Algorithms and Data Structures/05-Basic-Data-Structures/09.Combine-Arrays-with-the-Spread-Operator_script.js similarity index 100% rename from Basic-Data-Structures/09.Combine-Arrays-with-the-Spread-Operator_script.js rename to JavaScript Algorithms and Data Structures/05-Basic-Data-Structures/09.Combine-Arrays-with-the-Spread-Operator_script.js diff --git a/Basic-Data-Structures/10.Check-For-The-Presence-of-an-Element-With-indexOf()_script.js b/JavaScript Algorithms and Data Structures/05-Basic-Data-Structures/10.Check-For-The-Presence-of-an-Element-With-indexOf()_script.js similarity index 100% rename from Basic-Data-Structures/10.Check-For-The-Presence-of-an-Element-With-indexOf()_script.js rename to JavaScript Algorithms and Data Structures/05-Basic-Data-Structures/10.Check-For-The-Presence-of-an-Element-With-indexOf()_script.js diff --git a/Basic-Data-Structures/11.Iterate-Through-All-an-Array's-Items-Using-For-Loops_script.js b/JavaScript Algorithms and Data Structures/05-Basic-Data-Structures/11.Iterate-Through-All-an-Array's-Items-Using-For-Loops_script.js similarity index 100% rename from Basic-Data-Structures/11.Iterate-Through-All-an-Array's-Items-Using-For-Loops_script.js rename to JavaScript Algorithms and Data Structures/05-Basic-Data-Structures/11.Iterate-Through-All-an-Array's-Items-Using-For-Loops_script.js diff --git a/Basic-Data-Structures/12.Create-complex-multi-dimensional-arrays_script.js b/JavaScript Algorithms and Data Structures/05-Basic-Data-Structures/12.Create-complex-multi-dimensional-arrays_script.js similarity index 100% rename from Basic-Data-Structures/12.Create-complex-multi-dimensional-arrays_script.js rename to JavaScript Algorithms and Data Structures/05-Basic-Data-Structures/12.Create-complex-multi-dimensional-arrays_script.js diff --git a/Basic-Data-Structures/13.Add-Key-Value-Pairs-to-JavaScript-Objects_script.js b/JavaScript Algorithms and Data Structures/05-Basic-Data-Structures/13.Add-Key-Value-Pairs-to-JavaScript-Objects_script.js similarity index 100% rename from Basic-Data-Structures/13.Add-Key-Value-Pairs-to-JavaScript-Objects_script.js rename to JavaScript Algorithms and Data Structures/05-Basic-Data-Structures/13.Add-Key-Value-Pairs-to-JavaScript-Objects_script.js diff --git a/Basic-Data-Structures/14.Modify-an-Object-Nested-Within-an-Object_script.js b/JavaScript Algorithms and Data Structures/05-Basic-Data-Structures/14.Modify-an-Object-Nested-Within-an-Object_script.js similarity index 100% rename from Basic-Data-Structures/14.Modify-an-Object-Nested-Within-an-Object_script.js rename to JavaScript Algorithms and Data Structures/05-Basic-Data-Structures/14.Modify-an-Object-Nested-Within-an-Object_script.js diff --git a/Basic-Data-Structures/15.Access-Property-Names-with-Bracket-Notation_script.js b/JavaScript Algorithms and Data Structures/05-Basic-Data-Structures/15.Access-Property-Names-with-Bracket-Notation_script.js similarity index 100% rename from Basic-Data-Structures/15.Access-Property-Names-with-Bracket-Notation_script.js rename to JavaScript Algorithms and Data Structures/05-Basic-Data-Structures/15.Access-Property-Names-with-Bracket-Notation_script.js diff --git a/Basic-Data-Structures/16.Use-the-delete-Keyword-to-Remove-Object-Properties_script.js b/JavaScript Algorithms and Data Structures/05-Basic-Data-Structures/16.Use-the-delete-Keyword-to-Remove-Object-Properties_script.js similarity index 100% rename from Basic-Data-Structures/16.Use-the-delete-Keyword-to-Remove-Object-Properties_script.js rename to JavaScript Algorithms and Data Structures/05-Basic-Data-Structures/16.Use-the-delete-Keyword-to-Remove-Object-Properties_script.js diff --git a/Basic-Data-Structures/17.Check-if-an-Object-has-a-Property_script.js b/JavaScript Algorithms and Data Structures/05-Basic-Data-Structures/17.Check-if-an-Object-has-a-Property_script.js similarity index 100% rename from Basic-Data-Structures/17.Check-if-an-Object-has-a-Property_script.js rename to JavaScript Algorithms and Data Structures/05-Basic-Data-Structures/17.Check-if-an-Object-has-a-Property_script.js diff --git a/Basic-Data-Structures/18.Iterate-Through-the-Keys-of-an Object-with-a-for-in-Statement_script.js b/JavaScript Algorithms and Data Structures/05-Basic-Data-Structures/18.Iterate-Through-the-Keys-of-an Object-with-a-for-in-Statement_script.js similarity index 100% rename from Basic-Data-Structures/18.Iterate-Through-the-Keys-of-an Object-with-a-for-in-Statement_script.js rename to JavaScript Algorithms and Data Structures/05-Basic-Data-Structures/18.Iterate-Through-the-Keys-of-an Object-with-a-for-in-Statement_script.js diff --git a/Basic-Data-Structures/19.Generate-an-Array-of-All-Object-Keys-with-Object.keys()_script.js b/JavaScript Algorithms and Data Structures/05-Basic-Data-Structures/19.Generate-an-Array-of-All-Object-Keys-with-Object.keys()_script.js similarity index 100% rename from Basic-Data-Structures/19.Generate-an-Array-of-All-Object-Keys-with-Object.keys()_script.js rename to JavaScript Algorithms and Data Structures/05-Basic-Data-Structures/19.Generate-an-Array-of-All-Object-Keys-with-Object.keys()_script.js diff --git a/Basic-Data-Structures/20.Modify-an-Array-Stored-in-an-Object_script.js b/JavaScript Algorithms and Data Structures/05-Basic-Data-Structures/20.Modify-an-Array-Stored-in-an-Object_script.js similarity index 100% rename from Basic-Data-Structures/20.Modify-an-Array-Stored-in-an-Object_script.js rename to JavaScript Algorithms and Data Structures/05-Basic-Data-Structures/20.Modify-an-Array-Stored-in-an-Object_script.js diff --git a/Basic-Algorithm-Scripting/01.Convert-Celsius-to-Fahrenheit_script.js b/JavaScript Algorithms and Data Structures/06-Basic-Algorithm-Scripting/01.Convert-Celsius-to-Fahrenheit_script.js similarity index 100% rename from Basic-Algorithm-Scripting/01.Convert-Celsius-to-Fahrenheit_script.js rename to JavaScript Algorithms and Data Structures/06-Basic-Algorithm-Scripting/01.Convert-Celsius-to-Fahrenheit_script.js diff --git a/Basic-Algorithm-Scripting/02.Reverse-a-String_script.js b/JavaScript Algorithms and Data Structures/06-Basic-Algorithm-Scripting/02.Reverse-a-String_script.js similarity index 100% rename from Basic-Algorithm-Scripting/02.Reverse-a-String_script.js rename to JavaScript Algorithms and Data Structures/06-Basic-Algorithm-Scripting/02.Reverse-a-String_script.js diff --git a/Basic-Algorithm-Scripting/03.Factorialize-a-Number_script.js b/JavaScript Algorithms and Data Structures/06-Basic-Algorithm-Scripting/03.Factorialize-a-Number_script.js similarity index 100% rename from Basic-Algorithm-Scripting/03.Factorialize-a-Number_script.js rename to JavaScript Algorithms and Data Structures/06-Basic-Algorithm-Scripting/03.Factorialize-a-Number_script.js diff --git a/Basic-Algorithm-Scripting/04.Find-the-Longest-Word-in-a-String_script.js b/JavaScript Algorithms and Data Structures/06-Basic-Algorithm-Scripting/04.Find-the-Longest-Word-in-a-String_script.js similarity index 100% rename from Basic-Algorithm-Scripting/04.Find-the-Longest-Word-in-a-String_script.js rename to JavaScript Algorithms and Data Structures/06-Basic-Algorithm-Scripting/04.Find-the-Longest-Word-in-a-String_script.js diff --git a/Basic-Algorithm-Scripting/05.Return-Largest-Numbers-in-Arrays_script.js b/JavaScript Algorithms and Data Structures/06-Basic-Algorithm-Scripting/05.Return-Largest-Numbers-in-Arrays_script.js similarity index 100% rename from Basic-Algorithm-Scripting/05.Return-Largest-Numbers-in-Arrays_script.js rename to JavaScript Algorithms and Data Structures/06-Basic-Algorithm-Scripting/05.Return-Largest-Numbers-in-Arrays_script.js diff --git a/Basic-Algorithm-Scripting/06.Confirm-the-Ending_script.js b/JavaScript Algorithms and Data Structures/06-Basic-Algorithm-Scripting/06.Confirm-the-Ending_script.js similarity index 100% rename from Basic-Algorithm-Scripting/06.Confirm-the-Ending_script.js rename to JavaScript Algorithms and Data Structures/06-Basic-Algorithm-Scripting/06.Confirm-the-Ending_script.js diff --git a/Basic-Algorithm-Scripting/07.Repeat-a-String-Repeat-a-String_script.js b/JavaScript Algorithms and Data Structures/06-Basic-Algorithm-Scripting/07.Repeat-a-String-Repeat-a-String_script.js similarity index 100% rename from Basic-Algorithm-Scripting/07.Repeat-a-String-Repeat-a-String_script.js rename to JavaScript Algorithms and Data Structures/06-Basic-Algorithm-Scripting/07.Repeat-a-String-Repeat-a-String_script.js diff --git a/Basic-Algorithm-Scripting/08.Truncate-a-String_script.js b/JavaScript Algorithms and Data Structures/06-Basic-Algorithm-Scripting/08.Truncate-a-String_script.js similarity index 100% rename from Basic-Algorithm-Scripting/08.Truncate-a-String_script.js rename to JavaScript Algorithms and Data Structures/06-Basic-Algorithm-Scripting/08.Truncate-a-String_script.js diff --git a/Basic-Algorithm-Scripting/09.Finders-Keepers_script.js b/JavaScript Algorithms and Data Structures/06-Basic-Algorithm-Scripting/09.Finders-Keepers_script.js similarity index 100% rename from Basic-Algorithm-Scripting/09.Finders-Keepers_script.js rename to JavaScript Algorithms and Data Structures/06-Basic-Algorithm-Scripting/09.Finders-Keepers_script.js diff --git a/Basic-Algorithm-Scripting/10.Boo-who_script.js b/JavaScript Algorithms and Data Structures/06-Basic-Algorithm-Scripting/10.Boo-who_script.js similarity index 100% rename from Basic-Algorithm-Scripting/10.Boo-who_script.js rename to JavaScript Algorithms and Data Structures/06-Basic-Algorithm-Scripting/10.Boo-who_script.js diff --git a/Basic-Algorithm-Scripting/11.Title-Case-a-Sentence_script.js b/JavaScript Algorithms and Data Structures/06-Basic-Algorithm-Scripting/11.Title-Case-a-Sentence_script.js similarity index 100% rename from Basic-Algorithm-Scripting/11.Title-Case-a-Sentence_script.js rename to JavaScript Algorithms and Data Structures/06-Basic-Algorithm-Scripting/11.Title-Case-a-Sentence_script.js diff --git a/Basic-Algorithm-Scripting/12.Slice-and-Splice_script.js b/JavaScript Algorithms and Data Structures/06-Basic-Algorithm-Scripting/12.Slice-and-Splice_script.js similarity index 100% rename from Basic-Algorithm-Scripting/12.Slice-and-Splice_script.js rename to JavaScript Algorithms and Data Structures/06-Basic-Algorithm-Scripting/12.Slice-and-Splice_script.js diff --git a/Basic-Algorithm-Scripting/13.Falsy-Bouncer_script.js b/JavaScript Algorithms and Data Structures/06-Basic-Algorithm-Scripting/13.Falsy-Bouncer_script.js similarity index 100% rename from Basic-Algorithm-Scripting/13.Falsy-Bouncer_script.js rename to JavaScript Algorithms and Data Structures/06-Basic-Algorithm-Scripting/13.Falsy-Bouncer_script.js diff --git a/Basic-Algorithm-Scripting/14.Where-do-I-Belong_script.js b/JavaScript Algorithms and Data Structures/06-Basic-Algorithm-Scripting/14.Where-do-I-Belong_script.js similarity index 100% rename from Basic-Algorithm-Scripting/14.Where-do-I-Belong_script.js rename to JavaScript Algorithms and Data Structures/06-Basic-Algorithm-Scripting/14.Where-do-I-Belong_script.js diff --git a/Basic-Algorithm-Scripting/15.Mutations_script.js b/JavaScript Algorithms and Data Structures/06-Basic-Algorithm-Scripting/15.Mutations_script.js similarity index 100% rename from Basic-Algorithm-Scripting/15.Mutations_script.js rename to JavaScript Algorithms and Data Structures/06-Basic-Algorithm-Scripting/15.Mutations_script.js diff --git a/Basic-Algorithm-Scripting/16.Chunky-Monkey_script.js b/JavaScript Algorithms and Data Structures/06-Basic-Algorithm-Scripting/16.Chunky-Monkey_script.js similarity index 100% rename from Basic-Algorithm-Scripting/16.Chunky-Monkey_script.js rename to JavaScript Algorithms and Data Structures/06-Basic-Algorithm-Scripting/16.Chunky-Monkey_script.js diff --git a/Object-Oriented-Programming/01.Create-a-Basic-JavaScript-Object_script.js b/JavaScript Algorithms and Data Structures/07-Object-Oriented-Programming/01.Create-a-Basic-JavaScript-Object_script.js similarity index 100% rename from Object-Oriented-Programming/01.Create-a-Basic-JavaScript-Object_script.js rename to JavaScript Algorithms and Data Structures/07-Object-Oriented-Programming/01.Create-a-Basic-JavaScript-Object_script.js diff --git a/Object-Oriented-Programming/02.Use-Dot-Notation-to-Access-the-Properties-of-an-Object_script.js b/JavaScript Algorithms and Data Structures/07-Object-Oriented-Programming/02.Use-Dot-Notation-to-Access-the-Properties-of-an-Object_script.js similarity index 100% rename from Object-Oriented-Programming/02.Use-Dot-Notation-to-Access-the-Properties-of-an-Object_script.js rename to JavaScript Algorithms and Data Structures/07-Object-Oriented-Programming/02.Use-Dot-Notation-to-Access-the-Properties-of-an-Object_script.js diff --git a/Object-Oriented-Programming/03.Create-a-Method-on-an-Object_script.js b/JavaScript Algorithms and Data Structures/07-Object-Oriented-Programming/03.Create-a-Method-on-an-Object_script.js similarity index 100% rename from Object-Oriented-Programming/03.Create-a-Method-on-an-Object_script.js rename to JavaScript Algorithms and Data Structures/07-Object-Oriented-Programming/03.Create-a-Method-on-an-Object_script.js diff --git a/Object-Oriented-Programming/04.Make-Code-More-Reusable-with-the-this-Keyword_script.js b/JavaScript Algorithms and Data Structures/07-Object-Oriented-Programming/04.Make-Code-More-Reusable-with-the-this-Keyword_script.js similarity index 100% rename from Object-Oriented-Programming/04.Make-Code-More-Reusable-with-the-this-Keyword_script.js rename to JavaScript Algorithms and Data Structures/07-Object-Oriented-Programming/04.Make-Code-More-Reusable-with-the-this-Keyword_script.js diff --git a/Object-Oriented-Programming/05.Define-a-Constructor-Function_script.js b/JavaScript Algorithms and Data Structures/07-Object-Oriented-Programming/05.Define-a-Constructor-Function_script.js similarity index 100% rename from Object-Oriented-Programming/05.Define-a-Constructor-Function_script.js rename to JavaScript Algorithms and Data Structures/07-Object-Oriented-Programming/05.Define-a-Constructor-Function_script.js diff --git a/Object-Oriented-Programming/06.Use-a-Constructor-to-Create-Objects_script.js b/JavaScript Algorithms and Data Structures/07-Object-Oriented-Programming/06.Use-a-Constructor-to-Create-Objects_script.js similarity index 100% rename from Object-Oriented-Programming/06.Use-a-Constructor-to-Create-Objects_script.js rename to JavaScript Algorithms and Data Structures/07-Object-Oriented-Programming/06.Use-a-Constructor-to-Create-Objects_script.js diff --git a/Object-Oriented-Programming/07.Extend-Constructors-to-Receive-Arguments_script.js b/JavaScript Algorithms and Data Structures/07-Object-Oriented-Programming/07.Extend-Constructors-to-Receive-Arguments_script.js similarity index 100% rename from Object-Oriented-Programming/07.Extend-Constructors-to-Receive-Arguments_script.js rename to JavaScript Algorithms and Data Structures/07-Object-Oriented-Programming/07.Extend-Constructors-to-Receive-Arguments_script.js diff --git a/Object-Oriented-Programming/08.Verify-an-Object's-Constructor-with-instanceof_script.js b/JavaScript Algorithms and Data Structures/07-Object-Oriented-Programming/08.Verify-an-Object's-Constructor-with-instanceof_script.js similarity index 100% rename from Object-Oriented-Programming/08.Verify-an-Object's-Constructor-with-instanceof_script.js rename to JavaScript Algorithms and Data Structures/07-Object-Oriented-Programming/08.Verify-an-Object's-Constructor-with-instanceof_script.js diff --git a/Object-Oriented-Programming/09.Understand-Own-Properties_script.js b/JavaScript Algorithms and Data Structures/07-Object-Oriented-Programming/09.Understand-Own-Properties_script.js similarity index 100% rename from Object-Oriented-Programming/09.Understand-Own-Properties_script.js rename to JavaScript Algorithms and Data Structures/07-Object-Oriented-Programming/09.Understand-Own-Properties_script.js diff --git a/Object-Oriented-Programming/10.Use-Prototype-Properties-to-Reduce-Duplicate-Code_script.js b/JavaScript Algorithms and Data Structures/07-Object-Oriented-Programming/10.Use-Prototype-Properties-to-Reduce-Duplicate-Code_script.js similarity index 100% rename from Object-Oriented-Programming/10.Use-Prototype-Properties-to-Reduce-Duplicate-Code_script.js rename to JavaScript Algorithms and Data Structures/07-Object-Oriented-Programming/10.Use-Prototype-Properties-to-Reduce-Duplicate-Code_script.js diff --git a/Object-Oriented-Programming/11.Iterate-Over-All-Properties_script.js b/JavaScript Algorithms and Data Structures/07-Object-Oriented-Programming/11.Iterate-Over-All-Properties_script.js similarity index 100% rename from Object-Oriented-Programming/11.Iterate-Over-All-Properties_script.js rename to JavaScript Algorithms and Data Structures/07-Object-Oriented-Programming/11.Iterate-Over-All-Properties_script.js diff --git a/Object-Oriented-Programming/12.Understand-the-Constructor-Property_script.js b/JavaScript Algorithms and Data Structures/07-Object-Oriented-Programming/12.Understand-the-Constructor-Property_script.js similarity index 100% rename from Object-Oriented-Programming/12.Understand-the-Constructor-Property_script.js rename to JavaScript Algorithms and Data Structures/07-Object-Oriented-Programming/12.Understand-the-Constructor-Property_script.js diff --git a/Object-Oriented-Programming/13.Change-the-Prototype-to-a-New-Object_script.js b/JavaScript Algorithms and Data Structures/07-Object-Oriented-Programming/13.Change-the-Prototype-to-a-New-Object_script.js similarity index 100% rename from Object-Oriented-Programming/13.Change-the-Prototype-to-a-New-Object_script.js rename to JavaScript Algorithms and Data Structures/07-Object-Oriented-Programming/13.Change-the-Prototype-to-a-New-Object_script.js diff --git a/Object-Oriented-Programming/14.Remember-to-Set-the-Constructor-Property-when-Changing-the-Prototype_script.js b/JavaScript Algorithms and Data Structures/07-Object-Oriented-Programming/14.Remember-to-Set-the-Constructor-Property-when-Changing-the-Prototype_script.js similarity index 100% rename from Object-Oriented-Programming/14.Remember-to-Set-the-Constructor-Property-when-Changing-the-Prototype_script.js rename to JavaScript Algorithms and Data Structures/07-Object-Oriented-Programming/14.Remember-to-Set-the-Constructor-Property-when-Changing-the-Prototype_script.js diff --git "a/Object-Oriented-Programming/15.Understand-Where-an-Object\342\200\231s-Prototype-Comes-From_script.js" "b/JavaScript Algorithms and Data Structures/07-Object-Oriented-Programming/15.Understand-Where-an-Object\342\200\231s-Prototype-Comes-From_script.js" similarity index 100% rename from "Object-Oriented-Programming/15.Understand-Where-an-Object\342\200\231s-Prototype-Comes-From_script.js" rename to "JavaScript Algorithms and Data Structures/07-Object-Oriented-Programming/15.Understand-Where-an-Object\342\200\231s-Prototype-Comes-From_script.js" diff --git a/Object-Oriented-Programming/16.Understand-the-Prototype-Chain_script.js b/JavaScript Algorithms and Data Structures/07-Object-Oriented-Programming/16.Understand-the-Prototype-Chain_script.js similarity index 100% rename from Object-Oriented-Programming/16.Understand-the-Prototype-Chain_script.js rename to JavaScript Algorithms and Data Structures/07-Object-Oriented-Programming/16.Understand-the-Prototype-Chain_script.js diff --git a/Object-Oriented-Programming/17.Use-Inheritance-So-You-Don't-Repeat-Yourself_script.js b/JavaScript Algorithms and Data Structures/07-Object-Oriented-Programming/17.Use-Inheritance-So-You-Don't-Repeat-Yourself_script.js similarity index 100% rename from Object-Oriented-Programming/17.Use-Inheritance-So-You-Don't-Repeat-Yourself_script.js rename to JavaScript Algorithms and Data Structures/07-Object-Oriented-Programming/17.Use-Inheritance-So-You-Don't-Repeat-Yourself_script.js diff --git a/Object-Oriented-Programming/18.Inherit-Behaviors-from-a-Supertype_script.js b/JavaScript Algorithms and Data Structures/07-Object-Oriented-Programming/18.Inherit-Behaviors-from-a-Supertype_script.js similarity index 100% rename from Object-Oriented-Programming/18.Inherit-Behaviors-from-a-Supertype_script.js rename to JavaScript Algorithms and Data Structures/07-Object-Oriented-Programming/18.Inherit-Behaviors-from-a-Supertype_script.js diff --git a/Object-Oriented-Programming/19.Set-the-Child's-Prototype-to-an-Instance-of-the-Parent_script.js b/JavaScript Algorithms and Data Structures/07-Object-Oriented-Programming/19.Set-the-Child's-Prototype-to-an-Instance-of-the-Parent_script.js similarity index 100% rename from Object-Oriented-Programming/19.Set-the-Child's-Prototype-to-an-Instance-of-the-Parent_script.js rename to JavaScript Algorithms and Data Structures/07-Object-Oriented-Programming/19.Set-the-Child's-Prototype-to-an-Instance-of-the-Parent_script.js diff --git a/Object-Oriented-Programming/20.Reset-an-Inherited-Constructor-Property_script.js b/JavaScript Algorithms and Data Structures/07-Object-Oriented-Programming/20.Reset-an-Inherited-Constructor-Property_script.js similarity index 100% rename from Object-Oriented-Programming/20.Reset-an-Inherited-Constructor-Property_script.js rename to JavaScript Algorithms and Data Structures/07-Object-Oriented-Programming/20.Reset-an-Inherited-Constructor-Property_script.js diff --git a/Object-Oriented-Programming/21.Add-Methods-After-Inheritance_script.js b/JavaScript Algorithms and Data Structures/07-Object-Oriented-Programming/21.Add-Methods-After-Inheritance_script.js similarity index 100% rename from Object-Oriented-Programming/21.Add-Methods-After-Inheritance_script.js rename to JavaScript Algorithms and Data Structures/07-Object-Oriented-Programming/21.Add-Methods-After-Inheritance_script.js diff --git a/Object-Oriented-Programming/22.Override-Inherited-Methods_script.js b/JavaScript Algorithms and Data Structures/07-Object-Oriented-Programming/22.Override-Inherited-Methods_script.js similarity index 100% rename from Object-Oriented-Programming/22.Override-Inherited-Methods_script.js rename to JavaScript Algorithms and Data Structures/07-Object-Oriented-Programming/22.Override-Inherited-Methods_script.js diff --git a/Object-Oriented-Programming/23.Use-a-Mixin-to-Add-Common-Behavior-Between-Unrelated-Objects_script.js b/JavaScript Algorithms and Data Structures/07-Object-Oriented-Programming/23.Use-a-Mixin-to-Add-Common-Behavior-Between-Unrelated-Objects_script.js similarity index 100% rename from Object-Oriented-Programming/23.Use-a-Mixin-to-Add-Common-Behavior-Between-Unrelated-Objects_script.js rename to JavaScript Algorithms and Data Structures/07-Object-Oriented-Programming/23.Use-a-Mixin-to-Add-Common-Behavior-Between-Unrelated-Objects_script.js diff --git a/Object-Oriented-Programming/24.Use-Closure-to-Protect-Properties-Within-an-Object-from-Being-Modified-Externally_script.js b/JavaScript Algorithms and Data Structures/07-Object-Oriented-Programming/24.Use-Closure-to-Protect-Properties-Within-an-Object-from-Being-Modified-Externally_script.js similarity index 100% rename from Object-Oriented-Programming/24.Use-Closure-to-Protect-Properties-Within-an-Object-from-Being-Modified-Externally_script.js rename to JavaScript Algorithms and Data Structures/07-Object-Oriented-Programming/24.Use-Closure-to-Protect-Properties-Within-an-Object-from-Being-Modified-Externally_script.js diff --git a/Object-Oriented-Programming/25.Understand-the-Immediately-Invoked-Function-Expression-(IIFE)_script.js b/JavaScript Algorithms and Data Structures/07-Object-Oriented-Programming/25.Understand-the-Immediately-Invoked-Function-Expression-(IIFE)_script.js similarity index 100% rename from Object-Oriented-Programming/25.Understand-the-Immediately-Invoked-Function-Expression-(IIFE)_script.js rename to JavaScript Algorithms and Data Structures/07-Object-Oriented-Programming/25.Understand-the-Immediately-Invoked-Function-Expression-(IIFE)_script.js diff --git a/Object-Oriented-Programming/26.Use-an-IIFE-to-Create-a-Module_script.js b/JavaScript Algorithms and Data Structures/07-Object-Oriented-Programming/26.Use-an-IIFE-to-Create-a-Module_script.js similarity index 100% rename from Object-Oriented-Programming/26.Use-an-IIFE-to-Create-a-Module_script.js rename to JavaScript Algorithms and Data Structures/07-Object-Oriented-Programming/26.Use-an-IIFE-to-Create-a-Module_script.js diff --git a/Functional-Programming/01.Learn-About-Functional-Programming.js b/JavaScript Algorithms and Data Structures/08-Functional-Programming/01.Learn-About-Functional-Programming.js similarity index 100% rename from Functional-Programming/01.Learn-About-Functional-Programming.js rename to JavaScript Algorithms and Data Structures/08-Functional-Programming/01.Learn-About-Functional-Programming.js diff --git a/Functional-Programming/02.Understand-Functional-Programming-Terminology.js b/JavaScript Algorithms and Data Structures/08-Functional-Programming/02.Understand-Functional-Programming-Terminology.js similarity index 100% rename from Functional-Programming/02.Understand-Functional-Programming-Terminology.js rename to JavaScript Algorithms and Data Structures/08-Functional-Programming/02.Understand-Functional-Programming-Terminology.js diff --git a/Functional-Programming/03.Understand-the-Hazards-of-Using-Imperative-Code.js b/JavaScript Algorithms and Data Structures/08-Functional-Programming/03.Understand-the-Hazards-of-Using-Imperative-Code.js similarity index 100% rename from Functional-Programming/03.Understand-the-Hazards-of-Using-Imperative-Code.js rename to JavaScript Algorithms and Data Structures/08-Functional-Programming/03.Understand-the-Hazards-of-Using-Imperative-Code.js diff --git a/Functional-Programming/04.Avoid-Mutations-and-Side-Effects-Using-Functional-Programming.js b/JavaScript Algorithms and Data Structures/08-Functional-Programming/04.Avoid-Mutations-and-Side-Effects-Using-Functional-Programming.js similarity index 100% rename from Functional-Programming/04.Avoid-Mutations-and-Side-Effects-Using-Functional-Programming.js rename to JavaScript Algorithms and Data Structures/08-Functional-Programming/04.Avoid-Mutations-and-Side-Effects-Using-Functional-Programming.js diff --git a/Functional-Programming/05.Pass-Arguments-to-Avoid-External-Dependence-in-a-Function.js b/JavaScript Algorithms and Data Structures/08-Functional-Programming/05.Pass-Arguments-to-Avoid-External-Dependence-in-a-Function.js similarity index 100% rename from Functional-Programming/05.Pass-Arguments-to-Avoid-External-Dependence-in-a-Function.js rename to JavaScript Algorithms and Data Structures/08-Functional-Programming/05.Pass-Arguments-to-Avoid-External-Dependence-in-a-Function.js diff --git a/Functional-Programming/06.Refactor-Global-Variables-Out-of-Functions.js b/JavaScript Algorithms and Data Structures/08-Functional-Programming/06.Refactor-Global-Variables-Out-of-Functions.js similarity index 100% rename from Functional-Programming/06.Refactor-Global-Variables-Out-of-Functions.js rename to JavaScript Algorithms and Data Structures/08-Functional-Programming/06.Refactor-Global-Variables-Out-of-Functions.js diff --git a/Functional-Programming/07.Use-the-map-Method-to-Extract-Data-from-an-Array.js b/JavaScript Algorithms and Data Structures/08-Functional-Programming/07.Use-the-map-Method-to-Extract-Data-from-an-Array.js similarity index 100% rename from Functional-Programming/07.Use-the-map-Method-to-Extract-Data-from-an-Array.js rename to JavaScript Algorithms and Data Structures/08-Functional-Programming/07.Use-the-map-Method-to-Extract-Data-from-an-Array.js diff --git a/Functional-Programming/08.Implement-map-on-a-Prototype.js b/JavaScript Algorithms and Data Structures/08-Functional-Programming/08.Implement-map-on-a-Prototype.js similarity index 100% rename from Functional-Programming/08.Implement-map-on-a-Prototype.js rename to JavaScript Algorithms and Data Structures/08-Functional-Programming/08.Implement-map-on-a-Prototype.js diff --git a/Functional-Programming/09.Use-the-filter-Method-to-Extract-Data-from-an-Array.js b/JavaScript Algorithms and Data Structures/08-Functional-Programming/09.Use-the-filter-Method-to-Extract-Data-from-an-Array.js similarity index 100% rename from Functional-Programming/09.Use-the-filter-Method-to-Extract-Data-from-an-Array.js rename to JavaScript Algorithms and Data Structures/08-Functional-Programming/09.Use-the-filter-Method-to-Extract-Data-from-an-Array.js diff --git a/Functional-Programming/10.Implement-the-filter-Method-on-a-Prototype.js b/JavaScript Algorithms and Data Structures/08-Functional-Programming/10.Implement-the-filter-Method-on-a-Prototype.js similarity index 100% rename from Functional-Programming/10.Implement-the-filter-Method-on-a-Prototype.js rename to JavaScript Algorithms and Data Structures/08-Functional-Programming/10.Implement-the-filter-Method-on-a-Prototype.js diff --git a/Functional-Programming/11.Return-Part-of-an-Array-Using-the-slice-Method.js b/JavaScript Algorithms and Data Structures/08-Functional-Programming/11.Return-Part-of-an-Array-Using-the-slice-Method.js similarity index 100% rename from Functional-Programming/11.Return-Part-of-an-Array-Using-the-slice-Method.js rename to JavaScript Algorithms and Data Structures/08-Functional-Programming/11.Return-Part-of-an-Array-Using-the-slice-Method.js diff --git a/Functional-Programming/12.Remove-Elements-from-an-Array-Using-slice-Instead-of-splice.js b/JavaScript Algorithms and Data Structures/08-Functional-Programming/12.Remove-Elements-from-an-Array-Using-slice-Instead-of-splice.js similarity index 100% rename from Functional-Programming/12.Remove-Elements-from-an-Array-Using-slice-Instead-of-splice.js rename to JavaScript Algorithms and Data Structures/08-Functional-Programming/12.Remove-Elements-from-an-Array-Using-slice-Instead-of-splice.js diff --git a/Functional-Programming/13.Combine-Two-Arrays-Using-the-concat-Method.js b/JavaScript Algorithms and Data Structures/08-Functional-Programming/13.Combine-Two-Arrays-Using-the-concat-Method.js similarity index 100% rename from Functional-Programming/13.Combine-Two-Arrays-Using-the-concat-Method.js rename to JavaScript Algorithms and Data Structures/08-Functional-Programming/13.Combine-Two-Arrays-Using-the-concat-Method.js diff --git a/Functional-Programming/14.Add-Elements-to-the-End-of-an-Array-Using-concat-Instead-of-push.js b/JavaScript Algorithms and Data Structures/08-Functional-Programming/14.Add-Elements-to-the-End-of-an-Array-Using-concat-Instead-of-push.js similarity index 100% rename from Functional-Programming/14.Add-Elements-to-the-End-of-an-Array-Using-concat-Instead-of-push.js rename to JavaScript Algorithms and Data Structures/08-Functional-Programming/14.Add-Elements-to-the-End-of-an-Array-Using-concat-Instead-of-push.js diff --git a/Functional-Programming/15.Use-the-reduce-Method-to-Analyze-Data.js b/JavaScript Algorithms and Data Structures/08-Functional-Programming/15.Use-the-reduce-Method-to-Analyze-Data.js similarity index 100% rename from Functional-Programming/15.Use-the-reduce-Method-to-Analyze-Data.js rename to JavaScript Algorithms and Data Structures/08-Functional-Programming/15.Use-the-reduce-Method-to-Analyze-Data.js diff --git a/Functional-Programming/16.Use-Higher-Order-Functions-map-filter-or-reduce-to-Solve-a-Complex-Problem.js b/JavaScript Algorithms and Data Structures/08-Functional-Programming/16.Use-Higher-Order-Functions-map-filter-or-reduce-to-Solve-a-Complex-Problem.js similarity index 100% rename from Functional-Programming/16.Use-Higher-Order-Functions-map-filter-or-reduce-to-Solve-a-Complex-Problem.js rename to JavaScript Algorithms and Data Structures/08-Functional-Programming/16.Use-Higher-Order-Functions-map-filter-or-reduce-to-Solve-a-Complex-Problem.js diff --git a/Functional-Programming/17.Sort-an-Array-Alphabetically-using-the-sort-Method.js b/JavaScript Algorithms and Data Structures/08-Functional-Programming/17.Sort-an-Array-Alphabetically-using-the-sort-Method.js similarity index 100% rename from Functional-Programming/17.Sort-an-Array-Alphabetically-using-the-sort-Method.js rename to JavaScript Algorithms and Data Structures/08-Functional-Programming/17.Sort-an-Array-Alphabetically-using-the-sort-Method.js diff --git a/Functional-Programming/18.Return-a-Sorted-Array-Without-Changing-the-Original-Array.js b/JavaScript Algorithms and Data Structures/08-Functional-Programming/18.Return-a-Sorted-Array-Without-Changing-the-Original-Array.js similarity index 100% rename from Functional-Programming/18.Return-a-Sorted-Array-Without-Changing-the-Original-Array.js rename to JavaScript Algorithms and Data Structures/08-Functional-Programming/18.Return-a-Sorted-Array-Without-Changing-the-Original-Array.js diff --git a/Functional-Programming/19.Split-a-String-into-an-Array-Using-the-split-Method.js b/JavaScript Algorithms and Data Structures/08-Functional-Programming/19.Split-a-String-into-an-Array-Using-the-split-Method.js similarity index 100% rename from Functional-Programming/19.Split-a-String-into-an-Array-Using-the-split-Method.js rename to JavaScript Algorithms and Data Structures/08-Functional-Programming/19.Split-a-String-into-an-Array-Using-the-split-Method.js diff --git a/Functional-Programming/20.Combine-an-Array-into-a-String-Using-the-join-Method.js b/JavaScript Algorithms and Data Structures/08-Functional-Programming/20.Combine-an-Array-into-a-String-Using-the-join-Method.js similarity index 100% rename from Functional-Programming/20.Combine-an-Array-into-a-String-Using-the-join-Method.js rename to JavaScript Algorithms and Data Structures/08-Functional-Programming/20.Combine-an-Array-into-a-String-Using-the-join-Method.js diff --git a/Functional-Programming/21.Apply-Functional-Programming-to-Convert-Strings-to-URL-Slugs.js b/JavaScript Algorithms and Data Structures/08-Functional-Programming/21.Apply-Functional-Programming-to-Convert-Strings-to-URL-Slugs.js similarity index 100% rename from Functional-Programming/21.Apply-Functional-Programming-to-Convert-Strings-to-URL-Slugs.js rename to JavaScript Algorithms and Data Structures/08-Functional-Programming/21.Apply-Functional-Programming-to-Convert-Strings-to-URL-Slugs.js diff --git a/Functional-Programming/22.Use-the-every-Method-to-Check-that-Every-Element-in-an-Array-Meets-a-Criteria.js b/JavaScript Algorithms and Data Structures/08-Functional-Programming/22.Use-the-every-Method-to-Check-that-Every-Element-in-an-Array-Meets-a-Criteria.js similarity index 100% rename from Functional-Programming/22.Use-the-every-Method-to-Check-that-Every-Element-in-an-Array-Meets-a-Criteria.js rename to JavaScript Algorithms and Data Structures/08-Functional-Programming/22.Use-the-every-Method-to-Check-that-Every-Element-in-an-Array-Meets-a-Criteria.js diff --git a/Functional-Programming/23.Use-the-some-Method-to-Check-that-Any-Elements-in-an-Array-Meet-a-Criteria.js b/JavaScript Algorithms and Data Structures/08-Functional-Programming/23.Use-the-some-Method-to-Check-that-Any-Elements-in-an-Array-Meet-a-Criteria.js similarity index 100% rename from Functional-Programming/23.Use-the-some-Method-to-Check-that-Any-Elements-in-an-Array-Meet-a-Criteria.js rename to JavaScript Algorithms and Data Structures/08-Functional-Programming/23.Use-the-some-Method-to-Check-that-Any-Elements-in-an-Array-Meet-a-Criteria.js diff --git a/Functional-Programming/24.Introduction-to-Currying-and-Partial-Application.js b/JavaScript Algorithms and Data Structures/08-Functional-Programming/24.Introduction-to-Currying-and-Partial-Application.js similarity index 100% rename from Functional-Programming/24.Introduction-to-Currying-and-Partial-Application.js rename to JavaScript Algorithms and Data Structures/08-Functional-Programming/24.Introduction-to-Currying-and-Partial-Application.js diff --git a/Intermediate-Algorithm-Scripting/01.Sum-All-Numbers-in-a-Range.js b/JavaScript Algorithms and Data Structures/09-Intermediate-Algorithm-Scripting/01.Sum-All-Numbers-in-a-Range.js similarity index 100% rename from Intermediate-Algorithm-Scripting/01.Sum-All-Numbers-in-a-Range.js rename to JavaScript Algorithms and Data Structures/09-Intermediate-Algorithm-Scripting/01.Sum-All-Numbers-in-a-Range.js diff --git a/Intermediate-Algorithm-Scripting/02.Diff-Two-Arrays.js b/JavaScript Algorithms and Data Structures/09-Intermediate-Algorithm-Scripting/02.Diff-Two-Arrays.js similarity index 100% rename from Intermediate-Algorithm-Scripting/02.Diff-Two-Arrays.js rename to JavaScript Algorithms and Data Structures/09-Intermediate-Algorithm-Scripting/02.Diff-Two-Arrays.js diff --git a/Intermediate-Algorithm-Scripting/03.Seek-and-Destroy.js b/JavaScript Algorithms and Data Structures/09-Intermediate-Algorithm-Scripting/03.Seek-and-Destroy.js similarity index 100% rename from Intermediate-Algorithm-Scripting/03.Seek-and-Destroy.js rename to JavaScript Algorithms and Data Structures/09-Intermediate-Algorithm-Scripting/03.Seek-and-Destroy.js diff --git a/Intermediate-Algorithm-Scripting/04.Where-art-thou.js b/JavaScript Algorithms and Data Structures/09-Intermediate-Algorithm-Scripting/04.Where-art-thou.js similarity index 100% rename from Intermediate-Algorithm-Scripting/04.Where-art-thou.js rename to JavaScript Algorithms and Data Structures/09-Intermediate-Algorithm-Scripting/04.Where-art-thou.js diff --git a/Intermediate-Algorithm-Scripting/05.Spinal-Tap-Case.js b/JavaScript Algorithms and Data Structures/09-Intermediate-Algorithm-Scripting/05.Spinal-Tap-Case.js similarity index 100% rename from Intermediate-Algorithm-Scripting/05.Spinal-Tap-Case.js rename to JavaScript Algorithms and Data Structures/09-Intermediate-Algorithm-Scripting/05.Spinal-Tap-Case.js diff --git a/Intermediate-Algorithm-Scripting/06.Pig-Latin.js b/JavaScript Algorithms and Data Structures/09-Intermediate-Algorithm-Scripting/06.Pig-Latin.js similarity index 100% rename from Intermediate-Algorithm-Scripting/06.Pig-Latin.js rename to JavaScript Algorithms and Data Structures/09-Intermediate-Algorithm-Scripting/06.Pig-Latin.js diff --git a/Intermediate-Algorithm-Scripting/07.Search-and-Replace.js b/JavaScript Algorithms and Data Structures/09-Intermediate-Algorithm-Scripting/07.Search-and-Replace.js similarity index 100% rename from Intermediate-Algorithm-Scripting/07.Search-and-Replace.js rename to JavaScript Algorithms and Data Structures/09-Intermediate-Algorithm-Scripting/07.Search-and-Replace.js diff --git a/Intermediate-Algorithm-Scripting/08.DNA-Pairing.js b/JavaScript Algorithms and Data Structures/09-Intermediate-Algorithm-Scripting/08.DNA-Pairing.js similarity index 100% rename from Intermediate-Algorithm-Scripting/08.DNA-Pairing.js rename to JavaScript Algorithms and Data Structures/09-Intermediate-Algorithm-Scripting/08.DNA-Pairing.js diff --git a/Intermediate-Algorithm-Scripting/09.Missing-letters.js b/JavaScript Algorithms and Data Structures/09-Intermediate-Algorithm-Scripting/09.Missing-letters.js similarity index 100% rename from Intermediate-Algorithm-Scripting/09.Missing-letters.js rename to JavaScript Algorithms and Data Structures/09-Intermediate-Algorithm-Scripting/09.Missing-letters.js diff --git a/Intermediate-Algorithm-Scripting/10.Sorted-Union.js b/JavaScript Algorithms and Data Structures/09-Intermediate-Algorithm-Scripting/10.Sorted-Union.js similarity index 100% rename from Intermediate-Algorithm-Scripting/10.Sorted-Union.js rename to JavaScript Algorithms and Data Structures/09-Intermediate-Algorithm-Scripting/10.Sorted-Union.js diff --git a/Intermediate-Algorithm-Scripting/11.Convert-HTML-Entities.js b/JavaScript Algorithms and Data Structures/09-Intermediate-Algorithm-Scripting/11.Convert-HTML-Entities.js similarity index 100% rename from Intermediate-Algorithm-Scripting/11.Convert-HTML-Entities.js rename to JavaScript Algorithms and Data Structures/09-Intermediate-Algorithm-Scripting/11.Convert-HTML-Entities.js diff --git a/Intermediate-Algorithm-Scripting/12.Sum-All-Odd-Fibonacci-Numbers.js b/JavaScript Algorithms and Data Structures/09-Intermediate-Algorithm-Scripting/12.Sum-All-Odd-Fibonacci-Numbers.js similarity index 100% rename from Intermediate-Algorithm-Scripting/12.Sum-All-Odd-Fibonacci-Numbers.js rename to JavaScript Algorithms and Data Structures/09-Intermediate-Algorithm-Scripting/12.Sum-All-Odd-Fibonacci-Numbers.js diff --git a/Intermediate-Algorithm-Scripting/13.Sum-All-Primes.js b/JavaScript Algorithms and Data Structures/09-Intermediate-Algorithm-Scripting/13.Sum-All-Primes.js similarity index 100% rename from Intermediate-Algorithm-Scripting/13.Sum-All-Primes.js rename to JavaScript Algorithms and Data Structures/09-Intermediate-Algorithm-Scripting/13.Sum-All-Primes.js diff --git a/Intermediate-Algorithm-Scripting/14.Smallest-Common-Multiple.js b/JavaScript Algorithms and Data Structures/09-Intermediate-Algorithm-Scripting/14.Smallest-Common-Multiple.js similarity index 100% rename from Intermediate-Algorithm-Scripting/14.Smallest-Common-Multiple.js rename to JavaScript Algorithms and Data Structures/09-Intermediate-Algorithm-Scripting/14.Smallest-Common-Multiple.js diff --git a/Intermediate-Algorithm-Scripting/15.Drop-it.js b/JavaScript Algorithms and Data Structures/09-Intermediate-Algorithm-Scripting/15.Drop-it.js similarity index 100% rename from Intermediate-Algorithm-Scripting/15.Drop-it.js rename to JavaScript Algorithms and Data Structures/09-Intermediate-Algorithm-Scripting/15.Drop-it.js diff --git a/Intermediate-Algorithm-Scripting/16.Steamroller.js b/JavaScript Algorithms and Data Structures/09-Intermediate-Algorithm-Scripting/16.Steamroller.js similarity index 100% rename from Intermediate-Algorithm-Scripting/16.Steamroller.js rename to JavaScript Algorithms and Data Structures/09-Intermediate-Algorithm-Scripting/16.Steamroller.js diff --git a/Intermediate-Algorithm-Scripting/17.Binary-Agents.js b/JavaScript Algorithms and Data Structures/09-Intermediate-Algorithm-Scripting/17.Binary-Agents.js similarity index 100% rename from Intermediate-Algorithm-Scripting/17.Binary-Agents.js rename to JavaScript Algorithms and Data Structures/09-Intermediate-Algorithm-Scripting/17.Binary-Agents.js diff --git a/Intermediate-Algorithm-Scripting/18.Everything-Be-True.js b/JavaScript Algorithms and Data Structures/09-Intermediate-Algorithm-Scripting/18.Everything-Be-True.js similarity index 100% rename from Intermediate-Algorithm-Scripting/18.Everything-Be-True.js rename to JavaScript Algorithms and Data Structures/09-Intermediate-Algorithm-Scripting/18.Everything-Be-True.js diff --git a/Intermediate-Algorithm-Scripting/19.Arguments-Optional.js b/JavaScript Algorithms and Data Structures/09-Intermediate-Algorithm-Scripting/19.Arguments-Optional.js similarity index 100% rename from Intermediate-Algorithm-Scripting/19.Arguments-Optional.js rename to JavaScript Algorithms and Data Structures/09-Intermediate-Algorithm-Scripting/19.Arguments-Optional.js diff --git a/Intermediate-Algorithm-Scripting/20.Make-a-Person.js b/JavaScript Algorithms and Data Structures/09-Intermediate-Algorithm-Scripting/20.Make-a-Person.js similarity index 100% rename from Intermediate-Algorithm-Scripting/20.Make-a-Person.js rename to JavaScript Algorithms and Data Structures/09-Intermediate-Algorithm-Scripting/20.Make-a-Person.js diff --git a/Intermediate-Algorithm-Scripting/21.Map-the-Debris.js b/JavaScript Algorithms and Data Structures/09-Intermediate-Algorithm-Scripting/21.Map-the-Debris.js similarity index 100% rename from Intermediate-Algorithm-Scripting/21.Map-the-Debris.js rename to JavaScript Algorithms and Data Structures/09-Intermediate-Algorithm-Scripting/21.Map-the-Debris.js diff --git a/JavaScript-Algorithms-and-Data-Structures-Projects/Caesars-Cipher.js b/JavaScript Algorithms and Data Structures/10-JavaScript-Algorithms-and-Data-Structures-Projects/Caesars-Cipher.js similarity index 100% rename from JavaScript-Algorithms-and-Data-Structures-Projects/Caesars-Cipher.js rename to JavaScript Algorithms and Data Structures/10-JavaScript-Algorithms-and-Data-Structures-Projects/Caesars-Cipher.js diff --git a/JavaScript-Algorithms-and-Data-Structures-Projects/Cash-Register.js b/JavaScript Algorithms and Data Structures/10-JavaScript-Algorithms-and-Data-Structures-Projects/Cash-Register.js similarity index 100% rename from JavaScript-Algorithms-and-Data-Structures-Projects/Cash-Register.js rename to JavaScript Algorithms and Data Structures/10-JavaScript-Algorithms-and-Data-Structures-Projects/Cash-Register.js diff --git a/JavaScript-Algorithms-and-Data-Structures-Projects/Palindrome-Checker.js b/JavaScript Algorithms and Data Structures/10-JavaScript-Algorithms-and-Data-Structures-Projects/Palindrome-Checker.js similarity index 100% rename from JavaScript-Algorithms-and-Data-Structures-Projects/Palindrome-Checker.js rename to JavaScript Algorithms and Data Structures/10-JavaScript-Algorithms-and-Data-Structures-Projects/Palindrome-Checker.js diff --git a/JavaScript-Algorithms-and-Data-Structures-Projects/Roman-Numeral-Converter.js b/JavaScript Algorithms and Data Structures/10-JavaScript-Algorithms-and-Data-Structures-Projects/Roman-Numeral-Converter.js similarity index 100% rename from JavaScript-Algorithms-and-Data-Structures-Projects/Roman-Numeral-Converter.js rename to JavaScript Algorithms and Data Structures/10-JavaScript-Algorithms-and-Data-Structures-Projects/Roman-Numeral-Converter.js diff --git a/JavaScript-Algorithms-and-Data-Structures-Projects/Telephone-Number-Validator.js b/JavaScript Algorithms and Data Structures/10-JavaScript-Algorithms-and-Data-Structures-Projects/Telephone-Number-Validator.js similarity index 100% rename from JavaScript-Algorithms-and-Data-Structures-Projects/Telephone-Number-Validator.js rename to JavaScript Algorithms and Data Structures/10-JavaScript-Algorithms-and-Data-Structures-Projects/Telephone-Number-Validator.js diff --git a/JavaScript Algorithms and Data Structures/README.md b/JavaScript Algorithms and Data Structures/README.md new file mode 100644 index 0000000..5cbdcc1 --- /dev/null +++ b/JavaScript Algorithms and Data Structures/README.md @@ -0,0 +1,16 @@ +# FreeCodeCamp +[![freeCodeCamp Social Banner](https://s3.amazonaws.com/freecodecamp/wide-social-banner.png)](https://www.freecodecamp.org/) +#### [JavaScript Algorithms and Data Structures Certification](https://www.freecodecamp.org/learn/javascript-algorithms-and-data-structures/) + +- [Basic JavaScript](https://www.freecodecamp.org/learn/javascript-algorithms-and-data-structures/#basic-javascript) +- [ES6](https://www.freecodecamp.org/learn/javascript-algorithms-and-data-structures/#es6) +- [Regular Expressions](https://www.freecodecamp.org/learn/javascript-algorithms-and-data-structures/#regular-expressions) +- [Debugging](https://www.freecodecamp.org/learn/javascript-algorithms-and-data-structures/#debugging) +- [Basic Data Structures](https://www.freecodecamp.org/learn/javascript-algorithms-and-data-structures/#basic-data-structures) +- [Basic Algorithm Scripting](https://www.freecodecamp.org/learn/javascript-algorithms-and-data-structures/#basic-algorithm-scripting) +- [Object-Oriented Programming](https://www.freecodecamp.org/learn/javascript-algorithms-and-data-structures/#object-oriented-programming) +- [Functional Programming](https://www.freecodecamp.org/learn/javascript-algorithms-and-data-structures/#functional-programming) +- [Intermediate Algorithm Scripting](https://www.freecodecamp.org/learn/javascript-algorithms-and-data-structures/#intermediate-algorithm-scripting) +
+
+ **Projects**: [Palindrome Checker](https://www.freecodecamp.org/learn/javascript-algorithms-and-data-structures/javascript-algorithms-and-data-structures-projects/palindrome-checker),[ Roman Numeral Converter](https://www.freecodecamp.org/learn/javascript-algorithms-and-data-structures/javascript-algorithms-and-data-structures-projects/roman-numeral-converter), [Caesar's Cipher](https://www.freecodecamp.org/learn/javascript-algorithms-and-data-structures/javascript-algorithms-and-data-structures-projects/caesars-cipher), [Telephone Number Validator](https://www.freecodecamp.org/learn/javascript-algorithms-and-data-structures/javascript-algorithms-and-data-structures-projects/telephone-number-validator), [Cash Register](https://www.freecodecamp.org/learn/javascript-algorithms-and-data-structures/javascript-algorithms-and-data-structures-projects/cash-register) diff --git a/JavaScript-todo-list/script.js b/JavaScript-todo-list/script.js new file mode 100755 index 0000000..e08b357 --- /dev/null +++ b/JavaScript-todo-list/script.js @@ -0,0 +1,51 @@ +var myNodelist = document.getElementsByTagName("LI"); +var i; +for (i = 0; i < myNodelist.length; i++) { + var span = document.createElement("SPAN"); + var txt = document.createTextNode("\u00D7"); + span.className = "close"; + span.appendChild(txt); + myNodelist[i].appendChild(span); +} + +var close = document.getElementsByClassName("close"); +var i; +for (i = 0; i < close.length; i++) { + close[i].onclick = function() { + var div = this.parentElement; + div.style.display = "none"; + } +} + +var list = document.querySelector('ul'); +list.addEventListener('click', function(ev) { + if (ev.target.tagName === 'LI') { + ev.target.classList.toggle('checked'); + } +}, false); + +function newElement() { + var li = document.createElement("li"); + var inputValue = document.getElementById("myInput").value; + var t = document.createTextNode(inputValue); + li.appendChild(t); + if (inputValue === '') { + alert("You must write something!"); + } else { + document.getElementById("myUL").appendChild(li); + } + document.getElementById("myInput").value = ""; + + var span = document.createElement("SPAN"); + var txt = document.createTextNode("\u00D7"); + span.className = "close"; + span.appendChild(txt); + li.appendChild(span); + + for (i = 0; i < close.length; i++) { + close[i].onclick = function() { + var div = this.parentElement; + div.style.display = "none"; + } + } +} diff --git a/JavaScript-todo-list/style.css b/JavaScript-todo-list/style.css new file mode 100644 index 0000000..cc5c25e --- /dev/null +++ b/JavaScript-todo-list/style.css @@ -0,0 +1,101 @@ +* { + box-sizing: border-box; +} + +ul { + margin: 0; + padding: 0; +} + +ul li { + cursor: pointer; + position: relative; + padding: 12px 8px 12px 40px; + background: #eee; + font-size: 18px; + transition: 0.2s; + + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +ul li:nth-child(odd) { + background: #f9f9f9; +} + +ul li:hover { + background: #ddd; +} + +ul li.checked { + background: #888; + color: #fff; + text-decoration: line-through; +} + +ul li.checked::before { + content: ''; + position: absolute; + border-color: #fff; + border-style: solid; + border-width: 0 2px 2px 0; + top: 10px; + left: 16px; + transform: rotate(45deg); + height: 15px; + width: 7px; + } + + .close { + position: absolute; + right: 0; + top: 0; + padding: 12px 16px 12px 16px; + } + + .close:hover { + background-color: #f44336; + color: white; + } + + .header { + background-color: #ebae2a; + padding: 30px 40px; + color: white; + text-align: center; + } + + .header:after { + content: ""; + display: table; + clear: both; + } + + input { + margin: 0; + border: none; + border-radius: 0; + width: 75%; + padding: 10px; + float: left; + font-size: 16px; + } + + .addBtn { + padding: 9px; + width: 25%; + background: #d9d9d9; + color: #555; + float: left; + text-align: center; + font-size: 16px; + cursor: pointer; + transition: 0.3s; + border-radius: 0; + } + + .addBtn:hover { + background-color: green; + } \ No newline at end of file diff --git a/JavaScript-todo-list/todo.html b/JavaScript-todo-list/todo.html new file mode 100644 index 0000000..e03bbae --- /dev/null +++ b/JavaScript-todo-list/todo.html @@ -0,0 +1,24 @@ + + + + + To-do-list + + + +
+

My To Do List

+ + Add +
+ + + + \ No newline at end of file