Title: 1
Course: Start programming with Python in 10 steps

Enter the world of programming

We all use computers to work, read news, watch videos, hang out on social media and we all know how to use them in these ways. But when we program computers, we enter deeper into their world, behind the scenes. A good programmer of any level needs to have a map of this world behind the shiny apps. Once you have an idea of what is in this world and where, you won’t get lost easily. In this step, we create a very simplified map of the world of computers and programming: we sketch the essential physical components (hardware) and programs (software) to see how they work together.

👉    6 things to know at this step

1. The central processing unit (CPU) is the “brain” of the computer, the place that processes the data. That's where all the calculations happen.
2. Memory is the place where we keep data and programs. Random Access Memory (RAM) contains active data and programs, that is, everything that is currently being used by the CPU. All other information is stored on the hard disk (or other external memory devices).
3. Input devices are keyboard, mouse, touchpad, microphone.
4. Output devices are screen, projector, printer, loudspeaker.
5. There are three kinds of input data: text, sound, image. All of them are converted into binary strings.
6. There are many kinds of programs, working on different levels placed between the CPU and the user. Among these:
  - Operating system is the closest to the CPU, it is a special program that decides for all other programs when they can access the CPU.
  - Applications are the most external programs, closest to the user.
  - Shells are powerful programs for programmers found on every computer, they can run applications that don’t have user interface.
  - Programmers work with special applications that help them write and run their code. One such application that is especially helpful for programming in Python is Anaconda.

🧑‍🎓     Learn actively

📝 Step into the world of computers and their history with this introductory video by Khan Academy:
  - 📹 What makes a computer, a computer?

📝 Then, get a general explanation of what binary is with this other video by Khan Academy:
  - 📹 Binary & data

📝 Time to get to the real deal! Get explanations for 1️⃣, 2️⃣, 3️⃣, 4️⃣ and 5️⃣ from Khan Academy:
  - 📹 What are the parts of a computer? (Make sure to read the entire lesson, up to "Secondary memory")
  - 📹 Storing text in binary

📝 Get explanations for 6️⃣ from Wikipedia (find the relevant pages yourself!). Also, watch this short video comparing operating systems:

📹  Operating systems by Martin Volk (This video has subtitles if you watch it on YouTube)

❓  Check if you got everything right

  - Practice computer components
  - Practice storing text in binary

🛠️   Install and set up your Anaconda

A small note: Of course, one can code in Python without Anaconda, or using other similar tools. We chose to use Anaconda in this guide because it is a relatively stable and convenient method, but you can definitely expect you will use other tools in other situations!