Intro to the CLI
Files and folders
Paths
Basic scripting
Node.js Setup
VSCode setup
Intro to Git
Intro to Github
Markdown
Practice
Assignment
Back to core program
Week 1 Assignment
Task 1 – Bash script
In this task, we are going to create a script that sets up a project with a folder structure and a git repository.
Create a bash script named setup.sh that does the following:
- Print the message "Creating project…" to the terminal
- Create new folder called “project”.
- Create new git repository inside the folder “project”
- Recreate the following folder and file structure (keep all the files empty for now)
project
├── README.md
├── resources
│ ├── family picture.jpg
│ ├── icon.png
│ └── logo.png
├── settings.conf
└── src
├── database
├── profile
└── program.java
- Commit the changes to git with the message “initial commit".
- Wait for 3 seconds
- Print the message "Setup project…" to the terminal
- Write "Welcome to my project" to
README.md
- Remove the
profile folder
- Remove the
family picture.jpg file
- Create a second commit with the new changes. Provide a descriptive message.
- Wait for 3 seconds
- Show the contents of the
Resources folder
- Print the message "Setup javascript…" to the terminal
- Rename
program.java to program.js
- Write
console.log('JavaScript works!'); to program.js
- Run
program.js using Node.js
- Create a third commit with the last changes. Provide a descriptive message.
- Show the contents of the user's home folder
- Print the message "All done!" to the terminal
Extra guidelines
- The script should work from any folder and run on any computer with Bash shell and Node.js installed.
- Run the script frequently during development, even if it's not finished. Test each step to make sure it works rather than writing everything at once.
- You can temporary add a command to delete the
project folder before running the script. So every time you test it, it will start over.
Task 2 - Github profile
Let's make your GitHub profile beautiful. GitHub allows a special repository named <username>/<username> that becomes the profile README on your Github profile https://github.com/<username>.
- Follow this guide to create your profile repository: https://docs.github.com/en/account-and-profile/how-tos/profile-customization/managing-your-profile-readme
- Clone this repository to your computer, open VSCode, and edit the README file to add the following:
-
Add a cool animated welcome message.
-
Write a short introduction about yourself and what motivates you to learn new technologies.
-
Create a list of things you're interested in (e.g., cyber security, web development, football).
-
Create a list of technologies you'd like to learn (e.g., HTML, Python, Java).
-
Add a "Top Languages Card" to your profile using https://github.com/anuraghazra/github-readme-stats?tab=readme-ov-file#top-languages-card

-
Add a streak stats card using https://streak-stats.demolab.com/?user=stasel
- Commit and push the changes to the remote repository, then check out your new profile.
Extra guidelines
- Make it personal with your own style, colors and text.
- You are welcome to add more things. Check out awesome-github-profile-readme Public for inspiration.
- You can commit and push as many times as you want. Not happy with the results? No problem: change → commit → push.
Submission
TBD
The HackYourFuture curriculum is licensed under CC BY-NC-SA 4.0 **

*https://hackyourfuture.net/*