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

Skip to content

Commit cb27f4c

Browse files
authored
Merge pull request HackYourFuture#5 from remarcmij/master
Adds VSCode workspace settings + Eloquent JavaScript
2 parents 35eb436 + 7e3229b commit cb27f4c

File tree

7 files changed

+85
-83
lines changed

7 files changed

+85
-83
lines changed

.vscode/settings.json

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,18 @@
11
{
2+
"editor.formatOnSave": true,
3+
"editor.formatOnType": true,
4+
"editor.formatOnPaste": true,
5+
"editor.detectIndentation": false,
6+
"editor.tabSize": 2,
27
"cSpell.words": [
3-
"Codewars",
8+
"Debouncing",
49
"Maartje",
5-
"Maartje's",
610
"blabla",
7-
"roverjs"
11+
"codewars",
12+
"keyup",
13+
"maartje's",
14+
"roverjs",
15+
"taalmap",
16+
"trollface"
817
]
918
}

Week1/MAKEME.md

Lines changed: 16 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -2,85 +2,52 @@
22

33
```
44
Topics discussed in class this week:
5-
• Capturing user input
6-
• Basic DOM manipulations [img src, innerHTML]
7-
• Code debugging using the browser
5+
• Capturing user input
6+
• Events
7+
• Basic DOM manipulations (img src, innerHTML)
8+
• Code debugging using the browser
89
• Code commenting
910
• Structuring code files
10-
Scope
11-
State
11+
Code formatting
12+
Handing in homework via PR
1213
```
1314

1415
>[Here](/Week2/README.md) you find the readings you have to complete before the second lecture.
1516
1617
## Step 0: Make a small dance
1718
Give yourself (or your neighbor) a little tap on the shoulder, you've made it to JS2! :muscle:
1819

19-
## Step 0: review
20-
21-
Week 2
22-
23-
- [Variables (var, let, const)](./../../../../fundamentals/blob/master/fundamentals/variables.md)
24-
- [Basic Data types (Strings, Numbers, Arrays, Booleans)](./../../../../fundamentals/blob/master/fundamentals/values.md)
25-
- [Operators](./../../../../fundamentals/blob/master/fundamentals/operators.md)
26-
- [Naming conventions](./../../../../fundamentals/blob/master/fundamentals/naming_conventions.md)
27-
28-
Week 3
29-
30-
- [Advanced data types (objects)](./../../../../fundamentals/blob/master/fundamentals/objects.md)
31-
- [Conditional execution](./../../../../fundamentals/blob/master/fundamentals/conditional_execution.md) <br>
32-
- [Statements vs Expressions](./../../../../fundamentals/blob/master/fundamentals/statements_expressions.md)<br>
33-
- [Loops (for/while)](./../../../../fundamentals/blob/master/fundamentals/loops.md)
34-
- [Functions](./../../../../fundamentals/blob/master/fundamentals/functions.md)
35-
- [Scope](./../../../../fundamentals/blob/master/fundamentals/scope.md)
36-
37-
Week 4
38-
39-
- Capturing user input
40-
- Events
41-
- [Basic DOM manipulations (img src, innerHTML)](./../../../../fundamentals/blob/master/fundamentals/DOM_manipulation.md)
42-
- Code debugging using the browser
43-
- [Code commenting](./../../../../fundamentals/blob/master/fundamentals/code_commenting.md)
44-
- Structuring code files
45-
- [Code formatting](./../../../../fundamentals/blob/master/fundamentals/code_formatting.md)
46-
4720

4821
## Step 1: Implement feedback
4922

5023
_Deadline Monday_
5124

52-
Your fellow students have provided you with feedback in Trello.
25+
Your fellow students and teachers have provided you with feedback on your last JavaScript1 homework in Trello.
5326

5427
- Implement both feedback from Trello and Github.
5528
- Check on one of your fellow students code and issues and see if her or she implemented their feedback correctly. If there are some things that can be improved make an issue suggesting further improvements. If you think that the feedback has been implemented correctly create a issue saying something like: "nice work you can clear your issues".
5629

57-
## Step 2: Reorganize your GitHub
58-
59-
_Deadline Monday_
60-
61-
Your Github should contain a repository called `hyf-javascript1`. Inside this JavaScript repository you should have three folders, called week1, week2, and week3 (or something similar). Inside these folders you should have the different assignments (a file per exercises). Try and find proper names for the exercises that reflect somehow what is going on in the code. Avoid using spaces in your file names, this makes it harder to "run" you files. Also make sure that all your JavaScript files have a `.js` extension.
62-
63-
## Step 3: Custom DOM manipulation challenge :mortar_board:
30+
## Step 2: Custom DOM manipulation challenge :mortar_board:
6431

