Essentials

🧠 Essentials #

It’s easier to draw a straight line with a ruler right. Just like that there a few tools and skills that make your life as a developer easy.

💡 Note #

This document is inspired from MIT’s Missing Semester of CS Education, you can check it out to learn more about it.

🛠️ Tools and Concepts #


🧑🏻‍💻 Command Line Environment #

As a developer we use the command line/terminal significantly during development. The knowledge of basic commands and familiarity with command line interface(CLI) will help you in the journey ahead.

🎓 Topics to learn #

  • Basic terminal commands

    • cd - Move around your directory structure
    • mkdir - Create directories
    • touch - Create or modify files
    • ls - List the contents of the directory or file
    • rm - Delete directories or files
  • Navigation

    • Follow this simple activity to learn how to navigate through the command line.
    • Make a directory with your Name using mkdir
    • Move to the directory using cd
    • Create a text file About using touch
    • Create a directory Projects using mkdir
    • List of the contents of the current directory using ls. You will see About.txt and Projects
    • Delete About and Projects using rm

🧑🏻‍💻 Resources #

Articles

🎯 Checkpoint #

  • You should be able to comfortably browse through directories and create and delete files
  • You should know how to use the basic terminal commands
  • You should be able to comfortably used the commands mentioned in documentations to install libraries and packages via CLI

🌴 Version Control #

Even if you haven’t heard of version control you might be aware of Git and GitHub. Often times developers collaborate to work on projects, Version Control allows developers to track changes made to their codebase over time and collaborate effectively with other team members.

🎓 Topics to learn #

  • Git terminologies and concept
    • Commits
    • Staging
    • Branching
  • GitHub
    • Forking a Repository
    • Cloning a Repository
    • Pull Requests and Merging

🧑🏻‍💻 Resources #

Interactive Tutorials

Articles

🖥️ Code Editors #

A best-fit code editor will make any developer more efficient at writing code. It will assist to examine code for less mistakes and show where edits need to be made.

🔖 Advantages #

  • Code formatting - It will make your code more readable by automatically adding proper indentation.
  • Intellisense - It helps you write code faster by suggesting the next line or keyword in your code.
  • Git Integration - In-built integration to help you perform staging, commits and other git functions
  • Plugins and Features - The code editors provide a large variety of plugins and extensions to enhance your development process

🖥️ Editors #

You can choose an editor of your choice. These are the most commonly used code editors:

  • VS Code - A light-weight editor by microsoft
  • Sublime Text - A light weight editor by Sublime HQ

📦 Package Managers #

Package managers help you install softwares and other libraries via CLI. There many package managers available out there such as NPM, PIP, HomeBrew , etc. You will use them in different learning paths.

If you are interested to know more about package management, you can checkout Package Management basics by MDN.