feat: add content
This commit is contained in:
@@ -1,46 +1,43 @@
|
||||
# 🧭 Topic: Basics of C++ & Data Types
|
||||
# 🧭 Topic: Problem Solving
|
||||
|
||||
> [!info] Quick Overview
|
||||
> This topic introduces how to compile and run C++ code, basic input/output, variables, built-in data types, and the math library.
|
||||
> By the end, students will be able to write simple C++ programs using variables and standard input/output streams.
|
||||
|
||||
> 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
|
||||
|
||||
- Introduction to compilation and code editors
|
||||
- `cin` / `cout` basic usage
|
||||
- Variables and naming conventions
|
||||
- Built-in data types (`int`, `float`, `double`, `char`, `bool`)
|
||||
- Type conversion
|
||||
- Using the math library
|
||||
|
||||
- **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
|
||||
|
||||
- 👨🏫 [Professor Slides (PDF)](./slides/prof.pdf)
|
||||
- 🧑🏫 [TA Workshop Slides (PDF)](./slides/ta.pdf)
|
||||
|
||||
---
|
||||
## 🛠️ Workshop & Assignments
|
||||
|
||||
- 💬 [Workshop Questions](./workshops)
|
||||
- 🧮 [Assignments](01-topics/01-problem-solving/1-Workshop.md)
|
||||
- ❓ [Q&A and Common Issues](./resources/qa.md)
|
||||
- 🧮 [Assignments](2-Assignment.md)
|
||||
|
||||
|
||||
---
|
||||
## 🌐 Additional Resources
|
||||
|
||||
- [C++ Reference](https://cplusplus.com/reference/)
|
||||
- [Learn C++](https://www.learncpp.com/)
|
||||
- [Data Types in C++ (W3Schools)](https://www.w3schools.com/cpp/cpp_data_types.asp)
|
||||
|
||||
_Add more useful links here as the course progresses._
|
||||
|
||||
---
|
||||
## ⏩ Navigation
|
||||
|
||||
- ⬅️ [Previous Topic: Problem Solving](../02-problem-solving/topic.md)
|
||||
- ➡️ [Next Topic: Conditions & Loops](../04-conditions-loops/topic.md)
|
||||
- ➡️ [Next Topic: Basics of C++ & Data Types](../02-basics-and-data-types/0-Overview.md)
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user