No history yet

Introduction to Programming

Giving the Computer Instructions

At its heart, programming is simply the act of giving a computer a set of instructions to follow. Think of it like a recipe. A recipe lists specific steps in a specific order to achieve a goal, like baking a cake. A computer program does the same thing, but its goal might be to calculate a budget, play a video, or send an email.

The recipe itself, the step-by-step plan for solving a problem, is called an algorithm. Before you can write any code, you need a clear algorithm. It's the logic that guides the program.

algorithm

noun

A finite sequence of well-defined, computer-implementable instructions, typically to solve a class of problems or to perform a computation.

Every program you use, from the operating system on your phone to the web browser you're using now, is built on algorithms that tell the computer exactly what to do.

The Anatomy of a Program

Just as a sentence is made of words, a program is made of specific components. While the exact syntax changes between programming languages, the core concepts are universal.

First, we have variables. A variable is like a labeled box where you can store a piece of information, such as a number or a piece of text. You can change what's inside the box, but the label stays the same.

For example, you could have a variable named userAge that holds the number 25.

Next are expressions. An expression is a combination of values, variables, and operators that results in a single new value. For example, userAge+5userAge + 5 is an expression that takes the value from the userAge variable and adds 5 to it.

A statement is a complete instruction that tells the computer to perform an action. Assigning a value to a variable is a statement. A program is essentially a list of statements executed in order.

currentYear = 2024; // This is a statement

Finally, we group related statements into functions. A function is a named block of code that performs a specific task. Think of it as a mini-program. You can 'call' a function by its name whenever you need it, which saves you from writing the same code over and over.

From Idea to Execution

Writing a program involves a clear process that goes beyond just typing code.

  1. Define the Problem: What exactly do you want the program to accomplish?
  2. Plan the Solution: Develop an algorithm. How will the program solve the problem, step by step?
  3. Write the Code: Translate your algorithm into a programming language.
  4. Test and Debug: Run the program, find any errors (bugs), and fix them.

To write the code, you need to choose a programming language. There are hundreds of them, each with its own strengths. Some are great for building websites, others for analyzing data, and others for controlling robots.

Lesson image

Here are a few common examples:

LanguageCommon Use Cases
PythonData science, web apps, automation
JavaScriptWeb development, mobile apps
JavaEnterprise software, Android apps
C++Game development, high-performance systems

System vs. Application Programs

Not all programs are the same. We can group them into two main categories.

System programs work in the background to manage the computer itself. The most important example is your operating system (like Windows, macOS, or Android). It manages hardware, memory, and other resources so that other programs can run.

Application programs are what you typically interact with directly. They are designed to perform a specific task for you. Your web browser, a video game, or a photo editor are all application programs.

You can think of the operating system as the foundation and electrical wiring of a house. The applications are the appliances you plug in, like a toaster or a TV. The appliances need the house's systems to function, but they are what you use to get things done.

Quiz Questions 1/5

What is the best analogy for an algorithm?

Quiz Questions 2/5

In programming, a combination of values, variables, and operators that results in a new value (e.g., userAge + 5) is called a(n) ____.

Understanding these core concepts provides a foundation for learning any programming language. It’s all about breaking down problems and giving the computer clear, logical instructions to solve them.