{"id":20365621,"url":"https://github.com/hackyourfuture/javascript1","last_synced_at":"2025-04-07T09:19:35.853Z","repository":{"id":74101992,"uuid":"70716559","full_name":"HackYourFuture/JavaScript1","owner":"HackYourFuture","description":"This repository contains all the material for the HackYourFuture module \"JavaScript 1: Programming Basics\"","archived":false,"fork":false,"pushed_at":"2021-01-26T12:10:46.000Z","size":14172,"stargazers_count":60,"open_issues_count":1,"forks_count":256,"subscribers_count":24,"default_branch":"master","last_synced_at":"2024-04-13T19:23:12.048Z","etag":null,"topics":["git","hyf","javascript"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/HackYourFuture.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-10-12T15:59:04.000Z","updated_at":"2023-03-16T03:05:04.000Z","dependencies_parsed_at":null,"dependency_job_id":"9d45db75-0cb7-41e2-8677-5dbcb2736eee","html_url":"https://github.com/HackYourFuture/JavaScript1","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HackYourFuture%2FJavaScript1","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HackYourFuture%2FJavaScript1/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HackYourFuture%2FJavaScript1/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HackYourFuture%2FJavaScript1/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/HackYourFuture","download_url":"https://codeload.github.com/HackYourFuture/JavaScript1/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247622983,"owners_count":20968575,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["git","hyf","javascript"],"created_at":"2024-11-15T00:19:06.900Z","updated_at":"2025-04-07T09:19:35.821Z","avatar_url":"https://github.com/HackYourFuture.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# DEPRECATED - JavaScript 1\nThis module has been replace with the JavaScript module, find it [here](https://github.com/HackYourFuture/JavaScript)\n\n```\nIn 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!\n\nYou'll be learning two main things:\n\n1. **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.\n\nThis 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**.\n\n2. **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.\n\nThis 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**.\n\n## Before you start!\n\n### 1. Install some new software!\n\nIn 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](https://nodejs.org/en/download/). Download the Long-Term Support (LTS) version for your specific operating system.\n\n- For Windows, click [here](https://nodejs.org/dist/v12.16.1/node-v12.16.1-x86.msi)\n- For Mac, click [here](https://nodejs.org/dist/v12.16.1/node-v12.16.1.pkg)\n- For Linux, click [here](https://nodejs.org/dist/v12.16.1/node-v12.16.1-linux-x64.tar.xz)\n\nAfter you've installed it, go to your command line interface. Type in the following command:\n\n```\nnode --version\n```\n\nIt should show you version `v12.16.1` or higher.\n\n### 2. A new way of submitting homework!\n\nStarting from this module you'll submit homework in a different way. You will be only using GIT and GitHub and work **like a real developer would**: pushing code from your computer to GitHub and making pull requests!\n\nBefore you start with the homework, make a `fork` of the following repository: [HackYourHomework/JavaScript1](https://www.github.com/hackyourhomework/javascript1). You'll always use the **HackYourHomework** version of the module repository whenever you have to submit your homework.\n\nHere are the steps to get started:\n\n1. `fork` the HackYourHomework repository to your personal account.\n2. `clone` your forked repository to your computer.\n3. Make `GIT` branches for each week. Start at the `master` branch and execute the following (note that they're 3 different commands):\n\n`console\nfoo@bar:~$ git branch week1-YOURNAME\nfoo@bar:~$ git branch week2-YOURNAME\nfoo@bar:~$ git branch week3-YOURNAME\n`\n\n4. `checkout` to `week1-YOURNAME`\n5. Get started with making your homework!\n\nHere's a video in order that shows you how it's done: [How to Submit Your Homework](https://www.youtube.com/watch?v=CpYARPYGQU8)\n\n### 3. Presentation module\nBesides learing a lot of technical concepts you'll be focussing on the softskills as well. Please have a look at [this](https://github.com/HackYourFuture/presentation-module) RePo for more details.\n\n## Learning goals\n\nIn order to successfully complete this module you will need to master the following:\n\n- Have an idea of what `computer programming` is\n- Know the basic building blocks of `JavaScript`\n- Correctly write and use `variables`, `functions` and `loops`\n- Understand the `control flow`\n\n## How to use this repository\n\n### Repository content\n\nThis repository consists of 3 essential parts:\n\n1. `README`: this document contains all the required theory you need to understand **while** working on the homework. It contains not only the right resources to learn about the concepts, but also lectures done by HackYourFuture teachers. This is the **first thing** you should start with every week\n2. `MAKEME`: this document contains the instructions for each week's homework. Start with the exercises rather quickly, so that you can ground the concepts you read about earlier.\n3. `LESSONPLAN`: this document is meant for teachers as a reference. However, as a student don't be shy to take a look at it as well!\n\n### How to study\n\nLet's say you are just starting out with the JavaScript1 module. This is what you do...\n\n1. The week always starts on **Wednesday**. First thing you'll do is open the `README.md` for that week. For the first week of `JavaScript1`, that would be [Week1 Reading](/Week1/README.md)\n2. You spend **Wednesday** and **Thursday** going over the resources and try to get a basic understanding of the concepts. In the meanwhile, you'll also implement any feedback you got on last week's homework (from the HTML-CSS module)\n3. On **Friday** you start with the homework, found in the `MAKEME.md`. For the first week of `JavaScript1`, that would be [Week1 Homework](/Week1/MAKEME.md)\n4. You spend **Friday** and **Saturday** playing around with the exercises and write down any questions you might have\n5. **DEADLINE 1**: You'll submit any questions you might have before **Saturday 23.59**, in the class channel\n6. On **Sunday** you'll attend class. It'll be of the Q\u0026A format, meaning that there will be no new material. Instead your questions shall be discussed and you can learn from others\n7. You spend **Monday** and **Tuesday** finalizing your homework\n8. **DEADLINE 2**: You submit your homework to the right channels (GitHub) before **Tuesday 23.59**. If you can't make it on time, please communicate it with your mentor\n9. Start the new week by going back to point 1!\n\nIn summary:\n\n![Weekflow](assets/weekflow.png)\n\nTo have a more detailed overview of the guidelines, please read [this document](https://docs.google.com/document/d/1JUaEbxMQTyljAPFsWIbbLwwvvIXZ0VCHmCCN8RaeVIc/edit?usp=sharing) or ask your mentor/class on Slack!\n\n### Video lectures\n\nFor each module HackYourFuture provides you with video lectures. These are made by experienced software developers who know what they're talking about. The main teacher for this module will be [Uday Khaki](https://hackyourfuture.slack.com/team/U3T5HDP0W): former HackYourFuture student and now successful web developer for several years!\n\nYou can find out more about him here:\n\n- [@Uday on Slack](https://hackyourfuture.slack.com/team/U3T5HDP0W)\n\nLearn from Uday in the following playlist of videos he has made for you! (Click on the image to open the link)\n\n\u003ca href=\"https://www.youtube.com/playlist?list=PLVYDhqbgYpYUiqH8IxLJ5qomkEGMzes1q\" target=\"_blank\"\u003e\u003cimg src=\"./assets/week1-uday.png\" width=\"600\" height=\"350\" alt=\"HYF Video\" /\u003e\u003c/a\u003e\n\n## Planning\n\n| Week | Topic | Reading Materials     | Homework      | Lesson Plan  |Presentation module |\n| ---- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- |-----------|\n| 1.   | What is JavaScript?, Variables, Data Structures \u0026 Naming Conventions              | [Reading W1](https://github.com/HackYourFuture/JavaScript1/tree/master/Week1/README.md) | [Homework W1](https://github.com/HackYourFuture/JavaScript1/tree/master/Week1/MAKEME.md) | [Lesson Plan W1](https://github.com/HackYourFuture/JavaScript1/tree/master/Week1/LESSONPLAN.md) |[W1 presentations](https://github.com/HackYourFuture/presentation-module/blob/main/week1.md) |\n| 2.   | Statements vs. Expressions, Control flow, Loops, Operators, Conditional statement | [Reading W2](https://github.com/HackYourFuture/JavaScript1/tree/master/Week2/README.md) | [Homework W2](https://github.com/HackYourFuture/JavaScript1/tree/master/Week2/MAKEME.md) | [Lesson Plan W2](https://github.com/HackYourFuture/JavaScript1/tree/master/Week2/LESSONPLAN.md) |[W2 presentation](https://github.com/HackYourFuture/presentation-module/blob/main/week2.md) |\n| 3.   | Functions, Thinking like a programmer I, How JavaScript relates to HTML/CSS       | [Reading W3](https://github.com/HackYourFuture/JavaScript1/tree/master/Week3/README.md) | [Homework W3](https://github.com/HackYourFuture/JavaScript1/tree/master/Week3/MAKEME.md) | [Lesson Plan W3](https://github.com/HackYourFuture/JavaScript1/tree/master/Week3/LESSONPLAN.md) |\n\n## Finished?\n\nDid you finish the module? Good job! You're doing great!\n\nIf you feel ready for the next challenge, click [here](https://www.github.com/HackYourFuture/JavaScript2) to go to JavaScript2!\n\n_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 :)_\n\n\u003ca rel=\"license\" href=\"http://creativecommons.org/licenses/by/4.0/\"\u003e\u003cimg alt=\"Creative Commons License\" style=\"border-width:0\" src=\"https://i.creativecommons.org/l/by/4.0/88x31.png\" /\u003e\u003c/a\u003e\u003cbr /\u003eThis work is licensed under a \u003ca rel=\"license\" href=\"http://creativecommons.org/licenses/by/4.0/\"\u003eCreative Commons Attribution 4.0 International License\u003c/a\u003e.```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhackyourfuture%2Fjavascript1","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhackyourfuture%2Fjavascript1","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhackyourfuture%2Fjavascript1/lists"}