← Back to Hub
Module 1 β€’ Week 1 β€’ Software Basics & What is Python?

Intro to Software & Python

Welcome! Let's explore the magic of computer programs, understand how software is built, and get introduced to Pythonβ€”the friendliest coding language in the world.

πŸ€– Welcome to the World of Code!

Imagine you have a friendly, super-fast toy robot. This robot can build anything out of Legos, draw pictures, and search the globe in a split second. But there's one catch: the robot doesn't know what to do until you write down a recipe card of instructions. That recipe card is a computer program!

1. How to Build Software (The 6 Steps of the SDLC)

Building a great computer app is like building a massive Lego castle. We follow 6 fun steps:

πŸ’‘ 1. Planning

Talking to friends and family to ask: 'What cool problems should our robot solve today?'

✏️ 2. Designing

Drawing pictures of the screens and layout blueprints on paper before writing code.

πŸ› οΈ 3. Coding

Writing the actual instruction recipe using a friendly language like Python.

πŸ” 4. Testing

Running your instructions to check if the robot trips over or makes mistakes (bugs), and fixing them!

πŸš€ 5. Deployment

Sharing your completed program with people all over the world so they can play it.

πŸ”§ 6. Maintenance

Adding new features and blocks later on to make your castle even bigger and better!

2. Low-Level vs. High-Level Programming Languages

Before writing code, it's important to understand how computers read our instructions. Languages are split into two main types based on how close they are to CPU instructions or human language:

πŸ’» Low-Level Languages

These are close to the computer's physical hardware. They are super fast and give exact control over memory, but are extremely difficult for humans to read or write.

  • Machine Code: Pure binary (1s and 0s). This is the only language a computer's CPU runs directly!
  • Assembly Language: Uses short abbreviations (e.g., MOV AX, 1 or ADD BX, CX) to directly tell the processor what instructions to do. Used for writing device drivers.

πŸš€ High-Level Languages

These are designed to be user-friendly, readable, and look like English. They hide complex hardware details, but need a compiler or interpreter to translate them to binary.

  • Python: Designed to look like plain English (e.g., print("Welcome!")), making it easy for beginners.
  • JavaScript: Used for creating interactive experiences on web pages.
  • C++ & Java: Powerful languages used for building games, desktop apps, and system backends.

3. Why Do We Create Software?

We build software for awesome reasons:

  • Task Automation: Getting our robot to handle boring, repetitive chores (like doing 10,000 math questions) in one second.
  • Solving Problems: Building maps to help travelers find their way or helping doctors cure sick patients.
  • Improving Communication: Letting us talk and share video games with friends thousands of miles away.
  • Entertainment: Creating cartoon animations, listening to music, and playing games.

4. What is Python?

Python is an extremely popular and user-friendly programming language. It was created by a software engineer named Guido van Rossum and released in 1991. Unlike other coding languages that look complex, Python was designed to look similar to standard English!

5. What is Python Used For?

Python is like a Swiss Army knife. It is used in almost every technology sector:

  • Web Development (Server-side): Building the invisible brain behind websites (like YouTube or Instagram).
  • Software Development: Building desktop programs and utilities.
  • Mathematics & Big Data: Analyzing huge spreadsheets and performing complex calculations.
  • System Scripting: Creating automated scripts that control computer shortcuts and tasks.

6. What Can Python Do?

Python is incredibly powerful and versatile:

  • It can create backend web applications on web servers.
  • It can connect to database systems to read, write, and modify files.
  • It can be used to handle large sets of data and perform complex math.
  • It can be used alongside other software programs to build custom automated workflows.
  • It is excellent for both **rapid prototyping** (making quick drafts of apps) and building full **production-ready** software.

7. Why Choose Python?

Developers love Python for several key reasons:

  • Cross-Platform: Python works on different platforms like Windows, Mac, Linux, and even mini-computers like Raspberry Pi.
  • Simple English-like Syntax: Reading Python is as natural as reading a book!
  • Fewer Lines of Code: You can accomplish tasks in 3 lines of Python that might take 10 lines in other languages (like Java or C++).
  • Runs on an Interpreter: Python code is executed line-by-line as soon as it is written, meaning you don't have to wait to run it!
  • Supports Multiple Paradigms: It allows you to write code in a procedural way, an object-oriented way, or a functional way.

8. Good to Know!

  • Python 3: The most recent major version of Python is Python 3, which we are learning in this course.
  • Where to Write Code: While you can type Python in a simple text editor, developers often use an **IDE** (Integrated Development Environment) like **Thonny**, **PyCharm**, **NetBeans**, or **Eclipse** to manage files and debug code easily.

9. Python Syntax compared to other languages

Python has two special design behaviors that make it unique:

  1. New Lines for Commands: Other languages use semicolons (;) or parentheses to mark the end of a command. Python simply uses a **new line**!
  2. Indentation defines Scope: In other languages, curly brackets ({ }) are used to group blocks of code (like loops or functions). Python relies entirely on **indentation (whitespace)** to define the scope of blocks.

🧠 Active Retrieval Quizzes

Answer the following 10 multiple-choice questions to test your storage strength.

Question 1: Who created Python and in what year was it released?

Explanation: Guido van Rossum created Python, which was released in 1991.

Question 2: What is the primary design focus of Python's language syntax?

Explanation: Python was explicitly designed to be readable, clean, and similar to the English language.

Question 3: How does Python mark the end of a command block, unlike other languages?

Explanation: Python uses a new line to complete a command, rather than character markers like semicolons.

Question 4: What mechanism does Python use to define code block scope (like functions and loops)?

Explanation: Python relies entirely on indentation (whitespace) to determine scope and nested code structure.

Question 5: What does it mean that Python runs on an "Interpreter" system?

Explanation: An interpreter translates and executes instructions step-by-step as soon as it runs, enabling rapid prototyping.

Question 6: Which of the following is a dedicated IDE useful for writing larger Python files?

Explanation: Pyocharm is a popular Integrated Development Environment (IDE) designed specifically for Python.

Question 7: In the SDLC (Software Lifecycle), what is "Testing"?

Explanation: Testing involves running programs, looking for logic bugs, and making sure the robot behaves correctly.

Question 8: What is a key characteristic of a high-level programming language?

Explanation: High-level languages (like Python) are designed to be readable and understandable by humans, using English-like syntax, but they require translation to binary for the CPU to execute them.

Question 9: What is task automation in software development?

Explanation: Automation uses coding loops and logic to execute tedious tasks automatically without human intervention.

Question 10: Which step of building software involves launching the finished game to the public?

Explanation: Deployment means installing, uploading, or sharing your finished code on standard web servers or store sites.
πŸ’¬ Teacher Consultation

Stuck on any concept, or want to explore an edge case? Don't hesitate to ask follow-up questions to your instructor! Active questioning helps build storage strength.

πŸ“‹ Progress Status

Lesson Complete?

πŸ“Œ Check the box above to mark this weekend's lesson complete. Your dashboard status ring will update automatically.