Pre-requisite of :
PF/OOP: https://sites.google.com/view/pf-ucp-2018/
DSA: https://sites.google.com/view/dsa-ucp2017/home
DM: https://sites.google.com/view/ds-ucp-2017/home
Algo: https://sites.google.com/view/algo-ucp-2017/home
ITC/PF: https://sites.google.com/view/itc-ucp-2017
What is Computer?
What is Computation?
What is Algorithm?
Guessing Game
Introduction to Logarithm
Finding Heaviest ball problem
Sarim-Katrina Proposal story (the introduction to Cryptography)
Parallelism (Counting problem)
Introduction to Exponential functions.
(Video Lecture - recorded at UCP: Youtube-Playlist): Lecture 1-Playlist
Pre-requisite of :
PF/OOP: https://sites.google.com/view/pf-ucp-2018/
DSA: https://sites.google.com/view/dsa-ucp2017/home
DM: https://sites.google.com/view/ds-ucp-2017/home
Algo: https://sites.google.com/view/algo-ucp-2017/home
ITC/PF: https://sites.google.com/view/itc-ucp-2017
What is Computer?
What is Computation?
What is Algorithm?
Guessing Game
Introduction to Logarithm
Finding Heaviest ball problem
Sarim-Katrina Proposal story (the introduction to Cryptography)
Parallelism (Counting problem)
Introduction to Exponential functions.
(Video Lecture - recorded at UCP: Youtube-Playlist): Lecture 1-Playlist
Measuring Water Using Cans.
Counting Handshakes in class.
Gauss's proof of Arithmetic Series
Log_3 N: Generalization of searching the Heaviest Ball.
Calendar formation of a month using Two cubes
Logical reasoning (Given 5 white beans And 10 Black Beans And a drawing criteria which will be the last ball in the pot.
Prune and search technique
Geometric Series.
Finding the trustworthy person out of trustworthies and untrustworthies
(Video Lecture - recorded at UCP: Youtube-Playlist): Lecture 2-Playlist
Assignment # 1 (Logical and Computational Thinking)
Playing with angles
Drawing Circle/Circular Spiral/Rectangular Spiral
Drawing Different Patterns
My Previous Lecture 3 at UCP: Introduction to Scratch: Lecture 3-Playlist
My Previous Lecture 4 at UCP: Playing with Angles: Lecture 4-Playlist
Reading Material: Chapter 2 - Dive into Scratch with Educational Games
Assignment # 2 - Scratch CHALLENGES
Reading Material: Chapter 2 - Dive into Scratch with Educational Games
Assignment # 2 - Scratch CHALLENGES
Why we need C++
"Hello World" program...!
Using cout
String Messages printing/Maths expression printing
Printing a Table with all fixed values
Introduction to variable
Introduction to memory and assignment statement
Why generic coding is important
Using cin
Take input from user
Introduction to Iteration
While loop and generalized Table Printing
(Video Lecture - recorded at UCP: Youtube-Playlist): Lecture 5-Playlist
Reading Material: Chapter 3 - Introduction To C++ Language
Data Type Integers and operators (+, -, / , * , %)
Digits summation problem
If Statement
Block statements
If else Statement
if else if .... else
Checking divisibility (Using Modulus % operator)
Compound Statement ( AND: && and OR: ||)
Finding Maximum out of the three numbers
Why (N1<N2<N3) is a wrong statement
The Problem of repeating the same structure again and again (The Need of function)
Character Data-Type
ASCII values
Capital or Small letter
(Video Lecture - recorded at UCP: Youtube-Playlist): Lecture 6A-Playlist
Assignment # 3 - Conditional Statement
Reading Material: Chapter 4 - Selection Statements
Rock/Paper and Scissor Game
Reading the Error-Log
Using getch() function and printing '****' in password style for the two players
Calculator
Using integers and character together
How input stream (cin works)
Finding the section with highest aggregate
Finding the students who has the highest aggregate marks in total
Digit by Digit printing
Switch Statement
Given 4 points are these the points of a Rectangle, Square, Parallelogram, Rhombus or Just a Quadrilateral
(Video Lecture - recorded at UCP: Youtube-Playlist): Lecture 6B-Playlist
Assignment # 3 - Conditional Statement
Reading Material: Chapter 4 - Selection Statements
Finding the Section of the course which wins as total aggregate
Finding the Students who got the highest %age in the semester result.
Digits by Digits printing
Switch Statement
Given 4 points are these the points of a Rectangle and a point P find if P lies inside the rectangle.
Ceiling/Flooring a floating a value.
The Idea of Functions
(Video Lecture - recorded at UCP: Youtube-Playlist): Lecture 07-Playlist
Assignment # 3 - Conditional Statement
Reading Material: Chapter 4 - Selection Statements
What is function?
Many examples of proto-type of functions
Factorial
Distance
Integers Distance Square
Power
Sqrt
MinOfTheThreeNumbers/MaxOfTheThreeNumbers/MiddleOfTheThreeNumbers
Multiple of Each Other
IsCapital/IsSmall
CapitalSmallOrNon
ROCK-Paper-Scissor using functions
Functional Representation of the constructs.
Digit to Words conversion.
(Video Lecture - recorded at UCP: Youtube-Playlist): Lecture 8-Playlist
Assignment # 4 - IFs Assignment Revisited
Reading Material: Chapter 5 - Divide, Conquer and Rule
Converting all the problems of IF's assignment into Menu-based programs.
STOP-watch
A small animations based on a small delay and printing a Timer in Milli-Second, Seconds, Mins and hours in the following format
HH:MM:SS:MMM
Age Calculator
Given two dates validate them as Date of Birth and Data of Death or Current Data and calculate the age in years, months and days.
(Video Lecture - recorded at UCP: Youtube-Playlist): Lecture 9-Playlist
Assignment # 4 - IFs Assignment Revisited
Reading Material: Chapter 5 - Divide, Conquer and Rule
Age Calculator
Given two dates validate them as Date of Birth and Data of Death or Current Data and calculate the age in years, months and days. In case of Invalid entry ask again/Just like menu based.
Factorial and relatives
Factorial
NPR
NCR
Range-Summation based on division
(Video Lecture - recorded at UCP: Youtube-Playlist): Lecture 10A-Playlist
Reading Material: Chapter 5 - Divide, Conquer and Rule
Chapter 1: Elementary C++ Programming
Chapter 2: Fundamental Types
NUMERIC DATA TYPES, THE BOOLEAN TYPE, CHARACTER TYPES, INTEGER TYPES
ARITHMETIC OPERATORS, THE INCREMENT AND DECREMENT OPERATORS
Chapter 3: Selection
THE if STATEMENT, THE if..else STATEMENT, COMPARISON OPERATORS
STATEMENT BLOCKS
COMPOUND CONDITIONS
SHORT-CIRCUITING
BOOLEAN EXPRESSIONS
NESTED SELECTION STATEMENTS
THE else if CONSTRUCT
THE switch STATEMENT
THE CONDITIONAL EXPRESSION OPERATOR
(Video Lecture - recorded at UCP): Youtube-Playlist: Lecture 10B-Playlist
Loops(while loop) and Functions
Even and Odds frequency.
Finding Max of the streaming numbers (until the user enters -1).
Finding Min and Max together.
Loops (for loop and do while and while) and functions
Nested looping and functions
Finding GCD of two numbers
Finding LCM
Finding Reduced Fraction
Finding GCD of N numbers
(Video Lecture - recorded at UCP): Youtube-Playlist: Lecture 11-Playlist
Reading Material: Chapter 6 - Reusability and Extensibility
IsPerfectSquare
IntegerSquare
IsPrimeNumber
Various Implementation
PrimeFactorization using while loop
PrimeFactorization Using For loop
Reverse of a number
Decimal to Binary conversion
(Video Lecture - recorded at UCP: Youtube-Playlist): Lecture 12-Playlist
Reading Material: Chapter 6 - Reusability and Extensibility
Printing different Types of Shapes (Triangles, Diamonds, Pajamas and many more)
Divide and Conquer and re-usability
Shapes Printing + PrintACharacterKTimes
Implementation of PrintACharacterKTimes
Right-angled right Diagonal Triangle
Right-angled left Diagonal Triangle
Isosceles triangle
Printing Pajamas
How to Divide and Conquer and Reusability makes life very easy
Shapes Nested loop implementation and its comparison with functional implementation
(Video Lecture - recorded at UCP: Youtube-Playlist): Lecture 13- Playlist
Reading Material: Chapter 6 - Reusability and Extensibility
References
Its applications Variable Aliasing and multiple values returning through them
Introduction to Arrays (The need of arrays through Sorting) and initializing the arrays
Pictorial representation of arrays and how indexing works and The early computer virus
Initializing Random values and Bubble Sort
Debugging and step by step execution of Sorting
(Video Lecture - recorded at UCP: Youtube-Playlist): Lecture 14-Playlist
Assignment # 6- Sets *
Reading Material: Chapter 8 - References, Randomization, Arrays and Filing
Init (Initializing Prime numbers to array)
Finding Min Value Index from an array
Range Minimum and Selection Sorting
Get Extreme Values
(Video Lecture - recorded at UCP: Youtube-Playlist): Lecture 15-Playlist
Reading Material: Chapter 8 - References, Randomization, Arrays and Filing
Selection Sort
Insertion Sort
Reading from File
Multiple Arrays and Sorting
Arrays related problems
Finding Leaders
Finding Largest Sum Sequence
Finding Largest Contiguous Increasing Sequence
Reading Material: Chapter 8 - References, Randomization, Arrays and Filing
Chapter 6 of Deitel's Book
Introduction to Arrays and its pictorial implementation
Arrays
Declaring Arrays
Examples Using Arrays
Passing Arrays to Functions
Sorting Arrays
Case Study: Computing Mean, Median and Mode Using Arrays
Searching Arrays: Linear Search and Binary Search
(Video Lecture - recorded at UCP): Youtube-Playlist: Lecture 17-Playlist
(Connection with mathematical world and graphics basics)
Divide and Conquer and Rectangular Spiral Printing
Left to right (symbol writer)
Top to Bottom (symbol writer)
Left to Right (Symbol writer)
Bottom to top (Symbol writer)
Using the above 4 functions to design rectangular spirals
Erasing Rectangular Spiral
Using kbhit() function
MAKING ANIMATION as a screen saver
Code for Using Mouse and GotoRowCol Function
(Video Lecture - recorded at UCP: Youtube-Playlist): Lecture 18-Playlist
Circle Drawing using Polar Equation
Circles Drawing-Expanding and multiples
Multiple Circles Drawing with Different centers
Smiley Face and Fan printing
Fan Printing + Stone Throwing
Circular Spiral
Code for Using Mouse and GotoRowCol Function
(Video Lecture - recorded at UCP: Youtube-Playlist): Lecture 19-Playlist
Review of References
Address (&) Operator
Pointer Variable and Memory Map
The arithmetic of Pointers Addition/Subtraction
Connection with Arrays
Array name holds the address of the array: Or actually a constant pointer
A[offset] => *(A+offset) how the two statements are equal?
SwappingWithPointers Function
Scanf function and how it works using pointers
Types of Pointers
Heaps and Stacks Memory Management
Readings: Chapter 7 (SCHAUM's Series by Hubbard)
Assignment # 8 - Pointers and Arrays
(Video Lecture - recorded at UCP: Youtube-Playlist): Lecture 20-Playlist
Dynamic Memory Allocation (Code for reading from file through Dynamically allocation is here)
How to Use Allocate Memory (using by reference pointers passing and by pointer returning)
How to delete the space allocated on Heap through new (Using delete operator)
Strings and Pointers
Applications
Prison Break, E-voting, Students' Grading, Polynomials, and their arithmetic, etc.
Readings: Chapter 7 (SCHAUM's Series by Hubbard)
Assignment # 9 - Pointers and Arrays (Warm-up)
(Video Lecture - recorded at UCP: Youtube-Playlist): Lecture 21-Playlist
Double pointer and 2 Dimensional Array Allocation (Matrix allocation code is here) + Tutorial
Multiple directions of pointers
pointers to integers, pointers to pointers
Readings: Chapter 7 (SCHAUM's Series by Hubbard)
Assignment # 9 - Pointers and Arrays (Warm-up)
(Video Lecture - recorded at UCP: Youtube-Playlist): Lecture 22-Playlist
Function Pointers
Sorting (Ascending and Descending Using Function Pointers)
Summation Series - Using Function Pointers
C-Struct
Readings: Chapter 7, Function Pointers: Link1, How to Program C++ (Deitel 5.11 ), STRUCT: Link1, Link 2, Link 3
Assignment # 10 - Function Pointers
(Video Lecture - recorded at UCP: Youtube-Playlist): Lecture 23-Playlist
Structs
Strings and how structs are allocated in memory
Structs array
Composition of structs
Readings: Chapter 7, Function Pointers: Link1, How to Program C++ (Deitel 5.11 ), STRUCT: Link1, Link 2, Link 3
Assignment # 10 - Function Pointers
(Video Lecture - recorded at UCP: Youtube-Playlist): Lecture 24-Playlist
TicTacToe- 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
Annotating the validity of the move of the player
Discussion on the implementation of How the Game will be over Draw and Win Cases?
Init step and Printing
ifstream based Filing
Save/Load STEP in the game
Draw
WINNING CONDITIONS
DiagonalWin
Vertical and Horizontal Winning conditions
(Video Lecture - recorded at UCP: Youtube-Playlist): Lecture 25-Playlist-I
(Video Lecture - recorded at UCP: Youtube-Playlist): Lecture 26: Playlist (starts from 29:00)
Conway Game of Life
Playing with initialization
Mouse Control and a paint game
Main flow of Game
int mainGOL() {
char Sym = -37; int K = 0; char World[Rows][Cols];
Init(World, Sym);
do
{
RepopulateWorld(World, Sym);
DisplayWorld(World);
} while (true);
}
(Video Lecture): Not Available
GRID PRINTING
Box Printing
Printing Box Number
Printing in Box
Box Printing and Calculation of boundaries of the Box "Rows and Columns"
MAIN FLOW
File Reading (and reading the Snakes and Ladders from the file)
Printing Snakes and Ladders on the GRID
Dice Rolling I
Changing the position
Printing the players
Snakes bites
Ladders climb
Game Finishing
(Video Lecture(recorded at UCP): Youtube-Playlist): Lecture 28-Playlist-I
Snake Game - 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
Adding Game Over situation
Discussion on Extending to Multiplayer game
(Video Lecture(recorded at UCP): Youtube-Playlist): Lecture 29-Playlist
Discussing MAINFLOW
Memory Requirement
Discovering the ways HOW TO STORE THE PIECES IN THE BACKGROUND
(as alphabets and showing the pieces in a different fashion)
Initializing the Board
Displaying the Board in the form of a grid (8x8 grid)
Taking input coordinates by the player
BASIC Validating
whether the selected piece is the piece of the player
where the player placed is a legal destination (regardless of checking the move of the piece)
i.e. either it is a space character or opponent piece.
Updating memory
Turn Change
(Video Lecture - recorded at UCP: Youtube-Playlist): Lecture 30-Playlist
Updating MAINFLOW with MOVEMENT LEGALITY
Designing Six Utility functions
IsHorizontalMove
IsVerticalMove
IsDiagonalMove
IsHorizontalPathClear
IsVerticalPathClear
IsDiagonalPathClear
Designing the pieces' legal Moves under the abstraction of the Six utility functions
IsRookLegalMove
IsBishopLegalMove
IsQueenLegalMove
IsKingLegalMove
IsHorseMove
IsPawnLegalMove (including its special Move)
Incorporating these legal steps into one LEGALITYCHECK function
It should supervise the possible move to be considered or not
(Video Lecture - recorded at UCP: Youtube-Playlist): Lecture 31-Playlist
Pawn promotion
Saving each and every move
Save and Exit
Undoing a move
Replay of the game
Replay and start from where I press enter
Restart of the Game without saving
Check
Castling
Checkmate
Stalemate
Illegal Moves:
An illegal move is any move which results in a check or
A move within check which isn’t able to remove check is also an illegal move
(Video Lecture - recorded at UCP: Youtube-Playlist): Lecture 31-Playlist