Level 1 · Digital Foundations · Course 1.2 Networking and the Internet

Module 8: Developer Workstation Basics

Goal: set up your own developer workstation: a terminal you're comfortable in, VS Code, and an understanding of file paths and environment variables.

You'll need: your own computer, with permission to install software.

Lessons

  1. 1The terminal15–25 minutes✓
  2. 2Moving around with commands15–25 minutes✓
  3. 3Environment variables15–25 minutes✓
  4. 4VS Code, your editor15–25 minutes✓
  5. 5File paths, absolute and relative15–25 minutes✓

🛠️Module practice: set up your workstation

  1. Install VS Code and open your my-first-site folder in it.
  2. Using only the terminal, create a folder called notes inside my-first-site.
  3. Show your PATH and find at least one folder in it you recognise.
  4. Create index.html with any text, then list the folder's files from VS Code's terminal.
  5. Write one absolute and one relative path to index.html.

✅Module check

Explain in a few sentences, in your own words:

Why do developers use the terminal, and what's one safety rule for using it?

Show a good answer

A good answer mentions: developer tools such as Git, Node.js and package managers are run from the terminal; it's precise and fast, and it's the main way to work on servers. Safety: it does exactly what you type with no undo, so read every command before running it, especially ones copied from the internet or suggested by AI, and be very careful with commands that delete.

📝Module quiz

10 questions · 10 marks each · 100 marks in all · pass mark 70% · retry as often as you like ·

1. An AI tells you to run a command containing rm or del that you don't understand. What should you do?

Why each option is right or wrong

  • “Run it as administrator so it has permission to finish” (Incorrect): Admin rights make a mistake far worse, letting it delete system files too.
  • “Run it quickly before the AI changes its suggestion” (Incorrect): Speed adds nothing. Understanding the command is what keeps you safe.
  • “Run it twice, to make sure the deletion really worked” (Incorrect): Running a deletion twice doubles the risk and achieves nothing.
  • “Stop and ask what it does first, because deleted files can't be undone” is correct.

    rm (Linux/Mac) and del (Windows) delete files immediately. There's no recycle bin in the terminal, and one wrong path or space can delete far more than intended.

    • Ask the AI to explain: what will be deleted, and why?
    • Check the path: a stray space in rm -rf ./build / means 'delete ./build AND the whole system'.
    • Commit first: if it's inside a Git project, commit so you can restore.

📖 Revise: Lesson 1: The terminal

Question ID module-08-q1 · Report a mistake in this question
2. Why do servers usually have no mouse-and-window interface?

Why each option is right or wrong

  • “Graphical windows are not allowed on server operating systems” (Incorrect): They're allowed; servers just rarely need them.
  • “Graphical tools can't connect to a server over the internet” (Incorrect): Remote desktops exist. Terminals are preferred because they're lighter and scriptable.
  • “Mice are too expensive to attach to every server in a rack” (Incorrect): Cost isn't the reason. Remote management by commands is simply better.
  • “They run without a screen, and terminals are light and work remotely” is correct.

    Servers sit in data centres with no monitor attached. You manage them from your own computer over SSH by typing commands. A text interface uses almost no resources and works well even over slow connections.

    • Saves resources: no memory or CPU spent drawing windows.
    • Scriptable: commands can be saved and repeated exactly, which a sequence of clicks can't.

📖 Revise: Lesson 1: The terminal

Question ID module-08-q2 · Report a mistake in this question
3. Why do developers name folders my-project instead of My Project?

Why each option is right or wrong

  • “Hyphens make the files inside the folder smaller” (Incorrect): Folder names don't affect file sizes.
  • “Search engines rank hyphenated folder names higher” (Incorrect): Search ranking isn't the reason. Spaces cause errors in commands and tools.
  • “Capital letters are forbidden in folder names on every system” (Incorrect): Capitals are allowed; they're just a source of case-sensitivity mistakes.
  • “Spaces need quotes in the terminal and break many tools” is correct.

    In the terminal, a space separates one argument from the next. cd My Project is read as two words, so you'd need quotes every time. Many build tools and web addresses also handle spaces badly.

    • Lowercase with hyphens: works everywhere, including URLs.
    • Case sensitivity: Linux servers treat Project and project as different, so all-lowercase avoids surprises.

📖 Revise: Lesson 2: Moving around with commands

Question ID module-08-q3 · Report a mistake in this question
4. You install Node.js, but typing node says "command not found". What's a likely reason?

Why each option is right or wrong

  • “Node.js must be started from inside VS Code” (Incorrect): Node runs from any terminal once the PATH includes it.
  • “Your RAM is full, so the terminal can't find new programs” (Incorrect): Full memory makes things slow; it doesn't cause 'command not found'.
  • “Your domain name has expired, so Node.js can't start” (Incorrect): Domains are for websites. Node runs locally with no domain involved.
  • “The terminal was already open and hasn't picked up the new PATH” is correct.

    The PATH is a list of folders where the terminal looks for programs. Installers add Node's folder to it, but a terminal that was already open keeps its old list.

    • Fix: close the terminal and open a new one.
    • Still failing? Check the install finished, or restart the computer so every program sees the new PATH.

📖 Revise: Lesson 3: Environment variables

Question ID module-08-q4 · Report a mistake in this question
5. Why put an API key in an environment variable instead of in your code?

