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

Skip to content

Commit 37cd404

Browse files
committed
Merge branch 'main' of github.com:HackYourFuture/JavaScript into main
2 parents 39eb369 + 1379cf9 commit 37cd404

File tree

11 files changed

+66
-11
lines changed

11 files changed

+66
-11
lines changed

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
> 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).
22
33
> Please help us improve and share your feedback! If you find better tutorials
4-
> or links, please share them by [opening a pull request](https://github.com/HackYourFuture/JavaScript1/pulls).
4+
> or links, please share them by [opening a pull request](https://github.com/HackYourFuture/JavaScript/pulls).
55
66
# Module #2 - JavaScript
77

@@ -89,7 +89,7 @@ To have a more detailed overview of the guidelines, please read [this document](
8989
| Week | Topic | Reading Materials | Homework |
9090
| ---- | ---------------------------------------------------------- | --------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- |
9191
| 1. | Variables, Variable Types, Operators, Objects, Arrays | [Reading W1](/Week1/README.md) | [Homework W1](/Week1/MAKEME.md) |
92-
| 2. | Loops, Control Flow, If/Else, Incremental coding | [Reading W2](/Week2/README.md) | [Homework W2](/Week2/MAKEME.md) |
92+
| 2. | Loops, Control Flow, If/Else, | [Reading W2](/Week2/README.md) | [Homework W2](/Week2/MAKEME.md) |
9393
| 3. | Functions, Scope, DRY principle | [Reading W3](/Week3/README.md) | [Homework W3](/Week3/MAKEME.md) |
9494
| 4. | Higher Order Functions, Array functions, Closures | [Reading W4](/Week4/README.md) | [Homework W4](/Week4/MAKEME.md) |
9595

Week1/MAKEME.md

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,13 @@
11
# Homework JavaScript Week 1
22

3+
## **Todo list**
4+
5+
1. Practice the concepts
6+
2. Set up class repository
7+
38
Practice, practice, practice. This week you are not handing in any homework, but are going to practice as much javascript as you can. Play around with the exercises mentioned below, remember that you can copy the code into [JS Tutor](http://pythontutor.com/javascript.html#mode=edit) to step through the code. Or look at it in the debugger in the browser/vscode.
49

5-
## Practice the concepts
10+
## 1. Practice the concepts
611

712
Before we learn how to build actual applications, we first need to gain experience using JavaScript in a computational way. This teaches us how to think like a programmer, and gives us more experience with the language itself.
813

@@ -17,6 +22,13 @@ The above should give you a nice basis. If you have extra time and are still a l
1722
- [FreeCodeCamp: Introduction to JavaScript](https://learn.freecodecamp.org/javascript-algorithms-and-data-structures/basic-javascript). Do at least 20 exercises, you can choose whichever ones you feel are challenging enough.
1823
- There is a practice-exercises folder in this week's repository that is filled with exercises to try out. The solutions are in a separate folder so you can check if you did it correctly. Clone this repository to your computer and have a go!
1924

25+
## 2. Set up class repository
26+
27+
This week you will also get invited to your class repository and get an issue assigned to you. Read through the issue and take the steps to set up your environment for the rest of the curriculum!
28+
29+
## No homework to hand in
30+
For the first 2 weeks of JavaScript there is no homework to hand in as the exercises already give you all the feedback you need. Go through the first 3 weeks at your own pace, and feel free to ask questions about any of the 3 weeks for the Q&A sessions.
31+
2032
## Done early?
2133

2234
Have a look at some of the week2 concepts already and try to do more exercises in the links above. The first weeks of the JavaScript modules are very important as understanding the basics will make the rest of the curriculum that much easier to follow. So keep reading and writing code!

Week1/QA.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
# Q & A Session
2+
3+
The first 2 weeks of JavaScript we do not have homework and we encourage students to follow all the material at their own pace. So students can ask questions about any week. Expect questions about:
4+
5+
- Basic JavaScript blocks (let/const, operators, loops, if/else, functions)
6+
- The Debugger (both browser/vscode) and how to debug
7+
- Naming conventions
8+
- DRY principle
9+
10+
In these first weeks we want to get the students to create the right mental model for JavaScript constructs, so try to go back to basics as much as possible. However easy it comes to the mentors, this is the first time students encounter all the syntax of a programming language. So try to go slowly and use the debugger / [JSTutor](http://pythontutor.com/javascript.html#mode=edit) as much as possible.

Week1/README.md

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,13 +14,10 @@ These are the topics for week 1.
1414
3. [What is JavaScript?](https://study.hackyourfuture.net/#/javascript/README)
1515
4. [What are variables?](https://study.hackyourfuture.net/#/javascript/variables)
1616
- The keywords: let, const, var
17-
- values
1817
5. [What are values?](https://study.hackyourfuture.net/#/javascript/values)
1918
6. [Statements vs. Expressions](https://study.hackyourfuture.net/#/javascript/statements-vs-expressions)
2019
7. [Operators](https://study.hackyourfuture.net/#/javascript/operators)
21-
8. Tools to help understand code
22-
- [JSTutor](https://study.hackyourfuture.net/#/tools/jstutor)
23-
- [The browser debugger](https://study.hackyourfuture.net/#/tools/debugging)
20+
8. [Debuggers](https://study.hackyourfuture.net/#/tools/debuggers)
2421
9. Testing code
2522
- [Assertion](https://study.hackyourfuture.net/#/testing/assertion)
2623

@@ -31,7 +28,7 @@ This week is all about getting you started in the world of JavaScript. For that
3128

3229
Time to start learning the language with the first building blocks: variables! Have a look at what variables are [here](https://study.hackyourfuture.net/#/javascript/variables) and what values are [here](https://study.hackyourfuture.net/#/javascript/values). Then let's go over some syntax with the difference between statements and expressions [here](https://study.hackyourfuture.net/#/javascript/statements-vs-expressions). And finally let's look at what we can do with variables and values by using what's called operators. Read about them [here](https://study.hackyourfuture.net/#/javascript/operators).
3330

34-
To help learn the language we also want to introduce you to some tools that you can use to look under the hood of your code. Have a look at the JSTutor explanation [here](https://study.hackyourfuture.net/#/tools/jstutor) and how you can use it. Also have a look at the first part of the debugging explanation [here](https://study.hackyourfuture.net/#/tools/debugging). You won't understand a lot of what's there yet, but debugging is so important we want you to look at it early. Read through it once and play around a bit in the debugger. We will be telling you to revisit the debugging section over the next few weeks as you start learning more and more about what is possible.
31+
To help learn the language we also want to introduce you to some tools that you can use to look under the hood of your code in the section about [debuggers](https://study.hackyourfuture.net/#/tools/debuggers). You won't understand everything of what's there yet, but debugging is so important we want you to look at it early. Read through it once and play around a bit in the debugger. We will be telling you to revisit the debugging section over the next few weeks as you start learning more and more about what is possible.
3532

3633
Lastly we want to introduce the first steps to testing code with some code you will find in your exercises. Have a look at what assertion is [here](https://study.hackyourfuture.net/#/testing/assertion), the `console.assert` lines in your practice exercises uses this to check that your code does the right thing.
3734

Week2/MAKEME.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,10 @@ In this section you will be doing interactive exercises, that will allow you to
1212
- [HYF Belgium #2](https://github.com/HackYourFutureBelgium/behavior-strategy-implementation/tree/master/isolate). HYF Belgium also has another module that has some exercises. Clone the [behaviour-strategy-implementation module](https://github.com/HackYourFutureBelgium/behavior-strategy-implementation) and do the `01-arrays` exercise.
1313
- There is a practice-exercises folder in this week's repository that is filled with exercises to try out. The solutions are in a separate folder so you can check if you did it correctly. Clone this repository to your computer and have a go!
1414

15+
## No homework to hand in
16+
17+
For the first 2 weeks of JavaScript there is no homework to hand in as the exercises already give you all the feedback you need. Go through the first 3 weeks at your own pace, and feel free to ask questions about any of the 3 weeks for the Q&A sessions.
18+
1519
## Done early?
1620

1721
Have a look at some of the week3 concepts already and try to do more exercises in the links above. The first weeks of the JavaScript modules are very important as understanding the basics will make the rest of the curriculum that much easier to follow. So keep reading and writing code!

Week2/QA.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
# Q & A Session
2+
3+
The first 2 weeks of JavaScript we do not have homework and we encourage students to follow all the material at their own pace. So students can ask questions about any week. Expect questions about:
4+
5+
- Basic JavaScript blocks (let/const, operators, loops, if/else, functions)
6+
- The Debugger (both browser/vscode) and how to debug
7+
- Naming conventions
8+
- DRY principle
9+
10+
In these first weeks we want to get the students to create the right mental model for JavaScript constructs, so try to go back to basics as much as possible. However easy it comes to the mentors, this is the first time students encounter all the syntax of a programming language. So try to go slowly and use the debugger / [JSTutor](http://pythontutor.com/javascript.html#mode=edit) as much as possible.

Week2/README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,15 +6,15 @@ These are the topics for week 2:
66

77
1. [Conditional statements](https://study.hackyourfuture.net/#/javascript/conditional-statements)
88
2. [Loops](https://study.hackyourfuture.net/#/javascript/loops)
9-
3. [Revisit debugging](https://study.hackyourfuture.net/#/tools/debugging)
9+
3. [Revisit debuggers](https://study.hackyourfuture.net/#/tools/debuggers)
1010
4. [Naming conventions](https://study.hackyourfuture.net/#/programming/naming-conventions)
1111

1212
## Week goals
1313
All of the detailed information about every concept is in your study book. The following goal explanation will link you to the correct place to get studying. Read through the goal description once to get an idea of what you will be learning, then go through the different links and look at them in detail.
1414

1515
This week we are going to go a little deeper and get some extra building blocks to work with. That way we can make some more interesting pieces of code that actually have some logic in them. At this point we can determine things with our values and manipulate them, but the real power of programming comes when we can make 'decisions' to do something different based on our value. That way we can actually build logic into our code! Read all about conditional statements [here](https://study.hackyourfuture.net/#/javascript/conditional-statements). Another cool thing we can do in JavaScript is repeat actions, we can do that using a concept called loops, read more about that [here](https://study.hackyourfuture.net/#/javascript/loops).
1616

17-
There are a lot of things you can do with just these building blocks (next week you will get to know the last few to complete your arsenal). You will undoubtedly already have encountered the difficulty of reading code, and all the things we learned this week will make it even more difficult to follow. It is a good idea to revisit the debugging section with this new knowledge [here](https://study.hackyourfuture.net/#/tools/debugging). Although it is called debugging, a lot of the process of finding 'bugs' in your code is trying to understand what is happening in the code. So keep using the debugger to understand pieces of code!
17+
There are a lot of things you can do with just these building blocks (next week you will get to know the last few to complete your arsenal). You will undoubtedly already have encountered the difficulty of reading code, and all the things we learned this week will make it even more difficult to follow. It is a good idea to revisit the debugger section with this new knowledge [here](https://study.hackyourfuture.net/#/tools/debuggers). Although it is called debugging, a lot of the process of finding 'bugs' in your code is trying to understand what is happening in the code. So keep using the debugger to understand pieces of code that you are not 100% comfortable with yet!
1818

1919
This is also the week we are going to start learning about best practices surrounding programming. These are general rules programmers follow so that code remains readable for others. The first will be about naming conventions, read more about that [here](https://study.hackyourfuture.net/#/programming/naming-conventions). It will mention the term `functions`, which you haven't learned about yet, but keep that in mind for next week when you will be introduced to them!
2020

Week3/MAKEME.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
# Homework JavaScript Week 3
2-
# Homework JavaScript Week 3
32

43
This will be the first week you are expected to hand in some homework when we combine all of the concepts you have been practicing the last 3 weeks.
54

Week3/QA.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
# Q & A Session
2+
3+
The first 2 weeks of JavaScript we do not have homework and we encourage students to follow all the material at their own pace. So students can ask questions about any week. Expect questions about:
4+
5+
- Functions
6+
- Scope
7+
- The Debugger (both browser/vscode) and how to debug functions
8+
- DRY principle
9+
- Naming conventions
10+
11+
In these first weeks we want to get the students to create the right mental model for JavaScript constructs, so try to go back to basics as much as possible. However easy it comes to the mentors, this is the first time students encounter all the syntax of a programming language. So try to go slowly and use the debugger / [JSTutor](http://pythontutor.com/javascript.html#mode=edit) as much as possible.

Week4/QA.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
# Q & A Session
2+
3+
The fourth week is all about more complex JavaScript topics. By now the students should have the basics down, so expect some tougher questions. Expect questions about:
4+
5+
- Higher Order Functions
6+
- *Closures*
7+
- The Debugger (both browser/vscode) and how to debug functions
8+
9+
We have noticed that Closures are tough for the students, so try to spend any time you have spare on that topic. Also try to keep using the debugger to show what happens line by line!

Week4/README.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,14 @@ These are the topics for week 4:
99
2. [Closures](https://study.hackyourfuture.net/#/javascript/closures)
1010
- Execution context
1111
- Why do we need closures?
12+
3. [Problem solving](https://study.hackyourfuture.net/#/programming/problem-solving-process)
1213

1314
## Week goals
1415

1516
This week we are going to keep practicing coding and introducing a few more advanced topics that you will encounter. So a little less reading, more practicing! Firstly, higher order functions are a way functions are being used regularly in the real world, most notably in the methods `Array`'s provide us. Read all about it [here](https://study.hackyourfuture.net/#/javascript/higher-order-functions). Secondly, JavaScript has a thing called closures which you should know about. You will not encounter issues with them any time soon, but it is good to have in the back of your mind that this exists. So read all about them [here](https://study.hackyourfuture.net/#/javascript/closures).
1617

18+
Now that we are getting into more and more complex code it is also a good idea to learn a structured way to solve more complex problems. Have a look at the page on problem solving in your study book over [here](https://study.hackyourfuture.net/#/programming/problem-solving-process).
19+
1720
After that it is time to start practicing again, make as many exercises as you can in the list [here](./MAKEME.md) and don't forget to hand in your homework. There will also be a test coming up for this module. What and when will be announced in your class channel, so keep an eye on that as usual! The best way to prepare is to keep programming!
1821

1922
## Finished?

0 commit comments

Comments
 (0)