> For the complete documentation index, see [llms.txt](https://thesigmaschool.gitbook.io/home/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://thesigmaschool.gitbook.io/home/course-curriculum/programming-fundamentals-using-c++.md).

# Programming Fundamentals using C++

**Course Description**

Build a strong programming foundation with C++ by learning how to think like a programmer and solve problems with confidence. This course is designed for beginners and covers everything from coding fundamentals to object-oriented programming, making it an ideal starting point for college students preparing for internships and placements.

**Course Duration:** 8 Weeks

**Class Schedule:**

* 3 Classes per Week
* 1.5 Hours per Class

**Batch Timings:** Multiple batches available.

**Seat Availability:** Limited seats per batch.

**Contact:** Contact the institute for batch timings, seat availability, and enrollment details.

***

### Detailed Course Curriculum

<details>

<summary><strong>Module 1: Introduction to Programming &#x26; C++</strong></summary>

* Understand how programming works and how computers execute code.
* Set up VS Code and the C++ development environment.
* Write your first C++ program.
* Learn the program structure and compilation process.

</details>

<details>

<summary><strong>Module 2: C++ Fundamentals</strong></summary>

* Variables, data types, and operators.
* Input and output using `cin` and `cout`.
* Type casting and expressions.
* Writing clean and readable code.

</details>

<details>

<summary><strong>Module 3: Decision Making &#x26; Loops</strong></summary>

* `if`, `else`, and `switch` statements.
* `for`, `while`, and `do-while` loops.
* Pattern printing and logical thinking exercises.
* Nested loops and control statements.

</details>

<details>

<summary><strong>Module 4: Functions &#x26; Memory Concepts</strong></summary>

* Creating reusable functions.
* Parameter passing and return values.
* References and variable scope.
* Introduction to memory management.

</details>

<details>

<summary><strong>Module 5: Arrays &#x26; Strings</strong></summary>

* One-dimensional and two-dimensional arrays.
* Character arrays and string manipulation.
* Searching and basic array operations.
* Practical coding exercises.

</details>

<details>

<summary><strong>Module 6: Pointers &#x26; Dynamic Memory</strong></summary>

* Understanding memory addresses and pointers.
* Pointer arithmetic and dereferencing.
* Dynamic memory allocation using `new` and `delete`.
* Common pointer mistakes and debugging.

</details>

<details>

<summary><strong>Module 7: Object-Oriented Programming</strong></summary>

* Classes and objects.
* Constructors and destructors.
* Inheritance and polymorphism.
* Encapsulation and abstraction.
* Building object-oriented applications.

</details>

<details>

<summary><strong>Module 8: Advanced C++ Concepts</strong></summary>

* Structures and unions.
* Function and class templates.
* Lambda functions.
* Exception handling using `try`, `catch`, and `throw`.

</details>

<details>

<summary><strong>Module 9: STL &#x26; Modern C++</strong></summary>

* Working with vectors, pairs, and iterators.
* Introduction to the Standard Template Library.
* File handling in C++.
* Modern C++ coding practices.

</details>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://thesigmaschool.gitbook.io/home/course-curriculum/programming-fundamentals-using-c++.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `build a script that syncs our docs to a CMS` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