Why each option is right or wrong

  • “Because code files are not allowed to contain letters and numbers mixed” (Incorrect): Code can contain any text. The issue is where the code ends up.
  • “Environment variables are encrypted forever, so nobody can read them” (Incorrect): They aren't encrypted. They're just kept out of the shared code.
  • “It makes the key shorter, so requests to the API go faster” (Incorrect): The key's length and request speed don't change.
  • “So it isn't copied wherever the code goes, and can differ per machine” is correct.

    Code gets shared, committed and uploaded. A key written in the code travels with it, into GitHub, screenshots and AI chats. Environment variables keep the secret on the machine that runs the code.

    • Different per environment: test and live keys can differ without changing code.
    • Easy to rotate: change the variable, not the code.
    • Remember: add .env to .gitignore.

📖 Revise: Lesson 3: Environment variables

Question ID module-08-q5 · Report a mistake in this question
6. Why open a whole folder in VS Code rather than a single file?

Why each option is right or wrong

  • “Folders are quicker to type than file names when opening” (Incorrect): Typing speed isn't the reason; seeing the whole project is.
  • “It uses less memory than opening the files one by one” (Incorrect): Opening a folder doesn't reduce memory use.
  • “VS Code is unable to open a single file on its own” (Incorrect): It can open single files. You just lose the project-wide features.
  • “A project is many files working together, and the folder shows them all” is correct.

    Websites and apps are made of many files that refer to each other. Opening the folder lets VS Code show the full tree, search across files, understand imports, and start the terminal in the right place.

    • Search everywhere: find where something is used across the project.
    • Git integration: the editor shows what changed in the whole repository.

📖 Revise: Lesson 4: VS Code, your editor

Question ID module-08-q6 · Report a mistake in this question
7. A page uses C:\Users\Asha\Pictures\logo.png. It works on your laptop but not on the server. Why?

Why each option is right or wrong

  • “Servers can't display PNG images, only JPEG files” (Incorrect): Servers send PNG files perfectly well; browsers display them.
  • “The image is too large for the server to send” (Incorrect): Large images load slowly but still load. A path that doesn't exist on the server is why it fails.
  • “The server blocks images stored outside the web root” (Incorrect): The server can't see your laptop's folders at all. The path only exists on your laptop.
  • “That absolute path only exists on your laptop” is correct.

    An absolute path points to one exact place on one computer. The server has no C:\Users\Asha\Pictures folder. Put the image inside the project and use a relative path like images/logo.png, which works wherever the project goes.

    • Relative paths travel with the project.
    • Check in DevTools: the Network tab shows the image request failing.

📖 Revise: Lesson 5: File paths, absolute and relative

Question ID module-08-q7 · Report a mistake in this question
8. You're in Projects/my-first-site. What does ../ point to?

Why each option is right or wrong

  • “The internet, through the computer's network folder” (Incorrect): .. is a folder path, not a network location.
  • “The very top of the whole computer's file system” (Incorrect): That's / on Linux and Mac, or a drive like C:\ on Windows.
  • “The my-first-site folder itself, where you are now” (Incorrect): That's ., a single dot. Two dots go up one level.
  • “The Projects folder, one level up” is correct.

    .. means the parent folder, the one containing where you are now. From Projects/my-first-site, that's Projects.

    • . means the current folder.
    • ../.. goes up two levels.
    • In web pages: ../styles.css means 'the styles file in the folder above this page'.

📖 Revise: Lesson 5: File paths, absolute and relative

Question ID module-08-q8 · Report a mistake in this question
9. You type ls and see my-first-site. How do you go into it?

Why each option is right or wrong

  • “ls my-first-site, which opens the folder” (Incorrect): This lists what's inside the folder but doesn't move you into it.
  • “go my-first-site, the command for moving” (Incorrect): go isn't a shell command for moving between folders.
  • “open my-first-site, which moves the terminal” (Incorrect): On a Mac, open shows the folder in Finder; the terminal stays where it is.
  • “cd my-first-site” is correct.

    cd means change directory. It moves the terminal into the folder you name.

    • Tab completion: type cd my and press Tab to fill in the rest.
    • Go back up: cd ..
    • Where am I? pwd prints the current folder.

📖 Revise: Lesson 2: Moving around with commands

Question ID module-08-q9 · Report a mistake in this question
10. Where should you download VS Code from?

Why each option is right or wrong

  • “A torrent of the 'Pro' edition with extra features” (Incorrect): There is no Pro edition. Torrents of software are a common way to spread malware.
  • “A link in a forwarded WhatsApp message from a friend” (Incorrect): Forwarded links can be fake or tampered with. Go to the official site yourself.
  • “Any site with a big, fast green download button” (Incorrect): Big download buttons on unofficial sites are often adverts or malware.
  • “The official site, code.visualstudio.com” is correct.

    The publisher's own site has the genuine, latest version. VS Code is free, so any 'Pro' or 'cracked' version elsewhere is fake, and likely to carry malware.

    • Check the address: exactly code.visualstudio.com, nothing similar-looking.
    • App stores and official package managers are also safe sources.

📖 Revise: Lesson 4: VS Code, your editor

Question ID module-08-q10 · Report a mistake in this question

ProLearners Assist