feat: add ta slides conditions

This commit is contained in:
2025-11-30 23:39:59 +03:30
parent 338f344936
commit ae92e15f05
5 changed files with 59 additions and 47 deletions
+15 -15
View File
@@ -6,7 +6,7 @@ This project is more than a collection of materials — its a living document
--- ---
## 🎯 Purpose and Vision ## Purpose and Vision
Our mission is to ensure that every student not only understands C++ concepts but can also **apply them confidently through coding, problem-solving, and projects.** Our mission is to ensure that every student not only understands C++ concepts but can also **apply them confidently through coding, problem-solving, and projects.**
@@ -15,7 +15,7 @@ To achieve that, we combine theory from lectures with practice, mentorship, and
--- ---
## 🧩 What This Repository Contains ## What This Repository Contains
| Section | Description | | Section | Description |
| ----------------- | ------------------------------------------------------------------------------------------- | | ----------------- | ------------------------------------------------------------------------------------------- |
@@ -27,7 +27,7 @@ All sections are written in **Markdown**, making them easy to read, modify, and
--- ---
## 👩‍🏫 Our Teaching Model ## Our Teaching Model
Our approach combines **theoretical coverage, active practice, and close mentorship**: Our approach combines **theoretical coverage, active practice, and close mentorship**:
@@ -54,7 +54,7 @@ Our approach combines **theoretical coverage, active practice, and close mentors
--- ---
## 🧭 Why We Document This ## Why We Document This
Were documenting everything we do for three major reasons: Were documenting everything we do for three major reasons:
@@ -69,14 +69,14 @@ Were documenting everything we do for three major reasons:
--- ---
## 🧠 Course Topics Overview ## Course Topics Overview
| Week | Topic | Description | Overview | Workshop | Assignment | | Week | Topic | Description | Overview | Workshop | Assignment |
| ---- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------- | --------------------------------------------------------- | ------------------------------------------------------------- | | ---- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | ---------------------------------------------------------------------------- |
| 1 | **Algorithmic Thinking & Problem-Solving** | Develop foundational skills in algorithm design: representing problems with flowcharts and pseudocode, and reasoning about step-by-step solutions. | [Overview](01-topics/01-problem-solving/0-Overview) | - | [Assignment](01-topics/01-problem-solving/2-Assignment) | | 1 | **Algorithmic Thinking & Problem-Solving** | Develop foundational skills in algorithm design: representing problems with flowcharts and pseudocode, and reasoning about step-by-step solutions. | [Overview](src/content/01-topics/01-problem-solving/0-Overview.md) | - | [Assignment](src/content/01-topics/01-problem-solving/2-Assignment.md) |
| 2 | **Introduction to C++ & Basic Programming Constructs & Data Types** | Get started with C++: setting up the IDE, basic syntax, compiling and linking, and simple programs. Understand fundamental data types, expressions and operations | [Overview](01-topics/02-basics-and-data-types/0-Overview) | [Workshop](01-topics/02-basics-and-data-types/1-Workshop) | [Assignment](01-topics/02-basics-and-data-types/2-Assignment) | | 2 | **Introduction to C++ & Basic Programming Constructs & Data Types** | Get started with C++: setting up the IDE, basic syntax, compiling and linking, and simple programs. Understand fundamental data types, expressions and operations | [Overview](src/content/01-topics/02-basics-and-data-types/0-Overview.md) | [Workshop](src/content/01-topics/02-basics-and-data-types/1-Workshop.md) | [Assignment](src/content/01-topics/02-basics-and-data-types/2-Assignment.md) |
| 3 | **Control Structures** | Move into control flow with logical operators, `if/else`, `switch`, loops, iteration and avoiding infinite loops. | | | | | 3 | **Control Structures** | Move into control flow with logical operators, `if/else`, `switch`, loops, iteration and avoiding infinite loops. | [Overview](src/content/01-topics/03-conditions-loops/0-Overview.md) | [Workshop](src/content/01-topics/03-conditions-loops/1-Workshop.md) | [Assignment](src/content/01-topics/03-conditions-loops/2-Assignment.md) |
| 4 | **Functions & Modular Design** | Learn how to design and call functions in C++, including `void` vs return-type, parameter passing, overloading, and thinking in modular pieces. | | | | | 4 | **Functions & Modular Design** | Learn how to design and call functions in C++, including `void` vs return-type, parameter passing, overloading, and thinking in modular pieces. | [Overview](src/content/01-topics/04-function-1/0-Overview.md) | [Workshop](src/content/01-topics/04-function-1/1-Workshop.md) | [Assignment](src/content/01-topics/04-function-1/2-Assignment.md) |
| 5 | **Arrays, Strings & Multidimensional Data** | Explore static arrays, C++ strings and multidimensional data structures. Incorporate memory-thinking in simple data manipulations. | | | | | 5 | **Arrays, Strings & Multidimensional Data** | Explore static arrays, C++ strings and multidimensional data structures. Incorporate memory-thinking in simple data manipulations. | | | |
| 6 | **Advanced Functions & Recursion** | Deepen function usage with recursion, higher-level thinking about how functions call themselves, and problem-solving patterns that leverage recursion. | | | | | 6 | **Advanced Functions & Recursion** | Deepen function usage with recursion, higher-level thinking about how functions call themselves, and problem-solving patterns that leverage recursion. | | | |
| 7 | **Pointers & Dynamic Memory** | Dive into pointers, dynamic memory allocation/deallocation (e.g., `new`, `delete`), pointer arithmetic, and how memory model impacts correct usage of arrays/strings. | | | | | 7 | **Pointers & Dynamic Memory** | Dive into pointers, dynamic memory allocation/deallocation (e.g., `new`, `delete`), pointer arithmetic, and how memory model impacts correct usage of arrays/strings. | | | |
@@ -86,7 +86,7 @@ Were documenting everything we do for three major reasons:
--- ---
## 🌍 Long-Term Goals ## Long-Term Goals
- Create a **sustainable, evolving educational model** that balances theory and practice. - Create a **sustainable, evolving educational model** that balances theory and practice.
- Encourage **open-source education** — anyone can learn from or contribute to our materials. - Encourage **open-source education** — anyone can learn from or contribute to our materials.
@@ -94,7 +94,7 @@ Were documenting everything we do for three major reasons:
--- ---
## 🧑‍🤝‍🧑 The Team ## The Team
- **Professor**: [Dr. Saeed Reza Kheradpisheh](https://github.com/SRKH) - **Professor**: [Dr. Saeed Reza Kheradpisheh](https://github.com/SRKH)
- **Head Teaching Assistant:**[ Mehrdad Shirvani](https://github.com/MehrdadShirvani) - **Head Teaching Assistant:**[ Mehrdad Shirvani](https://github.com/MehrdadShirvani)
@@ -110,7 +110,7 @@ Were documenting everything we do for three major reasons:
- [MohammadFazel Sadeghizad](https://github.com/Sadeghizad) - [MohammadFazel Sadeghizad](https://github.com/Sadeghizad)
- [Sadra Seyedtabaei](https://github.com/Sadra3st) - [Sadra Seyedtabaei](https://github.com/Sadra3st)
## 🤝 Contributing ## Contributing
We welcome contributions — whether youre a TA, a student, or an educator from another institution. We welcome contributions — whether youre a TA, a student, or an educator from another institution.
@@ -125,7 +125,7 @@ Please open a **pull request** or contact us.
--- ---
## 🏗️ Tech Stack ## Tech Stack
If this repository includes interactive code or materials, consider mentioning: If this repository includes interactive code or materials, consider mentioning:
@@ -136,7 +136,7 @@ If this repository includes interactive code or materials, consider mentioning:
--- ---
## 📜 License ## License
All materials are shared under the **Creative Commons Attribution-NonCommercial-ShareAlike (CC BY-NC-SA)** license. All materials are shared under the **Creative Commons Attribution-NonCommercial-ShareAlike (CC BY-NC-SA)** license.
Youre free to learn, adapt, and build upon our content — just credit the authors and share alike. Youre free to learn, adapt, and build upon our content — just credit the authors and share alike.
-1
View File
@@ -1,4 +1,3 @@
# **Course Objectives** # **Course Objectives**
The C++ Basic Programming Course introduces students to the foundations of programming through a practical and example-driven approach. With an emphasis on hands-on learning, this course helps students develop algorithmic thinking, write clean and correct C++ programs, and build confidence through structured practice. The C++ Basic Programming Course introduces students to the foundations of programming through a practical and example-driven approach. With an emphasis on hands-on learning, this course helps students develop algorithmic thinking, write clean and correct C++ programs, and build confidence through structured practice.
@@ -1,6 +1,12 @@
## 🔗 Download ## 🔗 Download
- [Download PDF](https://drive.google.com/file/d/1_e2c5by8f2r-sWSpjnioXWm16mUZFTtp/view?usp=sharing) - [Download PDF Part 1: Conditions](https://drive.usercontent.google.com/u/0/uc?id=1vfnQ_laMKsEC_zmaivymk1TVNjUbFUcF&export=download)
- [Download PDF Part 2: Loops](https://drive.usercontent.google.com/u/0/uc?id=1Je2HwQPD0UoEc9Z7vMaTNuz1vqpsBhw3&export=download)
## View PDF Online ## View PDF Online
<iframe src="https://docs.google.com/gview?embedded=true&url=https://drive.google.com/file/d/1_e2c5by8f2r-sWSpjnioXWm16mUZFTtp/view?usp=sharing" width="100%" height="700px" frameborder="0"> </iframe> ### Conditions
<iframe src="https://docs.google.com/gview?embedded=true&url=https://drive.usercontent.google.com/u/0/uc?id=1vfnQ_laMKsEC_zmaivymk1TVNjUbFUcF&export=download" width="100%" height="700px" frameborder="0"> </iframe>
### Loops
<iframe src="https://docs.google.com/gview?embedded=true&url=https://drive.usercontent.google.com/u/0/uc?id=1Je2HwQPD0UoEc9Z7vMaTNuz1vqpsBhw3&export=download" width="100%" height="700px" frameborder="0"> </iframe>
@@ -0,0 +1,7 @@
## 🔗 Download
- [Download PDF - Functions Part 1](https://drive.usercontent.google.com/u/0/uc?id=13seRj2kiH-IvU8PcU-18t9O4nDKsNpW5&export=download)
## View PDF Online
### Functions Part 1
<iframe src="https://docs.google.com/gview?embedded=true&url=https://drive.usercontent.google.com/u/0/uc?id=13seRj2kiH-IvU8PcU-18t9O4nDKsNpW5&export=download" width="100%" height="700px" frameborder="0"> </iframe>
+15 -15
View File
@@ -9,7 +9,7 @@ This project is more than a collection of materials — its a living document
--- ---
## 🎯 Purpose and Vision ## Purpose and Vision
Our mission is to ensure that every student not only understands C++ concepts but can also **apply them confidently through coding, problem-solving, and projects.** Our mission is to ensure that every student not only understands C++ concepts but can also **apply them confidently through coding, problem-solving, and projects.**
@@ -18,7 +18,7 @@ To achieve that, we combine theory from lectures with practice, mentorship, and
--- ---
## 🧩 What This Repository Contains ## What This Repository Contains
| Section | Description | | Section | Description |
| ----------------- | ------------------------------------------------------------------------------------------- | | ----------------- | ------------------------------------------------------------------------------------------- |
@@ -30,7 +30,7 @@ All sections are written in **Markdown**, making them easy to read, modify, and
--- ---
## 👩‍🏫 Our Teaching Model ## Our Teaching Model
Our approach combines **theoretical coverage, active practice, and close mentorship**: Our approach combines **theoretical coverage, active practice, and close mentorship**:
@@ -54,7 +54,7 @@ Our approach combines **theoretical coverage, active practice, and close mentors
--- ---
## 🧭 Why We Document This ## Why We Document This
Were documenting everything we do for three major reasons: Were documenting everything we do for three major reasons:
@@ -69,13 +69,13 @@ Were documenting everything we do for three major reasons:
--- ---
## 🧠 Course Topics Overview ## Course Topics Overview
| Week | Topic | Description | Overview | Workshop | Assignment | | Week | Topic | Description | Overview | Workshop | Assignment |
| ---- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------- | --------------------------------------------------------- | ------------------------------------------------------------- | | ---- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------ | ------------------------------------------------------------ | ---------------------------------------------------------------- |
| 1 | **Algorithmic Thinking & Problem-Solving** | Develop foundational skills in algorithm design: representing problems with flowcharts and pseudocode, and reasoning about step-by-step solutions. | [Overview](01-topics/01-problem-solving/0-Overview) | - | [Assignment](01-topics/01-problem-solving/2-Assignment) | | 1 | **Algorithmic Thinking & Problem-Solving** | Develop foundational skills in algorithm design: representing problems with flowcharts and pseudocode, and reasoning about step-by-step solutions. | [Overview](01-topics/01-problem-solving/0-Overview.md) | - | [Assignment](01-topics/01-problem-solving/2-Assignment.md) |
| 2 | **Introduction to C++ & Basic Programming Constructs & Data Types** | Get started with C++: setting up the IDE, basic syntax, compiling and linking, and simple programs. Understand fundamental data types, expressions and operations | [Overview](01-topics/02-basics-and-data-types/0-Overview) | [Workshop](01-topics/02-basics-and-data-types/1-Workshop) | [Assignment](01-topics/02-basics-and-data-types/2-Assignment) | | 2 | **Introduction to C++ & Basic Programming Constructs & Data Types** | Get started with C++: setting up the IDE, basic syntax, compiling and linking, and simple programs. Understand fundamental data types, expressions and operations | [Overview](01-topics/02-basics-and-data-types/0-Overview.md) | [Workshop](01-topics/02-basics-and-data-types/1-Workshop.md) | [Assignment](01-topics/02-basics-and-data-types/2-Assignment.md) |
| 3 | **Control Structures** | Move into control flow with logical operators, `if/else`, `switch`, loops, iteration and avoiding infinite loops. | | | | | 3 | **Control Structures** | Move into control flow with logical operators, `if/else`, `switch`, loops, iteration and avoiding infinite loops. | [Overview](01-topics/03-conditions-loops/0-Overview.md) | [Workshop](01-topics/03-conditions-loops/1-Workshop.md) | [Assignment](01-topics/03-conditions-loops/2-Assignment.md) |
| 4 | **Functions & Modular Design** | Learn how to design and call functions in C++, including `void` vs return-type, parameter passing, overloading, and thinking in modular pieces. | | | | | 4 | **Functions & Modular Design** | Learn how to design and call functions in C++, including `void` vs return-type, parameter passing, overloading, and thinking in modular pieces. | [Overview](01-topics/04-function-1/0-Overview.md) | [Workshop](01-topics/04-function-1/1-Workshop.md) | [Assignment](01-topics/04-function-1/2-Assignment.md) |
| 5 | **Arrays, Strings & Multidimensional Data** | Explore static arrays, C++ strings and multidimensional data structures. Incorporate memory-thinking in simple data manipulations. | | | | | 5 | **Arrays, Strings & Multidimensional Data** | Explore static arrays, C++ strings and multidimensional data structures. Incorporate memory-thinking in simple data manipulations. | | | |
| 6 | **Advanced Functions & Recursion** | Deepen function usage with recursion, higher-level thinking about how functions call themselves, and problem-solving patterns that leverage recursion. | | | | | 6 | **Advanced Functions & Recursion** | Deepen function usage with recursion, higher-level thinking about how functions call themselves, and problem-solving patterns that leverage recursion. | | | |
| 7 | **Pointers & Dynamic Memory** | Dive into pointers, dynamic memory allocation/deallocation (e.g., `new`, `delete`), pointer arithmetic, and how memory model impacts correct usage of arrays/strings. | | | | | 7 | **Pointers & Dynamic Memory** | Dive into pointers, dynamic memory allocation/deallocation (e.g., `new`, `delete`), pointer arithmetic, and how memory model impacts correct usage of arrays/strings. | | | |
@@ -85,7 +85,7 @@ Were documenting everything we do for three major reasons:
--- ---
## 🌍 Long-Term Goals ## Long-Term Goals
- Create a **sustainable, evolving educational model** that balances theory and practice. - Create a **sustainable, evolving educational model** that balances theory and practice.
- Encourage **open-source education** — anyone can learn from or contribute to our materials. - Encourage **open-source education** — anyone can learn from or contribute to our materials.
@@ -93,7 +93,7 @@ Were documenting everything we do for three major reasons:
--- ---
## 🧑‍🤝‍🧑 The Team ## The Team
- **Professor**: [Dr. Saeed Reza Kheradpisheh](https://github.com/SRKH) - **Professor**: [Dr. Saeed Reza Kheradpisheh](https://github.com/SRKH)
- **Head Teaching Assistant:**[ Mehrdad Shirvani](https://github.com/MehrdadShirvani) - **Head Teaching Assistant:**[ Mehrdad Shirvani](https://github.com/MehrdadShirvani)
- **Teaching Assistants (Alphabetical by Last Name):** - **Teaching Assistants (Alphabetical by Last Name):**
@@ -108,7 +108,7 @@ Were documenting everything we do for three major reasons:
- [MohammadFazel Sadeghizad](https://github.com/Sadeghizad) - [MohammadFazel Sadeghizad](https://github.com/Sadeghizad)
- [Sadra Seyedtabaei](https://github.com/Sadra3st) - [Sadra Seyedtabaei](https://github.com/Sadra3st)
## 🤝 Contributing ## Contributing
We welcome contributions — whether youre a TA, a student, or an educator from another institution. We welcome contributions — whether youre a TA, a student, or an educator from another institution.
@@ -122,7 +122,7 @@ Please open a **pull request** or contact us.
--- ---
## 🏗️ Tech Stack ## Tech Stack
If this repository includes interactive code or materials, consider mentioning: If this repository includes interactive code or materials, consider mentioning:
- **Markdown** for documentation - **Markdown** for documentation
@@ -132,7 +132,7 @@ If this repository includes interactive code or materials, consider mentioning:
--- ---
## 📜 License ## License
All materials are shared under the **Creative Commons Attribution-NonCommercial-ShareAlike (CC BY-NC-SA)** license. All materials are shared under the **Creative Commons Attribution-NonCommercial-ShareAlike (CC BY-NC-SA)** license.
Youre free to learn, adapt, and build upon our content — just credit the authors and share alike. Youre free to learn, adapt, and build upon our content — just credit the authors and share alike.