IsPrime Numbers
IsFibonacci Numbers
Shapes Printing
Debugging
(Video Lecture 1: Youtube-Playlist): Recording Link - PART 1
Memory Discussion
Reference/Alias
Applications
Swap two values
Division (returning more than two values)
Need of Arrays
1 D Arrays Initialization
all 0's using for loop
all 0's during declaration
with 1,2,3,0,0,0..
and so on..
Passing arrays as a function parameter
Array addressing
sizeof (array) within or outside the function
Problems Discussion
initialize an array with Prime numbers and display
initialize an array with Fibonacci numbers and display
Binary Search idea
(Video Lecture 3: Youtube-Playlist): Recording Link
Swap two values
Watches
Call Stacks
const(keyword) - Capacity size array declaration
Initializing 1 D Array in a function
Init(int array[], int Capacity, int &Size)
Reading from File till -1 using ifstream
Array Printing
Finding minimum element index in an array
Selection Sort using
Find Min Index
Select Min from Range
Bubble Sort using
Bubble up
Naive to well-polished code
Searching in big Data
Binary Search and its Efficiency
(Video Lecture 4: Youtube-Playlist): Recording Link
Array Initialization
Taking input from user/file till -1
Finding Equilibrium index in an array
FindEquilibriumIndex(A[], Size)
ItIsEquilibriumIndex(A[], Size, ai)
Sort Even index values in ascending order
RangeSortAscWithGap(A[], si, ei, g=1)
RangeSortAsc(A[], si, ei, g)
Sort Odd index values in descending order
RangeSortDescWithGap(A[], si, ei, g=1)
RangeSortDes(A[], si, ei, g)
Quiz: Given an array
Sort array's first half even indexes in Ascending Order and odd indexes in Descending Order
Sort array's second half odd indexes in Ascending Order and even indexes in Descending Order
(Video Lecture 5: Youtube-Playlist): Recording Link - PART 1
Homeworks - Arrays Practice 2
Segregation Problems
Even and Odd values in an array
0's and 1's in an array
Alphabets in an array
Maintain the order in which you get values
Prime, Fibonacci and non-PrimeFibonacci numbers
Partition around an index (smaller on left and larger on the right)
Searching Problems
print all Leaders in an array
Finding Distinct and Unique Elements
Sort Unique elements in Ascending order
Sort Distinct elements in Descending order
Sort given array with respect to frequency using distinct and unique elements array
(Video Lecture 6: Youtube-Playlist): Recording Link
Problem Statement Discussion
Allocating required memory
Main-flow Discussion
Reading Data from a FILE
Nominated Parties and respective Votes
Results Compilation
Histogram Representation
Results Sorting (in Descending Order, Maintaining Indexes)
Handling two arrays at a time
Sorted Histogram Representation
(Video Lecture E-Voting: Youtube-Playlist): Recording Link
Introduction to Structs and an Array of Structs
Pictorially Memory Discussion on Array of Structs
Sorting Student Records using
Array of Student Structs
(Video Lecture 7: Youtube-Playlist): Recording Link
2 D Arrays Revision with Matrix Arithmetic
making A matrix struct
reading matrices from File
performing operations (addition + subtraction)
Generalized 2D TicTacToe (Gomoku) in C++
Memory usage in the game
Step by step division of the game's flow
Divide and Conquer
Internal Implementation of UNIT-STEPs
Init step and Printing
"ifstream" based Filing
Load STEP in the game
Validity of the move of the player
Discussion on the implementation of how the Game will Draw.
(Video Lecture 8: Youtube-Playlist): Recording Link
(Video Lecture: Recorded at FAST NUCES - Youtube-Playlist): Recording Link
Watch from 32:00 onwards for how to IsWin(..) Discussion
Window Searching from a Matrix
Matrix Reading from File
Searching K size submatrix with Maximum Sum
Displaying Maximum Sum
Displaying Maximum Sum Sub Matrix starting (ri, ci)
Matrices Operations
Matrices Rotation
Matrices Calculator Discussion
Addition/Subtraction
Scalar Multiplication
Scalar Subtraction
Equal or Not
Transpose
Prison Break Problem
Reading the Jail(Map) from file
Displaying the Jail(Map)
Finding the Prisoner Position
Finding the Top Left & Bottom Right corner of the Prison
Checking Prisoner Freedom
(Video Lecture 9 - LAB 3: Youtube-Playlist): Windows Searching (PART 1) - Recording Link
(Video Lecture 9 - LAB 3: Youtube-Playlist): Matrices Operations (PART 2) - Recording Link
(Video Lecture 9 - LAB 3: Youtube-Playlist): Prison Break (PART 3) - Link
Human vs Human
Main Flow Discussion
Implementation of IsWin(...)
IsHorizontalWin(...)
IsVerticalWin(...)
IsTopLeftToBottomRightDiagonalWin(...)
IsTopRightToBottomLeftDiagonalWin(...)
Human vs Computer
Main Flow Discussion
ComputerMove(...)
Validity of Computer Position - SelectPosition(...)
Undo/Redo approach
Check IsWin(Computer,...)
Check IsWin(Human,...)
Select a Computer position more intelligently
keeping a check of each Human move from 1 to Wincount
introducing 3 nested loops
(Video Lecture 11 - Youtube-Playlist): Recording Link
Making a Program with Non-blocking Console Input
_kbhit() and _getch() function
Making a Program with Non-blocking Console Input
Writing Anywhere on Console using GotoRowCol(...)
Find attached GotoRowCol.txt file
Enumeration in C++
Snake Game (Single & Multiplayer)
Main Flow - Memory usage of the game
Step by Step division of the game's flow
Divide and Conquer
Internal Implementation Details of UNIT-STEPs
Making Structs of player, snake, and food
Initialization
Moving Snake
Adding Directions
Adding Food
Capturing Food
Generating Food
Discussion on Extending to Multiplayer game
(Video Lecture 12 - Youtube-Playlist): Recording Link
Types of Pointers
Dynamic Memory Allocation - I
Working with Pointers in C/C++
(Video Lecture 13 - Youtube-Playlist): Recording Link
Dynamic Memory Allocation - II
Growable Arrays
(Video Lecture 14 - Youtube-Playlist): Recording Link
Dealing with const string "..."
initialization and declaration
char *FName = "Vs.txt" //error ?
Decimal to Binary
LoadAllVs(..)
InserAtEnd(..)
Print(..)
method 1 with DynamicArray struct
int** GetAllBinaryArrays(DynamicArray D)
int* Convert2Binary(int T)
InserAtEnd(..)
Flip Bits in Reverse Order (with half swaps technique)
PrintAllNumbersWithBinary(..)
PrintArrayEndsAt_1(..)
method 2 with DynamicMatrix struct
Allocating the DynamicMatrix
(Video Lecture 15 - Youtube-Playlist): Recording Link
History of Programming Languages
The Story of OOP
Introduction to Classes and Objects
Abstraction
Classes vs Structs
Objects Properties and Behaviour
Implementing First Class - Complex Numbers
Member Functions and Constructors
Complex Numbers Calculator
Reading N Complex Numbers from file
Perform Operations ( +, - , x , / )
Idea Discussion - Fraction Numbers Class
Member Functions and Constructors
Operations to be performed (+ , - , x , /)
L.C.M and G.C.D
(Video Lecture 16 - Youtube-Playlist): Recording Link
Complex Class + Fraction Class - Document Link
Time and Sales Person Class
Constructors and Destructors
Static/Global/Local Objects creation and destruction
Common Programming Errors
(Video Lecture 17 - Youtube-Playlist): Recording Link
An in-depth discussion on Dynamic Memory Allocation with 1 D and 2 D pointers
Detailed Memory Structure - Assignment of Addresses
(Video Lecture 18 - Youtube-Playlist): Recording Link
Character Arrays
Dynamic Memory Allocation with 3 D pointers
Detailed Memory Structure - How Addresses are Assigned
Morse Code - Encoding/Decoding scheme
Dealing with Pointers of Structs
struct MCode { char S, char Code[6] };
Morse Code to English text Conversion
English text to Morse Code Conversion
(Video Lecture 19 - Youtube-Playlist): Recording Link
Morse Code - Encoding/Decoding scheme (cont.)
Morse Code to English text Conversion
English text to Morse Code Conversion
Dealing with Pointers of Structs
struct MCode { char S, char Code[6] };
Memory Structure - How Addresses are Assigned
(Video Lecture 20 - Youtube-Playlist): Recording Link
Revisit Complex Number Class with Operations
Add/Sub/Mul/Div/Inverse
What is *this pointer?
Compound Fraction Class
Properties, and Behaviours
How *this pointer is passed in functions?
Calling Member function in another Member function
Compound Fraction Calculator
Reading N Compound Fraction Numbers from file
PrintAllFractions (.....)
Class Local Functions Implementation ( Add, Subtract, Mul , Div)
Utility Static Functions (L.C.M, G.C.D, Compound to Improper, Improper to Compound)
(Video Lecture 21 - Youtube-Playlist): Recording Link
Complex Class + Fraction Class - Document Link
Members Attributes (x, y, z)
Constructors, Destructors
Utility Functions
Read Vectors from file
Functions to Calculate the following
FindMagnitude
Unit Vector
Add/ Subtract
Cross Product
Dot Product
Projection Vector
Unit X Vector/ Unit Y Vector/ Unit Z Vector
Parallelogram Area
Vector 3D Calculator
(Video Lecture 22 - Youtube-Playlist): Recording Link
Vector 3D class - Document Link
Class Clock
Constructors
Attributes (hour, minutes, seconds, time zone and screen position)
Utility Functions
ReadAllClocks
GotoRowColumn
InitializeAllClocks (Clock* Cs, .......)
Member Functions
Increment One Second
Display Clock
(Video Lecture 23 - Youtube-Playlist): Recording Link
Clock Class - Document Link
GotoRowColumn Code - Link
MyString Class
Implement MyString Class following STL string Class
Constructors
Deep Copy/Shallow Copy
Destructor
Perform various Functions with multiple strings
(Video Lecture 24 - Youtube-Playlist): Recording Link
String Class - Document Link
Text Editor Class
Document Class
string DName, Line line, int NoOfLines
class Line {Cs, size}
Print - Save/Write in a Text file
Add Character anywhere on the Screen
Cursor Up/Down/Left/Right
Non-blockage input calls using _kbhit() - recalling Snake game
Update Document - making new objects of Line
Need of Copy Constructor - Deep Copy
Memory Allocation - Pictorial Representation
What are Friend Functions?
(Video Lecture 25 - Youtube-Playlist): Recording Link
Ultimate Text Editor - Document Link
Adding Ultimate Text Editor PART 2 Functionalities
(Video Lecture 26 - Youtube-Playlist) PART 1: Backspace/Delete/Enter (Recording Link)
(Video Lecture 26 - Youtube-Playlist) PART 2: Adding Control Keys (Recording Link)
Ultimate Text Editor - Document Link
In-depth Detailed Memory Structure
Dealing with Objects Addresses Assignment
(Youtube-Playlist) : Ultimate Text Editor - Memory Mapping (Recording Link)
Ultimate Text Editor - Document Link
What is Operator Overloading?
Different types of operators (Arithmetic, Relational, Logical, Bitwise, Assignment, Misc)
Bit-wise shifting (<<) applications
Doubling a Number
Changing ith bit of a Number
Changing all bits of a Number
Consequences after writing destructor in a class
Compiler calls '=' operator itself
Dangling Pointers arise due to Bit by Bit Copy of Objects
Fraction Number class and all its operations with operator overloading
operators overloading functions inside and outside class
cout '<<' operator overloading for class objects
Cascading Effects
(Youtube-Playlist) : Operator Overloading 1 (Recording Link)
Where and When a destructor is required to write?
Matrix Class
Figuring out attributes and possible Constructors
Matrix()
Matrix (int r, int c)
Matrix(ifstream&)
Matrix(const Matrix &)
const Matrix operator = (const Matrix &)
overloading cout '<<' operator inside the class
step by step functions implementation with pictorial memory representation
Memory Allocation and Reading
Copy Constructor and '=' operator Difference
iostream objects' access in the class with
a globally defined friend function for cout<<obj
a class local function for obj << cout
Power of functions' Reusability in OOP
(Youtube-Playlist) : Operator Overloading 2 (Recording Link)
Matrices Calculator in OOP - Document Link