# 🧭 Topic: Problem Solving > [!info] Quick Overview > This foundational topic introduces the core skill of programming: problem-solving. It's not about writing code immediately, but about learning how to think logically and systematically. We will explore how to break down complex problems into smaller, manageable steps using a structured approach. By the end of this lecture, students will understand the principles of algorithmic thinking and be able to plan solutions using tools like flowcharts and pseudocode before writing a single line of code. --- ## 📌 Covered in This Topic - **The Art of Problem Solving:** An introduction to planning, creativity, innovation, and clearly defining the cause, goal, and potential solutions to a problem. *   **Stages of Algorithmic Thinking:** A 7-step logical process for solving problems: ```     1.  Define the Problem     2.  Analyze and Understand     3.  Identify Potential Solutions     4.  Evaluate and Choose a Solution     5.  Plan Actions     6.  Implement the Code     7.  Review the Results ``` *   **What is an Algorithm?** Defining an algorithm as a step-by-step procedure or a recipe for solving a problem. *   **Introduction to Flowcharts:** Learning to visualize the flow of a solution using standard symbols to represent actions, decisions, and data flow. *   **Introduction to Pseudocode:** Understanding how to write a plain-language, structured description of an algorithm's steps before translating it into a programming language. *   **Choosing the Best Algorithm:** An introduction to the criteria for evaluating different solutions, focusing on time and space efficiency, reliability, and simplicity. --- ## 📑 Slides & Materials - 🧑‍🏫 [TA Workshop Slides (PDF)](01-topics/01-problem-solving/5-TASlides.md) --- ## 🛠️ Workshop & Assignments - 🧮 [Assignments](01-topics/01-problem-solving/2-Assignment.md) --- ## 🌐 Additional Resources --- ## ⏩ Navigation - ➡️ [Next Topic: Basics of C++ & Data Types](../02-basics-and-data-types/0-Overview.md) --- > [!tip] Tip > If something doesn’t make sense — **don’t stay stuck alone**. Ask the TA to clarify it right away. Often, a quick question can save you a lot of time and frustration. Remember: if you’re confused, chances are others are too.