# CSE204 / C++

## Syllabus

{% file src="<https://4284216567-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FpXGn0qcI0EFL0b2TCKET%2Fuploads%2FWSxsh47kOL7NUysHn7Ip%2FCSE204-Syllabus-BTECH-IT.pdf?alt=media&token=dee32a67-a2f6-435f-b5cb-85ee1a3d6b8b>" %}

{% hint style="info" %}
The official Syllabus of 2nd Semester BTech for CSE204/ASET aims to cover C++ but falls short in doing so as it only focusses on certain aspects of OOPS in context of C++.

* We recommend you cover the "Complete C++" from start to end at an intermediate level and not run behind the official syllabus.
* For your assistance a PDF is attached at the end of this page under the section "**External Sources**" taken from IISC Bangalore.
  {% endhint %}

## Resources

<details>

<summary>M1: Introduction to OOP </summary>

**Review of C**&#x20;

* \[🌐] [Difference between C and C++](https://www.freecodecamp.org/news/c-vs-cpp-whats-the-difference/)
* \[🌐] [Procedure-Oriented vs. Object-Oriented Approach. ](https://www.tutorialspoint.com/differences-between-procedural-and-object-oriented-programming)

**Basic Concepts**&#x20;

* \[🌐] [Principles of Object-Oriented Programming](https://khalilstemmler.com/articles/object-oriented/programming/4-principles/)
* \[🌐] [Binding: Static & Dynamic](https://www.scaler.com/topics/static-binding-and-dynamic-binding/)
* \[🌐] [Message Passing](https://www.scaler.com/topics/oops-concepts-in-cpp/)&#x20;

\[🌐] [**Characteristics of Object-Oriented Languages** ](https://www.interviewbit.com/blog/characteristics-of-object-oriented-programming/)

\[🌐] [**Object-Oriented Modeling Techniques** ](https://ashishprajapati29.wordpress.com/wp-content/uploads/2016/07/object-oriented-modeling-in-java.pdf)

</details>

<details>

<summary>M2: Classes &#x26; Objects</summary>

\[🌐] [Objects and Classes](https://www.scaler.com/topics/cpp/class-and-object-in-cpp/)

\[🌐] [Operators](https://www.tutorialspoint.com/cplusplus/cpp_operators.htm)

\[🌐] [Functions](https://www.tutorialspoint.com/cplusplus/cpp_functions.htm)

\[🌐] [Constructors & Destructors](https://www.tutorialspoint.com/cplusplus/cpp_constructor_destructor.htm)

\[🌐] [Abstract Data Types ](https://www.scholarhat.com/tutorial/datastructures/abstract-data-type)

</details>

<details>

<summary>M3: Inheritance</summary>

\[🌐] [Types of Inheritance](https://msbrijuniversity.ac.in/assets/uploads/newsupdate/InheritanceinC++.pdf)

\[🌐] [Abstract Classes](https://www.scaler.com/topics/cpp/abstraction-in-cpp/)

\[🌐] [Method overriding](https://youtu.be/iJ516gI7HLY?si=l1meMCSaIr8Dzvih)

\[🌐] [Nesting of Classes](https://app.gitbook.com/s/7uMP7Ghb8mcjzaqhpGZJ/mat301)

</details>

<details>

<summary>M4: Polymorphism</summary>

\[🌐] [Types of Polymorphism](https://www.scaler.com/topics/cpp/polymorphism-in-cpp/)

\[🌐] [Function Overloading](https://www.scaler.com/topics/function-overriding-in-cpp/)

\[🌐] [Operator Overloading](https://www.scaler.com/topics/cpp/operator-overloading-in-cpp/)

\[🌐] [The 'this' Pointer](https://www.scaler.com/topics/cpp/this-pointer-in-cpp/)

\[🌐] [Virtual Functions](https://www.programiz.com/cpp-programming/virtual-functions)

\[🌐] [Abstract Class and Pure Virtual Function](https://www.programiz.com/cpp-programming/pure-virtual-funtion)

</details>

<details>

<summary>M5: Strings, Files and Exception Handling</summary>

\[🌐] [Manipulating Strings](https://www.tutorialspoint.com/cplusplus/cpp_strings.htm)

\[🌐] [Files Handling](https://www.scaler.com/topics/cpp/file-handling-in-cpp/)

\[🌐] [Exception Handling](https://eecs280staff.github.io/notes/24_Exceptions.html)

\[🌐] [Function Templates](https://www.scaler.com/topics/cpp/templates-in-cpp/)

\[🌐] [Class Templates](https://www.programiz.com/cpp-programming/class-templates)

\[🌐] [Standard Template Library (STL)](https://www.scaler.com/topics/cpp/) ***\[Module 12 on Link]***

</details>

## Notes

\[⤓] [CSE204-Endsem-PYQ-Pattern-Recognition](https://drive.google.com/file/d/1FllNsipR8L31hKYJw-wCAr9GsfOjA7V5/view?usp=drive_link)

{% embed url="<https://drive.google.com/file/d/1FllNsipR8L31hKYJw-wCAr9GsfOjA7V5/view?usp=drive_link>" %}

## Questions Directory

### Assignment Questions

\[⤓] \[PDF] [Assignment-CSE204-Btech](https://drive.google.com/file/d/1qhVdvzsdIGFGkD6R3ZRG-nRiwjusQ3YD/view?usp=drive_link)

### Previous Year Questions

\[⤓] \[PDF] [MidSem-PYQ-CSE204-Apr24-Btech](https://drive.google.com/file/d/1yR-IDKeKIGPvdUSE-beiDSvrd3UyoN9K/view?usp=drive_link)

{% embed url="<https://drive.google.com/file/d/1yR-IDKeKIGPvdUSE-beiDSvrd3UyoN9K/view?usp=drive_link>" %}

\[⤓] \[PDF] [EndSem-PYQ-CSE204-Jun22-Btech](https://drive.google.com/file/d/1fxNqJOR6ggkjk9GcU-uhPLbP36vQ6Vkw/view?usp=drive_link)

{% embed url="<https://drive.google.com/file/d/1fxNqJOR6ggkjk9GcU-uhPLbP36vQ6Vkw/view?usp=drive_link>" %}

\[⤓] \[PDF] [EndSem-PYQ-CSE204-Jun23-Btech](https://drive.google.com/file/d/11QjKG3frYur0YQVLRPRg5LCRR3GuknCm/view?usp=drive_link)

{% embed url="<https://drive.google.com/file/d/11QjKG3frYur0YQVLRPRg5LCRR3GuknCm/view?usp=drive_link>" %}

\[⤓] [EndSem-PYQ-CSE204-Jun25](https://drive.google.com/file/d/1xSbFZIIH2h-a5Xx7QsxozCTG69LtIKNj/view?usp=drive_link)

{% embed url="<https://drive.google.com/file/d/1xSbFZIIH2h-a5Xx7QsxozCTG69LtIKNj/view?usp=drive_link>" %}

## External Sources

{% embed url="<https://cs50.harvard.edu/x/>" %}

{% embed url="<https://youtu.be/LfaMVlDaQ24?si=-t8O4nvDsFRtToyz>" %}

**Indian Institute of Science (IISC) Bangalore: Complete C++**&#x20;

<https://cds.iisc.ac.in/wp-content/uploads/DS286.AUG2016.Lab2_.cpp_tutorial.pdf>

{% embed url="<https://cds.iisc.ac.in/wp-content/uploads/DS286.AUG2016.Lab2_.cpp_tutorial.pdf>" %}
IISC BANGALORE- DETAILED COVERAGE OF C++
{% endembed %}

{% embed url="<https://khalilstemmler.com/articles/object-oriented/programming/4-principles/>" %}
MUST READ
{% endembed %}

{% embed url="<https://www.scaler.com/topics/cpp/>" %}
RECOMMENDED
{% endembed %}

{% embed url="<https://www.tutorialspoint.com/cplusplus/index.htm>" %}

{% embed url="<https://www.geeksforgeeks.org/cpp-tutorial/>" %}

***

{% embed url="<https://mantavyam.notion.site/18152f7cde8880d699a5f2e65f87374e?pvs=105>" %}
Get Credited for sharing your Knowledge Source with your Peers
{% endembed %}

{% embed url="<https://mantavyam.notion.site/17e52f7cde8880e0987fd06d33ef6019>" %}
