Thanks to visit codestin.com
Credit goes to github.com

Skip to content
This repository was archived by the owner on May 14, 2024. It is now read-only.

Week3 Homework Amendments #38

Merged
merged 8 commits into from
Feb 25, 2018
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
90 changes: 48 additions & 42 deletions Week3/MAKEME.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,86 +36,92 @@ Provide feedback to the homework of last week to one of your fellow students. Yo
- [Loops (for/while)](../fundamentals/loops.md)
- [Functions](../fundamentals/functions.md)
- [Scope](../fundamentals/scope.md)

## Step 2: Watch

1. If you haven't done already, watch: [What is programming](https://www.khanacademy.org/computing/computer-programming/programming/intro-to-programming/v/programming-intro)
1. If you haven't done already, watch: [What is programming](https://www.khanacademy.org/computing/computer-programming/programming/intro-to-programming/v/programming-intro)
Just watch the 2 min video, you do not have to do the entire JavaScript course (It could be useful later on though).

2. Please watch the following parts of the course, [Programming Foundations Fundamentals](https://www.lynda.com/Programming-Foundations-tutorials/Welcome/83603/90426-4.html) on Lynda.com (if you don't have access to Lynda yet ask Gijs):
2. Please watch the following parts of the course, [Programming Foundations Fundamentals](https://www.lynda.com/Programming-Foundations-tutorials/Welcome/83603/90426-4.html) on Lynda.com (if you don't have access to Lynda yet ask Gijs):
<br>**4. Writing Conditional Code**
<br>**5. Modular Code**
<br>**6. Iteration: Writing Loops**
<br>**7. More About Strings**
<br>**8. Collections**
<br>**11. When Things Go Wrong**
<br>**11. When Things Go Wrong**

## Step 3: Rover the Robot
## Step 3: Rover the Robot

Go and try out this cool game: [roverjs.com](http://roverjs.com), written by one of our HYF teachers, Joost Lubach. There are different levels, see how far you can get!
Go and try out this cool game: [roverjs.com](http://roverjs.com), written by one of our HYF teachers, Joost Lubach. There are different levels, see how far you can get!

## Step 4: String and Array challenges

_Deadline Wednesday_
_Deadline Wednesday_

> For all the following exercises create a new .js file. Try to find a proper name for each file or make a small comment about what it does inside for future reference

*IMPORTANT NOTE*
In each assignment write at least two `console.log` statements to verify if your code works correctly. In other words proof that you code works as expected. If you need inspiration look at the steps defined in the assignments from last week.

1\. **Strings!**
1\.1 Let's consider the following string: `let myString = "hello,this,is,a,difficult,to,read,sentence"`
1\.2 Add the string to your file and console.log it.
1\.4 Console.log the length of `myString`.
1\.5 The commas make that the sentence is quite hard to read. Find a way to remove the comma's from the sting and replace them with a spaces
1\.6 Console.log `myString` to see if you succeeded.
1\. **Strings!**

Consider the following string:

```js
let myString = "hello,this,is,a,difficult,to,read,sentence";
```

1\.1 Add the string to your file and log it.
1\.2 Log the length of `myString`.
1\.3 The commas make that the sentence is quite hard to read. Find a way to remove the commas from the string and replace them with spaces.
1\.4 Log `myString` to see if you succeeded.

2\. **Arrays!**
2\. **Arrays!**

Consider the following array:

```js
let favoriteAnimals = ['blowfish', 'capricorn', 'giraffe'];
```

2\.1 Add a statement that adds Mauro's favorite animal ('turtle') to the existing array
2\.2 Log your new array!
2\.3 Now add Jim's favorite animal to the array, its a 'meerkat', but make sure it will be placed after 'blowfish' and before 'capricorn'.
2\.4 Write a console.log statement that explains in words _you think_ the new value of the array is.
2\.5 Log your new new array!
2\.6 Log the length of the array, add a message: "The array has a length of: "(here you should show the length of the array)
2\.7 Jason does not like giraffes, delete this animal from the array
2\.8 Again log your new array.
2\.9 Now if unlike Jim, you don't like meerkats and you want to delete it from the array, but you don't know the position or the `index` of the item in the array, how can you find it?
2\.10 Log the index of meerkat to the console. Add a message so it says: "The item you are looking for is at index: " (here you should show the index of the item)
2\.1 Add a statement that adds Mauro's favorite animal *'turtle'* to the existing array.
2\.2 Log your new array!
2\.3 Now add Jim's favorite animal to the array, it's *'meerkat'*, but make sure it will be placed after *'blowfish'* and before *'capricorn'*.
2\.4 Write a console.log statement that explains in words _you think_ the new value of the array is.
2\.5 Log your new array!
2\.6 Log the length of the array, add a message: *'The array has a length of: '* (here you should show the length of the array).
2\.7 Jason does not like *'giraffe'*, delete this animal from the array.
2\.8 Again log your new array.
2\.9 Now if unlike Jim, you don't like *'meerkat'* and you want to delete it from the array, but you don't know the position or the `index` of the item in the array, how can you find it?
2\.10 Log the index of *'meerkat'*. Add a message so it says: *'The item you are looking for is at index: '* (here you should show the index of the item).

## More JavaScript :tada:

1. Create a function that takes 3 arguments and returns the sum of the three arguments.
1. Create a function that takes 3 arguments and returns the sum of the these arguments.

2. Create a function named `colorCar` that receives a color, and prints out, "a red car" for example.
2. Create a function named `colorCar` that receives a color, and prints out, *'a red car'* for example.

3. Create an object and a function that takes the object as a parameter and prints out all of its names and values.
3. Create an object and a function that takes the object as a parameter and prints out all of its properties and values.

4. Create a function named `vehicleType` that receives a color, and a code, 1 for car, 2 for motorbike. And prints "a blue motorbike" for example when called as `vehicleType("blue", 2)`
4. Create a function named `vehicleType` that receives a color, and a code, 1 for car, 2 for motorbike. And prints *'a blue motorbike'* for example when called as `vehicleType("blue", 2)`

5. Can you write the following without the `if` statement, but with just as a single line with `console.log(...);`?

```js
if (3 === 3) {
console.log("true")
console.log("yes")
} else {
console.log("false")
console.log("no")
}
```

6. Create a function called `vehicle`, like before, but takes another parameter called age, so that `vehicle("blue", 1, 5)` prints "a blue used car"
6. Create a function called `vehicle`, like before, but takes another parameter called `age`, so that `vehicle("blue", 1, 5)` prints *'a blue used car'*

7. Make a list of vehicles, you can add `"motorbike"`, `"caravan"`, `"bike"`, or more.

8. How do you get the third element from that list?

9. Change the function `vehicle` to use the list of question 7. So that `vehicle("green", 3, 1)` prints "a green new caravan".
9. Change the function `vehicle` to use the list of question 7. So that `vehicle("green", 3, 1)` prints "a green new bike".

10. Use the list of vehicles to write an advertisement. So that it prints something like: `"Amazing Joe's Garage, we service cars, motorbikes, caravans and bikes."`. (Hint: use a `for` loop.)

Expand All @@ -130,24 +136,24 @@ let favoriteAnimals = ['blowfish', 'capricorn', 'giraffe'];
14. Add a property to the object you just created that contains the languages that they have taught you.

15. Write some code to test two arrays for equality using `==` and `===`. Test the following:

```js
let x = [1,2,3];
let y = [1,2,3];
let z = y;
```

What do you think will happen with `x == y`, `x === y` and `z == y` and `z == x`? Prove it!

> Don't cheat! Seriously - try it first.


Check out this [Fiddle](http://jsfiddle.net/jimschubert/85M4z/). You need to open your browser’s Developer Tools to see the console output. Press the Run button in the upper right corner to run the code.

More insights from this [Stack Overflow question](http://stackoverflow.com/questions/22395357/how-to-compare-two-arrays-are-equal-using-javascript).


16. Take a look at the following code:
16. Take a look at the following code:

```js
let o1 = { foo: 'bar' };
Expand All @@ -156,19 +162,19 @@ let favoriteAnimals = ['blowfish', 'capricorn', 'giraffe'];

```

Show that changing `o2` changes `o3` (or not) and changing `o1` changes `o3`(or not).
Show that changing `o2` changes `o3` (or not) and changing `o1` changes `o3`(or not).

Does the order that you assign (`o3 = o2` or `o2 = o3`) matter?

17. What does the following code return? (And why?)

```js
let bar = 42;
let bar = 42;
typeof typeof bar;
```

> ‘Coerce' means to try to change - so coercing `var x = '6'` to number means trying to change the type to number temporarily.

> ‘Coerce' means to try to change - so coercing `var x = '6'` to number means trying to change the type to number temporarily.

## Step 7: **Finish basic freeCodeCamp challenges:**

Expand All @@ -191,7 +197,7 @@ Go through the reading material in the [README.md](/Week2/README.md) to prepare

```
How to hand in your homework:
• Upload your homework in your "hyf-javascript1" Github repository. Make sure to create a new folder "week2" first.
• Upload your homework in your "hyf-javascript1" Github repository. Make sure to create a new folder "week2" first.
• Upload your homework files inside the week2 folder and write a description for this “commit”.
• Your hyf-javascript1/week2 should now contain all your homework files.
• Place the link to your repository folder in Trello.
Expand Down