DEV Community

Luiz Fernando Barbosa Gomes
Luiz Fernando Barbosa Gomes

Posted on

Learning Python from Scratch

  1. INTRODUCTION
    Entering the world of technology and taking the first steps into programming is an enriching milestone. My journey into the universe of code began in 2023, when I started my studies at the Federal Institute of Paraíba (IFPB). It was at this institution that I had my first encounter with the Python language, starting absolutely from scratch.
    As a beginner, my initial experiences focused on grasping the essential fundamentals of programming logic: data structures, input and output commands, mathematical operators, and—in particular—repetition structures (such as the while loop). Although Python is renowned for its clean and accessible syntax, tackling these initial concepts required shifting my mindset from traditional logic to computational logic, transforming abstract reasoning sequences into structured, deterministic routines.

  2. CHALLENGE
    During my first practical exercises at IFPB, the main challenge was translating a real-world problem—or a mathematical concept—into executable commands that the computer could understand, without resorting to "shortcuts" or pre-built functions from the language's ecosystem.
    A notable example was solving basic math problems using only while loops and simple addition and multiplication operators (such as calculating a number's power without using the native ** operator or the math library). The challenge wasn't just to "make it work," but to manually control the application's flow: initializing counters, defining correct termination conditions, and avoiding the classic infinite loop trap.

  3. LESSONS LEARNED
    Overcoming these initial obstacles provided valuable insights into the foundations of computer science:
    Flow Control with while: Understanding how to execute instructions repeatedly as long as a condition remains true, and how to manipulate control variables (incrementing and decrementing) within the code block.

  4. APPLICATION
    The logic developed through mastering repetition structures—such as the while loop—forms the backbone of software development. This foundational knowledge applies directly to various sectors of the technology market:
    System Development: Building routines that process data continuously until a user decides to stop or a specific condition is met (e.g., interactive menus and background services).
    Task Automation (Scripting): Scanning files in directories, continuously reading task lists, and automating repetitive processes in corporate environments.
    Data Analysis and Processing: Sequentially reading large volumes of data (ETL processes) and rigorously validating inputs in forms and APIs.

  5. REFLECTION
    Starting my journey with Python at IFPB in 2023 provided the essential foundation to significantly strengthen my path in Systems Analysis and Development. Programming is not about memorizing complex syntax; rather, it is about developing the ability to solve problems in a structured, elegant, and efficient manner.

Mastering fundamental logic from the start instills the confidence needed to advance to more complex topics, such as Object-Oriented Programming, advanced data structures, and industry-standard frameworks. Every small algorithm solved represents an essential step toward building a solid and consistent career in the technology field. •

Problem Decomposition: Understanding that a seemingly complex problem becomes simple when broken down into fundamental operations (for example, grasping that multiplication is a sequence of successive additions).
Algorithmic Reasoning: Developing the discipline of mapping out the solution step-by-step on paper or in pseudocode before writing the first line of Python code.

Top comments (0)