If you are following the HackYourFuture curriculum we recommend you to start with module 1: HTML/CSS/GIT. To get a complete overview of the HackYourFuture curriculum first, click here.
Please help us improve and share your feedback! If you find better tutorials or links, please share them by opening a pull request.
In this module you'll make a start into wonderful world of programming. We will be using the programming language JavaScript
to do so. You'll learn about the basic building blocks of programming: loops
, functions
, control flow
and more. Consider these as the ABC's of programming, without them it's impossible to write working software!
You'll be learning two main things:
- Fundamental concepts in programming. While we're using JavaScript to illustrate these concepts, it's important to keep in mind that what you will learn is applicable to any programming language. They might differ in syntax (a fancy term for the arrangement of words in a language in order for it to make sense), but the functionality will be the same: a loop will always be a loop.
This should be your mindset when you're learning concepts: I'm learning how to become a software developer that can adjust to any language used, because I know what the underlying principles and concepts are.
- How to think like a programmer. In one sentence this means: knowing how to solve problems using a computer. Let's split that up in two parts:
how to solve problems
refers to the ability to identify issues and find effective solutions.computationally
refers to the ability to think in logical steps that the computer can understand and execute.
This should be your mindset when you're learning how to think : I'm learning how to think in logical steps, identifying cause and effect, and always looking for solutions.
In order to test your JavaScript code, you'll be using software that will execute your files from the command line. This software is called Node.js. Download the Long-Term Support (LTS) version for your specific operating system.
After you've installed it, go to your command line interface. Type in the following command:
node --version
It should show you version v12.16.1
or higher.
In order to successfully complete this module you will need to master the following:
- Have an idea of what
computer programming
is - Know the basic building blocks of
JavaScript
- Correctly write and use
variables
,functions
andloops
- Understand the
control flow
This repository consists of 3 parts:
Reading materials
: this document contains all the required theory you need to know while you're coding. It's meant as both study material and as a reference to understand what you're doing.Homework
: this document contains the instructions for each week's homework.Lesson Plans
: this part is meant for teachers as a reference. However, as a student don't be shy to take a look at it as well!
After your first class you should start with checking the reading materials
for that week. So, for the first time it's the Week 1 Reading. Study all the concepts and try to get the gist of everything. After, you can get started with the homework
for that week.
Before you start with the homework, make sure you've made a fork
of the right repository: HackYourHomework/JavaScript1. Once you've cloned it to your computer you can proceed by making GIT
branches for each week. Start at the master
branch and execute the following (note that they're 3 different commands):
foo@bar:~$ git branch week1-YOURNAME
foo@bar:~$ git branch week2-YOURNAME
foo@bar:~$ git branch week3-YOURNAME
Then execute git checkout week1
and you can get started!
If you have any questions or if something is not entirely clear ¯\_(ツ)_/¯, please ask/comment on Slack!
Week | Topic | Reading Materials | Homework | Lesson Plan |
---|---|---|---|---|
1. | What is JavaScript?, Variables, Data Structures & Naming Conventions | Reading W1 | Homework W1 | Lesson Plan W1 |
2. | Statements vs. Expressions, Control flow, Loops, Operators, Conditional statement | Reading W2 | Homework W2 | Lesson Plan W2 |
3. | Functions, Thinking like a programmer I, How JavaScript relates to HTML/CSS | Reading W3 | Homework W3 | Lesson Plan W3 |
Did you finish the module? Good job! You're doing great!
If you feel ready for the next challenge, click here to go to JavaScript2!
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.