6532
_Deadline Saturday_
6633

6734
> **Preparation**: Fork this repository and use the [Homework Pull Request Workflow](../../../../fundamentals/blob/master/fundamentals/homework_pr.md) to hand in your homework.
6835
6936
Modify the (mostly empty) files in the `Week1/homework` folder for this step.
7037

71-
**3.1** Open the `apps.js` and start by declaring an array that contains 10 strings. These strings should be of book titles you have read (or made up) and be lowercase without spaces so that you can use these later as HTML `id` attributes. (Example: _Harry Potter's - The Chamber of Secrets_ -> `harry_potter_chamber_secrets`). Add a console.log statement to output this array to console. (This is for debugging and making sure everything is in order. Delete it later when you're done :))
38+
**2.1** Open the `apps.js` and start by declaring an array that contains 10 strings. These strings should be of book titles you have read (or made up) and be lowercase without spaces so that you can use these later as HTML `id` attributes. (Example: _Harry Potter's - The Chamber of Secrets_ -> `harry_potter_chamber_secrets`). Add a console.log statement to output this array to console. (This is for debugging and making sure everything is in order. Delete it later when you're done :))
7239

73-
**3.2** Open the empty `index.html` and add the required HTML to load the `app.js` file. Open `index.html` in the browser and confirm that the `console.log` statement shows the array. (Open the Chrome Developer Tools and inspect the console.)
40+
**2.2** Open the empty `index.html` and add the required HTML to load the `app.js` file. Open `index.html` in the browser and confirm that the `console.log` statement shows the array. (Open the Chrome Developer Tools and inspect the console.)
7441

