diff --git a/README.md b/README.md
index dbf980860..b103d2a06 100644
--- a/README.md
+++ b/README.md
@@ -1,7 +1,7 @@
-> If you are following the HackYourFuture curriculum we recommend you to start with module 1: [HTML/CSS/GIT](https://github.com/HackYourFuture/HTML-CSS). To get a complete overview of the HackYourFuture curriculum first, click [here](https://github.com/HackYourFuture/curriculum).
+> If you are following the curriculum we recommend you to start with module 1: [HTML/CSS/GIT](https://github.com/SocialHackersCodeSchool/HTML-CSS). To get a complete overview, click [here](https://github.com/SocialHackersCodeSchool/curriculum).
> Please help us improve and share your feedback! If you find better tutorials
-> or links, please share them by [opening a pull request](https://github.com/HackYourFuture/JavaScript1/pulls).
+> or links, please share them by [opening a pull request](https://github.com/SocialHackersCodeSchool/JavaScript1/pulls).
# Module #2 - JavaScript 1: Programming Basics (Frontend)
@@ -71,8 +71,11 @@ If you have any questions or if something is not entirely clear ¯\\\_(ツ)\_/¯
Did you finish the module? Good job! You're doing great!
-If you feel ready for the next challenge, click [here](https://www.github.com/HackYourFuture/JavaScript2) to go to JavaScript2!
+If you feel ready for the next challenge, click [here](https://www.github.com/SocialHackersCodeSchool/JavaScript2) to go to JavaScript2!
+
+## Credit:
+This curriculum is developed by [HackYourFuture](https://github.com/HackYourFuture), modifications, and
+changes can be found in this Fork.
-_The HackYourFuture curriculum is subject to CC BY copyright. This means you can freely use our materials, but just make sure to give us credit for it :)_

This work is licensed under a Creative Commons Attribution 4.0 International License.
diff --git a/Week1/README.md b/Week1/README.md
index ecfaf004b..ea3ed54a9 100644
--- a/Week1/README.md
+++ b/Week1/README.md
@@ -56,7 +56,7 @@ There are various languages, each made to fulfill a certain need. For example, M
## 1. What is web development?
-In HackYourFuture we focus on `web` programmming (also known as `web development`): writing code that creates websites and web applications. Look at the following video to learn about what you'll be doing:
+In this course we focus on `web` programmming (also known as `web development`): writing code that creates websites and web applications. Look at the following video to learn about what you'll be doing:
- [What does a web developer do?](https://www.youtube.com/watch?v=GEfuOMzRgXo)
diff --git a/Week1/homework/js-exercises/LogAnArrayOfAnimals.js b/Week1/homework/js-exercises/LogAnArrayOfAnimals.js
new file mode 100644
index 000000000..f8931e08b
--- /dev/null
+++ b/Week1/homework/js-exercises/LogAnArrayOfAnimals.js
@@ -0,0 +1,9 @@
+/*
+ Declare a variable called mySentence and initialize it with the following string: "Programming is so interesting!".
+ Figure out (using Google) how to get the length of mySentence.
+ Write a console.log statement to log the length of mySentence.
+
+*/
+
+let mySentence = "Programming is so interesting!";
+console.log(mySentence.length);
diff --git a/Week1/homework/js-exercises/RoundNumberAndLogIt.js b/Week1/homework/js-exercises/RoundNumberAndLogIt.js
new file mode 100644
index 000000000..343c190ad
--- /dev/null
+++ b/Week1/homework/js-exercises/RoundNumberAndLogIt.js
@@ -0,0 +1,19 @@
+/*
+ Declare variable and assign to it an empty array. Make sure that the name of the variable indicates it contains more than 1 item. For example items instead of item.
+ Write a console.log statement that explains in words what you think the value of the array is.
+ Write a console.log statement that logs the array.
+ Create a new variable with an array that has 3 of your favorite animals, each in a different string. Make sure the name of the variables says something about what the variable contains.
+ Write a console.log statement that logs the second array.
+ Add a statement that adds another string ("Piglet)" to the array of animals.
+ Write a console.log statement that logs the second array!
+*/
+
+let myItems = [];
+console.log("The array myItems must have no value at all");
+console.log(myItems);
+
+let myFavoriteAnimals = ["tiger", "lion", "turtle"];
+console.log(myFavoriteAnimals);
+
+myFavoriteAnimals.push("Piglet");
+console.log(myFavoriteAnimals);
\ No newline at end of file
diff --git a/Week1/homework/js-exercises/compareArrays.js b/Week1/homework/js-exercises/compareArrays.js
new file mode 100644
index 000000000..47e6fae43
--- /dev/null
+++ b/Week1/homework/js-exercises/compareArrays.js
@@ -0,0 +1,11 @@
+
+const myFirstArray = [1, 2, 3, 4];
+const mySecondArray = [1, 2, 3, 4, 5, 6, 7];
+
+console.log("The length of myFirstArray is " + myFirstArray.length);
+console.log("The length of mySecondArray is " + mySecondArray.length);
+
+if(myFirstArray.length == mySecondArray.length)
+ console.log("They are the same!");
+else
+ console.log("Two different sizes");
\ No newline at end of file
diff --git a/Week1/homework/js-exercises/errorDebugging.js b/Week1/homework/js-exercises/errorDebugging.js
new file mode 100644
index 000000000..6d58af10b
--- /dev/null
+++ b/Week1/homework/js-exercises/errorDebugging.js
@@ -0,0 +1,6 @@
+let numberX;
+console.log("The value of variable numberX must be undefined by now");
+console.log(numberX);
+numberX = 10;
+console.log("The value of variable numberX must be 10 by now");
+console.log(numberX);
\ No newline at end of file
diff --git a/Week1/homework/js-exercises/logHello.js b/Week1/homework/js-exercises/logHello.js
new file mode 100644
index 000000000..e1dcb0da1
--- /dev/null
+++ b/Week1/homework/js-exercises/logHello.js
@@ -0,0 +1,10 @@
+console.log("Halo, dunia!");
+console.log("Hello, world!");
+console.log("Hallo, Welt!");
+console.log("Alo, monde!");
+console.log("Hola, mundo!");
+console.log("Ciao, mondo!");
+console.log("Γειά, κόσμο!");
+console.log("اهلا، دنية!");
+console.log("Привет, космо!");
+console.log("速度, 随风倒");
diff --git a/Week1/homework/js-exercises/logTheNumber.js b/Week1/homework/js-exercises/logTheNumber.js
new file mode 100644
index 000000000..51fc5e89a
--- /dev/null
+++ b/Week1/homework/js-exercises/logTheNumber.js
@@ -0,0 +1,6 @@
+let myString;
+console.log("The value of variable myString must be undefined by now");
+console.log(myString);
+numberX = "I'm a String";
+console.log("The value of variable myString must be \"I'm a String\" by now");
+console.log(myString);
\ No newline at end of file
diff --git a/Week1/homework/js-exercises/logTheRemainder.js b/Week1/homework/js-exercises/logTheRemainder.js
new file mode 100644
index 000000000..47e6fae43
--- /dev/null
+++ b/Week1/homework/js-exercises/logTheRemainder.js
@@ -0,0 +1,11 @@
+
+const myFirstArray = [1, 2, 3, 4];
+const mySecondArray = [1, 2, 3, 4, 5, 6, 7];
+
+console.log("The length of myFirstArray is " + myFirstArray.length);
+console.log("The length of mySecondArray is " + mySecondArray.length);
+
+if(myFirstArray.length == mySecondArray.length)
+ console.log("They are the same!");
+else
+ console.log("Two different sizes");
\ No newline at end of file
diff --git a/Week1/homework/js-exercises/logTheString.js b/Week1/homework/js-exercises/logTheString.js
new file mode 100644
index 000000000..081d28fe6
--- /dev/null
+++ b/Week1/homework/js-exercises/logTheString.js
@@ -0,0 +1,12 @@
+let z = 7.25;
+console.log(z);
+let a = Math.round(z);
+console.log(a);
+
+let biggestNumber;
+if(a < z)
+ biggestNumber = z;
+else
+ biggestNumber = a;
+
+console.log(biggestNumber);
\ No newline at end of file
diff --git a/Week1/homework/js-exercises/stringLength.js b/Week1/homework/js-exercises/stringLength.js
new file mode 100644
index 000000000..0a682f502
--- /dev/null
+++ b/Week1/homework/js-exercises/stringLength.js
@@ -0,0 +1,57 @@
+/*
+Write a program that checks the data types of two variables and logs to the console SAME TYPE if they are the
+same type. If they are different types log Not the same....
+
+ Declare 4 variables: 2 must be strings and 2 must be objects
+ Create 6 conditional statements, where for each you check if the data type of one variable is the same as
+ the other
+ Find out how to check the type of a variable
+ Write 2 console.log statements to log the type of 2 variables, each with a different data type
+ Now compare the types of your different variables with one another
+ Log Not the same... when the types are different
+*/
+
+let cadena1 = "¡Adiós ";
+let cadena2 = "Mundo Cruel!";
+let numero1 = 5;
+let booleano1 = true;
+
+console.log(typeof cadena1);
+console.log(typeof booleano1);
+
+console.log("Comparing cadena1 and cadena2:");
+if(typeof cadena1 == typeof cadena2)
+ console.log("SAME TYPE!");
+else
+ console.log("Not the same...");
+
+console.log("Comparing cadena1 and numero1:");
+if(typeof cadena1 == typeof numero1)
+ console.log("SAME TYPE!");
+else
+ console.log("Not the same...");
+
+console.log("Comparing cadena1 and booleano1:");
+if(typeof cadena1 == typeof booleano1)
+ console.log("SAME TYPE!");
+else
+ console.log("Not the same...");
+
+console.log("Comparing cadena2 and numero1:");
+if(typeof cadena2 == typeof numero1)
+ console.log("SAME TYPE!");
+else
+ console.log("Not the same...");
+
+console.log("Comparing cadena2 and booleano1:");
+if(typeof cadena2 == typeof booleano1)
+ console.log("SAME TYPE!");
+else
+ console.log("Not the same...");
+
+console.log("Comparing numero1 and booleano1:");
+if(typeof numero1 == typeof booleano1)
+ console.log("SAME TYPE!");
+else
+ console.log("Not the same...");
+
\ No newline at end of file
diff --git a/Week1/homework/js-exercises/typeChecker.js b/Week1/homework/js-exercises/typeChecker.js
new file mode 100644
index 000000000..434ebad68
--- /dev/null
+++ b/Week1/homework/js-exercises/typeChecker.js
@@ -0,0 +1,15 @@
+
+/* If x equals 7, and the only other statement is x = x % 3, what would be the value of x after the
+calculation? */
+console.log("2 times 3 is equal to 6, and the remainder to reach 7 is 1, so x = 1:");
+console.log(7 % 3);
+
+/* If y equals 21, and the only other statement is y = y % 4, what would be the value of y after the
+calculation? */
+console.log("5 times 4 is equal to 20, and the remainder to reach 21 is 1, so y = 1:");
+console.log(21 % 4);
+
+/* If z equals 13, and the only other statement is z = z % 2, what would be the value of z after the
+calculation? */
+console.log("6 times 2 is equal to 12, and the remainder to reach 13 is 1, so z = 1:");
+console.log(13 % 2);
\ No newline at end of file
diff --git a/Week2/homework/jsexercises/GradeCalculator.js b/Week2/homework/jsexercises/GradeCalculator.js
new file mode 100644
index 000000000..cd7bf6608
--- /dev/null
+++ b/Week2/homework/jsexercises/GradeCalculator.js
@@ -0,0 +1,27 @@
+/*
+ Write a function named giveCompliment
+
+ It takes 1 argument: your name
+ Inside the function create an array with 10 strings. Each string should be a compliment, like "great",
+ "awesome"
+ Write logic that randomly selects a compliment
+ Return a string: "You are [COMPLIMENT], [YOUR_NAME]!
+
+ Call the function three times, giving each function call the same argument: your name.
+*/
+
+function giveCompliment(name){
+ const COMPLIMENTS = [
+ "great", "awesome", "super", "extraordinary", "amazing", "wow", "incredible", "genius",
+ "fab", "brilliant"
+ ]
+ let randomNumber = Math.floor((Math.random() * 10));
+ return "You are " + COMPLIMENTS[randomNumber] + " " + name;
+}
+
+function main(){
+ for(let i = 0; i < 3; i++)
+ console.log(giveCompliment("Sal"));
+}
+
+main();
diff --git a/Week2/homework/jsexercises/oddEvenReporter.js b/Week2/homework/jsexercises/oddEvenReporter.js
new file mode 100644
index 000000000..c7e6747a5
--- /dev/null
+++ b/Week2/homework/jsexercises/oddEvenReporter.js
@@ -0,0 +1,31 @@
+/* Declare a variable that holds an object (your meal recipe).
+ Give the object 3 properties: a title (string), a servings (number) and an ingredients (array of strings) property.
+ Log each property out seperately, using a loop (for, while or do/while)
+
+It should look similar to this:
+
+Meal name: Omelete
+Serves: 2
+Ingredients:
+4 eggs
+2 strips of bacon
+1 tsp salt/pepper
+*/
+
+let mealRecipe = {
+ title: "Enchiladas",
+ Serves: 4,
+ Ingredients: ["4 chilis", "cheese", "300 gr. chicken", "10 tortillas"]
+}
+
+for(let data in mealRecipe){
+ if(mealRecipe.hasOwnProperty(data)) {
+ if(Array.isArray(mealRecipe[data]) === true){
+ console.log(data + ":");
+ for(let i = 0; i < mealRecipe[data].length; i++)
+ console.log(mealRecipe[data][i]);
+ }
+ else
+ console.log(data + ": " + mealRecipe[data]);
+ }
+}
\ No newline at end of file
diff --git a/Week2/homework/jsexercises/readingList.js b/Week2/homework/jsexercises/readingList.js
new file mode 100644
index 000000000..ffebb4142
--- /dev/null
+++ b/Week2/homework/jsexercises/readingList.js
@@ -0,0 +1,29 @@
+/*
+ Create a loop that runs 5 times. On each iteration, push a drink into the drinkTray variable. The drinkTray can only hold at most two instances of the same drink type, for example it can only hold 2 colas, 2 lemonades, 2 waters.
+ If there are already two instances of a drinkType then start with the next drink in the array.
+ Your drinkTray should contain 2 cola, 2 lemonade and 1 water.
+ Log to the console: "Hey guys, I brought a [INSERT VALUES FROM ARRAY]!" (For example: "Hey guys, I
+ brought a cola, cola, lemonade, lemonade, water!")
+
+*/
+
+let drinkTray = [];
+let drinkTrayCounter = [0, 0, 0];
+const drinkTypes = ["cola", "lemonade", "water"];
+
+for(let i = 0; i < 5; i++){
+
+ if(drinkTrayCounter[0] < 2){
+ drinkTray.push(drinkTypes[0]);
+ drinkTrayCounter[0] += 1;
+ }
+ else if(drinkTrayCounter[1] < 2){
+ drinkTray.push(drinkTypes[1]);
+ drinkTrayCounter[1] += 1;
+ } else {
+ drinkTray.push(drinkTypes[2]);
+ drinkTrayCounter[2] += 1;
+ }
+}
+
+console.log("Hey guys, I brought a " + drinkTray.join(", ") + "!");
\ No newline at end of file
diff --git a/Week2/homework/jsexercises/recipeCard.js b/Week2/homework/jsexercises/recipeCard.js
new file mode 100644
index 000000000..0a27acaf8
--- /dev/null
+++ b/Week2/homework/jsexercises/recipeCard.js
@@ -0,0 +1,23 @@
+/*
+ Declare a variable that holds an array of 3 objects, where each object describes a book and has
+ properties for the title (string), author (string), and alreadyRead (boolean indicating if you read it yet).
+ Loop through the array of books.
+ For each book, log the book title and book author like so: "The Hobbit by J.R.R. Tolkien".
+ Create a conditional statement to change the log depending on whether you read it yet or not. If you
+ read it, log a string like You already read "The Hobbit" right after the log of the book details
+ If you haven't read it log a string like You still need to read "The Lord of the Rings"
+*/
+
+let books = [
+ {title: "Lord of the Rings", author: "J.R.R. Tolkine", alreadyRead: true},
+ {title: "The Lord of the Flies", author: "William Golding", alreadyRead: false},
+ {title: "Pedro Páramo", author: "Juan Rulfo", alreadyRead: true}
+]
+
+for(let i = 0; i < books.length; i++){
+ console.log(books[i].title + " by " + books[i].author);
+ if(books[i].alreadyRead === true)
+ console.log("You already read " + books[i].title);
+ else
+ console.log("You still need to read " + books[i].title);
+}
\ No newline at end of file
diff --git a/Week2/homework/jsexercises/removeCommas.js b/Week2/homework/jsexercises/removeCommas.js
new file mode 100644
index 000000000..e940c373f
--- /dev/null
+++ b/Week2/homework/jsexercises/removeCommas.js
@@ -0,0 +1,14 @@
+/*
+ Create a for loop, that iterates from 0 to 20.
+ Create a conditional statement that checks if the value of the counter variable is odd or even.
+ If it's odd, log to the console The number [PUT_NUMBER_HERE] is odd!.
+ If it's even, log to the console The number [PUT_NUMBER_HERE] is even!.
+
+*/
+
+for(let i = 0; i < 21; i++) {
+ if(i % 2 === 0)
+ console.log("The number " + i + " is even!");
+ else
+ console.log("The number " + i + " is odd!");
+}
\ No newline at end of file
diff --git a/Week2/homework/jsexercises/whoWantsADrink.js b/Week2/homework/jsexercises/whoWantsADrink.js
new file mode 100644
index 000000000..ffebb4142
--- /dev/null
+++ b/Week2/homework/jsexercises/whoWantsADrink.js
@@ -0,0 +1,29 @@
+/*
+ Create a loop that runs 5 times. On each iteration, push a drink into the drinkTray variable. The drinkTray can only hold at most two instances of the same drink type, for example it can only hold 2 colas, 2 lemonades, 2 waters.
+ If there are already two instances of a drinkType then start with the next drink in the array.
+ Your drinkTray should contain 2 cola, 2 lemonade and 1 water.
+ Log to the console: "Hey guys, I brought a [INSERT VALUES FROM ARRAY]!" (For example: "Hey guys, I
+ brought a cola, cola, lemonade, lemonade, water!")
+
+*/
+
+let drinkTray = [];
+let drinkTrayCounter = [0, 0, 0];
+const drinkTypes = ["cola", "lemonade", "water"];
+
+for(let i = 0; i < 5; i++){
+
+ if(drinkTrayCounter[0] < 2){
+ drinkTray.push(drinkTypes[0]);
+ drinkTrayCounter[0] += 1;
+ }
+ else if(drinkTrayCounter[1] < 2){
+ drinkTray.push(drinkTypes[1]);
+ drinkTrayCounter[1] += 1;
+ } else {
+ drinkTray.push(drinkTypes[2]);
+ drinkTrayCounter[2] += 1;
+ }
+}
+
+console.log("Hey guys, I brought a " + drinkTray.join(", ") + "!");
\ No newline at end of file
diff --git a/Week3/homework/data.txt b/Week3/homework/data.txt
new file mode 100644
index 000000000..8b1378917
--- /dev/null
+++ b/Week3/homework/data.txt
@@ -0,0 +1 @@
+
diff --git a/Week3/homework/js-exercises/DogYears.js b/Week3/homework/js-exercises/DogYears.js
new file mode 100644
index 000000000..f53243565
--- /dev/null
+++ b/Week3/homework/js-exercises/DogYears.js
@@ -0,0 +1,31 @@
+/*
+ Write a function named tellFortune.
+
+ It takes 4 arguments: number of children (number), partner's name (string), geographic location (string),
+ job title (string).
+ Randomly select values from the arrays.
+ Return a string: "You will be a [JOB_TITLE] in [LOCATION], and married to [PARTNER_NAME] with [NUMBER_KIDS] kids."
+
+ Create 4 arrays, numChildren, partnerNames, locations and jobs. Give each array 5 random values that make sense
+ Call the function 1 time, by passing the arrays as the argument.
+*/
+const CHILDREN = [10, 2, 3, 4];
+const PARTNERNAMES = ["Erica", "Daniela", "Karla", "Susana"];
+const LOCATION = ["New York", "Paris", "London", "Spili"];
+const JOB = ["engineer", "lawyer", "diplomat", "porn actor"];
+
+function tellFortune(children, partnerName, location, job){
+ let cadena = "You will be a " + job + " in " + location + ", and married to " + partnerName + " with " +
+ children + " kids.";
+ return cadena;
+}
+
+function main(){
+ let randomNumbers = [];
+ for(let i = 0; i < 4; i++)
+ randomNumbers[i] = Math.floor(Math.random() * 4);
+ console.log(tellFortune(CHILDREN[randomNumbers[0]], PARTNERNAMES[randomNumbers[1]], LOCATION[randomNumbers[2]],
+ JOB[randomNumbers[3]]));
+}
+
+main();
diff --git a/Week3/homework/js-exercises/FortuneTeller.js b/Week3/homework/js-exercises/FortuneTeller.js
new file mode 100644
index 000000000..38ea64984
--- /dev/null
+++ b/Week3/homework/js-exercises/FortuneTeller.js
@@ -0,0 +1,26 @@
+/*
+ Write a function named addToShoppingCart.
+
+ It takes in 1 argument: a grocery item (string)
+ Add grocery item to array. If the amount of items is more than 3 remove the first one in the array
+ Return a string: "You bought [LIST_OF_GROCERY_ITEMS]!"
+
+ Create an array with 2 predefined strings: "bananas" and "milk"
+ Call the function 3 times, each time with a different string as the argument.
+*/
+let groceryList = ["bananas", "Milk"];
+
+function addToShoppingCart(groceryItem){
+ groceryList.push(groceryItem);
+ if(groceryList.length > 3)
+ groceryList.shift();
+ return "You bought " + groceryList.join(", ") + ".";
+}
+
+function main(){
+ console.log(addToShoppingCart("wine"));
+ console.log(addToShoppingCart("cookies"));
+ console.log(addToShoppingCart("oranges"));
+}
+
+main();
\ No newline at end of file
diff --git a/Week3/homework/js-exercises/PROJECT/CreditCard.html b/Week3/homework/js-exercises/PROJECT/CreditCard.html
new file mode 100644
index 000000000..9eed845a3
--- /dev/null
+++ b/Week3/homework/js-exercises/PROJECT/CreditCard.html
@@ -0,0 +1,26 @@
+
+
+
+  
+