Professor Email: waqar.ahmad@lums.edu.pk
- Badar Shaban (Head TA)
- Hassnain
- Abdullah Somroo
- Talha
- Farrukh
- Usman Haider
- Saad Mehmoon
In this course we will expand upon the concepts learned in CS100
This GitHub repository serves as class notes and contains code from almost every concept taught in class, written in class.
Please refer to it, and try to run the code too. If you find any errors, feel free to change them and make a pull request. I will approve the pull request once I am able to review the code.
- Class 1
- Pointers
- 2D Arrays
- File Handling
- Class 2
- Activation Frame
- Function call
- Call by Ref, Call by Val
- Class 3
- Iteration
- Recursion
- Class 4
- Recursive Binary Search
- Lab 2
- Recursive Fibonacci Sequence
- Prime Numbers from 2 to N
- 2D Array Matrix Multiplication
- Practice Notes
- Variable pass by reference
- Variable pass by value
- Class 5
- Structs
- Classes
- Class 6
- Classes
- Scope Resolution operator
- Constructors
- Destructors
- Practice Notes
- Command Line Arguments
- Lecture 7
- Pointers -> Dynamic Memory allocation
- Dynamic Memory allocation for arrays
- Lecture 8
- Data structure - Stack - Class
- Quiz
- Recursion
- Lecture 9
- Friend Functions
- Operator Overloading
- Lecture 10
- Operator Overloading
- Further on Classes
- Pre Lab 5
- Integer Class -> Operator Overloading
- Assignment 2
- Vector Class -> make a vector class with all the necessary operators overloaded
- Lecture 11
- Copy Constructor
- Assignment Operator
- Lecture 12
- Dynamic 2D Array
- Inheritance
- Pre Lab 6
- Matrix Class -> All the operators overloaded
- Lecture 13
- Inheritance
- Static Variables - shared by all objects of a class
- Lecture 14
- Class Aggregation
- Singleton Pattern
- Assignment 3
- Classes
- Dynamic Memory Allocation
- RPG Game
- Lecture 15
- Polymorphism
- Virtual Functions
- Lecture 16
- Virtual Functions
- Abstract Classes
- Assignment 4
- Classes
- Inheritance
- Polymorphism
- Virtual Functions
- Abstract Classes
- RPG Game
- Pre Lab 8
- Classes
- Inheritance
- Polymorphism
- Virtual Functions
- Abstract Classes
- Date Class -> Complete the Date class with all the necessary operators overloaded
- Lecture 16
- Polymorphism
- Virtual Functions
- Lecture 17
- Virtual Functions
- Abstract Classes
- Canvas Class -> Shape Class -> Derived Shapes
- Rectangle
- Circle
- Triangle
--- Allows for drawing on the console
- Lecture 18
- File Handling
- fstream
- ifstream
- ofstream
- Lecture 19
- File Handling
- fstream
- ifstream
- ofstream
- Binary Files
--- NOTES TO ADD: Complete all cases of file handling
- ios::in -> opens file for input
- ios::out -> opens file for output
- ios::app -> opens file for appending
- ios::ate -> opens file for appending at the end -> the file pointer is at the end of the file
- ios::binary -> opens file in binary mode -> the file is opened in binary mode
- ios::trunc -> opens file and truncates it to 0 length -> it deletes all the contents of the file
- Lecture 20
- Exception Handling
- try
- catch
- throw
- Lecture 21
- Exception Handling
- try
- catch
- throw