75-
**3.3** Remove the temporary `console.log` from step 3.1. Make a function (or functions) that generate a `ul` with `li` elements for each book ID in the array using a `for` loop. Make sure that the function names you choose are an accurate reflection of what they do. As a reminder, here are the recommended [Naming Conventions](https://github.com/HackYourFuture/fundamentals/blob/master/fundamentals/naming_conventions.md).
42+
**2.3** Remove the temporary `console.log` from step 2.1. Make a function (or functions) that generate a `ul` with `li` elements for each book ID in the array using a `for` loop. Make sure that the function names you choose are an accurate reflection of what they do. As a reminder, here are the recommended [Naming Conventions](https://github.com/HackYourFuture/fundamentals/blob/master/fundamentals/naming_conventions.md).
7643

77-
**3.4** Make an object (_not an array!_) containing information for each book. Each property of this object should be another (i.e., nested) object with the book ID you thought up in step 3.1 as a key, and at least the following properties: `title`, `language` and `author`.
44+
**2.4** Make an object (_not an array!_) containing information for each book. Each property of this object should be another (i.e., nested) object with the book ID you thought up in step 2.1 as a key, and at least the following properties: `title`, `language` and `author`.
7845

79-
**3.5** Now change the function from step 3.3 that you used to display the book ID's in a list to take the actual information about the book from the object and display that. Make sure you choose the correct HTML elements for each piece of info, for instance, a heading for the title.
46+
**2.5** Now change the function from step 2.3 that you used to display the book ID's in a list to take the actual information about the book from the object and display that. Make sure you choose the correct HTML elements for each piece of info, for instance, a heading for the title.
8047

81-
**3.6** Beautify your html page with css (use the `style.css` file for that), add sources and alts to each of the images.
48+
**2.6** Beautify your html page with css (use the `style.css` file for that), add sources and alts to each of the images.
8249

83-
**3.7** Find and download book covers for each book and construct a new object which has as keys the book IDs again, and as value the path to the image source (e.g. `{ harry_potter_blabla: './img/harry_potter_blabla.jpg', ... }`).
50+
**2.7** Find and download book covers for each book and construct a new object which has as keys the book IDs again, and as value the path to the image source (e.g. `{ harry_potter_blabla: './img/harry_potter_blabla.jpg', ... }`).
8451

8552
Loop over these entries (_hint: `Object.keys(objectName)` gives you an array containing the keys_). Then write a function which places an image at the corresponding `li` element. Remember that objects are not ordered, so you cannot guarantee that the first key is the first `li` element. (_Hint: you could give each `li` item an `id` tag by modifying the function you made before._)
8653

@@ -94,6 +61,7 @@ Go over your homework one last time:
9461
- Have you used `const` and `let` and avoided `var`?
9562
- Do the variable, function and argument names you created follow the [Naming Conventions](../../../../fundamentals/blob/master/fundamentals/naming_conventions.md)?
9663
- Is your code well-formatted (see [Code Formatting](../../../../fundamentals/blob/master/fundamentals/naming_conventions.md))?
64+
- Have you resolved all issues flagged by ESLint and the spell checker (no wavy red and green underlines in VSCode)?
9765

9866
If the answer is 'yes' to all preceding questions you are ready to follow these instructions:
9967

Week1/README.md

Lines changed: 36 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@ In week one we will discuss the following topics:
88
• Events
99
• Code commenting
1010
• Structuring code files
11+
• Code formatting
12+
• Handing in homework via PR
1113
```
1214

1315
- Chrome DevTools [Debugging](https://developers.google.com/web/tools/chrome-devtools/)
@@ -20,16 +22,16 @@ Links to MDN (Mozilla Developer Network) topics:
2022

2123
## Review
2224

23-
Go through the topics of week 2-4.
25+
Review through the topics of JavaScript1:
2426

25-
### Week 2
27+
### JavaScript1 - Week 2
2628

2729
- [Variables (var, let, const)](./../../../../fundamentals/blob/master/fundamentals/variables.md)
2830
- [Basic Data types (Strings, Numbers, Arrays, Booleans)](./../../../../fundamentals/blob/master/fundamentals/values.md)
2931
- [Operators](./../../../../fundamentals/blob/master/fundamentals/operators.md)
3032
- [Naming conventions](./../../../../fundamentals/blob/master/fundamentals/naming_conventions.md)
3133

32-
### Week 3
34+
### JavaScript1 - Week 3
3335

3436
- [Advanced data types (objects)](./../../../../fundamentals/blob/master/fundamentals/objects.md)
3537
- [Conditional execution](./../../../../fundamentals/blob/master/fundamentals/conditional_execution.md) <br>
@@ -38,15 +40,41 @@ Go through the topics of week 2-4.
3840
- [Functions](./../../../../fundamentals/blob/master/fundamentals/functions.md)
3941
- [Scope](./../../../../fundamentals/blob/master/fundamentals/scope.md)
4042

41-
### Week 4
43+
### Required readings
4244

43-
- Capturing user input
44-
- Events
45+
(No reading material available at this time for the crossed-out topics)
46+
47+
- ~~Capturing user input~~
48+
- ~~Events~~
4549
- [Basic DOM manipulations (img src, innerHTML)](./../../../../fundamentals/blob/master/fundamentals/DOM_manipulation.md)
46-
- Code debugging using the browser
50+
- ~~Code debugging using the browser~~
4751
- [Code commenting](./../../../../fundamentals/blob/master/fundamentals/code_commenting.md)
48-
- Structuring code files
52+
- ~~Structuring code~~
4953
- [Code formatting](./../../../../fundamentals/blob/master/fundamentals/code_formatting.md)
54+
- [Handing in homework via PR](../../..//fundamentals/blob/master/fundamentals/homework_pr.md)
55+
56+
### Recommended readings
57+
58+
These chapters from _Eloquent JavaScript_ give in-depth explanations of the topics that will be discussed during the lecture. Highly recommended (if time permits).
59+
60+
- Chapter 13: [JavaScript and the Browser](http://eloquentjavascript.net/13_browser.html)
61+
62+
- Chapter 14: [The Document Object Model](http://eloquentjavascript.net/14_dom.html)
63+
64+
_You can skip the following sections:_
65+
66+
- Moving through the tree
67+
68+
- Chapter 15: [Handling Events](http://eloquentjavascript.net/15_event.html)
69+
70+
Notes: for the lectures and homework you only need to know about these events: `click`, `change`, `keyup` and `load`.
71+
72+
_You can skip the following sections (but come to these sections when doing the React module):_
5073

74+
- Touch events
75+
- Scroll events
76+
- Focus events
77+
- Events and the Event Loop
78+
- Debouncing
5179

5280
_Please go through the material and come to class prepared!_

Week2/MAKEME.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,7 @@ Follow these steps. Each step should build on the result of the previous step.
106106

107107
## Step 3: ROVER
108108

109-
Finish up to chapter 7: JSON on [roverjs.com](http://roverjs.com/)!
109+
Finish up to chapter 7: JSON on [roverjs.com](http://roverjs.com/)! (Alternative site: [roverjs.taalmap.nl](http://roverjs.taalmap.nl/))
110110

111111
## Step 4: **Some freeCodeCamp challenges:**
112112

@@ -135,6 +135,8 @@ Go over your homework one last time:
135135
- Have you used `const` and `let` and avoided `var`?
136136
- Do the variable, function and argument names you created follow the [Naming Conventions](../../../../fundamentals/blob/master/fundamentals/naming_conventions.md)?
137137
- Is your code well-formatted (see [Code Formatting](../../../../fundamentals/blob/master/fundamentals/naming_conventions.md))?
138+
- Have you resolved all issues flagged by ESLint and the spell checker (no wavy red and green underlines in VSCode)?
139+
138140

139141
If the answer is 'yes' to all preceding questions you are ready to follow these instructions:
140142

Week2/README.md

Lines changed: 12 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -11,38 +11,30 @@ In week two we will discuss the following topics:
1111
• Arrow functions
1212
```
1313

14-
### Here are resources that we like you to read as a preparation for the coming lecture.
14+
## Here are resources that we like you to read as a preparation for the coming lecture.
1515

16-
#### JSON
16+
### JSON
1717
- [JSON](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON) (MDN)
1818

19-
#### Map and Filter
19+
### Map and Filter
2020
- :dizzy: [Fun fun functional](https://www.youtube.com/playlist?list=PL0zVEGEvSaeEd9hlmCXrk5yUyqUag-n84) :dizzy: Check the first 3-4 videos.
2121

22-
#### Code conventions
23-
- Code conventions: http://javascript.crockford.com/code.html
22+
### Code conventions
23+
- Code conventions: http://crockford.com/javascript/code.html
2424

25-
#### Array cardio
25+
### Array cardio
2626
- Wes Bos' awesome free tutorials. Just make a free account and do Array Cardio #1 [here](https://javascript30.com/)
2727

28-
#### More objects
29-
- Objects continued: http://eloquentjavascript.net/06_object.html
30-
28+
### From _Eloquent JavaScript_
3129

32-
### Refresher:
33-
Read your book ('A Smarter Way To Learn JavaScript')! If you don't do it on yourself, here's the chapters to read next for next week:
34-
*Note: If you already know the material you are reading just take a glance over it and don't use too much time. Just be sure that you get everything! You may have already read about it, or used it in the previous classes. Note that this also has 'catch up' material in it, about functions and objects. If you did not take the time to read your book yet about these things please do so!*
30+
- Objects continued: http://eloquentjavascript.net/06_object.html
3531

36-
* DOM (*may have known material, know how to select/search/append elements etc.!*):</br>
37-
Chapters 58 - 68
3832

39-
* Reading/setting input fields:</br>
40-
Chapters 49 - 50
33+
## Recommended readings
4134

42-
* Functions (*if you think you need a bit more understanding of them read this*):</br>
43-
Chapters 35 - 38
35+
This chapter from _Eloquent JavaScript_ gives in-depth explanations of the topics that will be discussed during the lecture. Highly recommended (if time permits).
4436

45-
* Objects (*important to really understand them, read this if you are unsure! You may also read chapters 72, 73 and 74 if you have time and want to learn more*):</br>
46-
Chapters 70-71, 75
37+
- Chapter 3 - [Functions](http://eloquentjavascript.net/03_functions.html)
38+
- Chapter 5 - [Higher-Order Functions](http://eloquentjavascript.net/05_higher_order.html)
4739

4840
_Please go through the material and come to class prepared!_

Week3/MAKEME.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -175,6 +175,7 @@ Go over your homework one last time:
175175
- Have you used `const` and `let` and avoided `var`?
176176
- Do the variable, function and argument names you created follow the [Naming Conventions](../../../../fundamentals/blob/master/fundamentals/naming_conventions.md)?
177177
- Is your code well-formatted (see [Code Formatting](../../../../fundamentals/blob/master/fundamentals/naming_conventions.md))?
178+
- Have you resolved all issues flagged by ESLint and the spell checker (no wavy red and green underlines in VSCode)?
178179

179180
If the answer is 'yes' to all preceding questions you are ready to follow these instructions:
180181

Week3/README.md

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,15 @@ In week three we will discuss the following topics:
77
• Callbacks
88
```
99

10-
### Here are resources that we like you to read as a preparation for the coming lecture:
10+
## Here are resources that we like you to read as a preparation for the coming lecture:
11+
12+
### Closures
1113

12-
#### Closures
1314
- [Closures](http://javascriptissexy.com/understand-javascript-closures-with-ease/)
1415
- [MDN Closures](https://developer.mozilla.org/en/docs/Web/JavaScript/Closures)
1516

16-
#### Design patterns
17+
### Design patterns
18+
1719
- [Learning JavaScript Design Patterns](https://addyosmani.com/resources/essentialjsdesignpatterns/book/#detailnamespacing) up to and including chapter 3
1820

1921
_Please go through the material and come to class prepared!_

0 commit comments

Comments
 (0)