DirAction

## Who Is This Program For?

For anyone and everyone who wants to learn programming! That’s true, you read that right. If you are someone with a non-tech background and want to develop a career in IT, this program is for you!

## Why You Should Enrol For This Program?

Career in technology is the future rather it is very much a need of today’s era where most of us are struggling to make our ends meet in the times of rising inflation coupled with financial and economic downturn. For those who do not have a background in tech, it is getting harder and harder to either find a job that pays well or find projects as a freelancer that give you a significant return in exchange of your time and effort. The answer to these problems lies in learning technology skills and the journey to that begins with getting hands-on with the ‘Fundamentals of Coding’.

### Who Is Sarfraz Raza?

Learning how to code was never that easy!

## Data Type Integers and operators (+, -, /, *, %)

Digits summation problem

## If Statement

(Block statements)

## if else if .... else

Checking divisibility (Using Modulus % operator)

## Compound Statement (AND: && and OR: ||)

Finding maximum out of the 5 numbers:
- Using 5 ifs and 4 conditions in each
- Using 5 ifs then else if .... and with one condition removed
- Using the efficient way of finding max (by maintaining max)

## Character Data-Type

- ASCII values
- Capital or small letter

## Digit By Digit Display

- Implementation using if then else statement
- Implementation using switch statement

## Introducing Functions as Black Box

(Implementing Digits Display as functions and avoiding multiple switch conditions)

- Using distance function
- and Print Quard Type

## Making Rock Paper Scissor Game

- Introducing getch function
- Winning Condition
- Displaying Game message
- Validating Input from the user
- Introducing replay of the game
- Simplifying input using TOUPPER function

## Introducing References (pass by reference in functions)

Memory and References
- Application
- SWAP function
- Divide function

## for loop vs while loop

Printing some series
1 2 3 4 5 6 7...
1 3 5 7 ....
1 1 3 6 5 11 7 16 9 21...

## Triangle Number

- Printing Triangle numbers sequence

## Input stream ending with -1

- Read an input stream and tell how many of the numbers were odds/evens???
- Read an input stream and tell the Maximum and Minimum

## Fibonacci numbers sequence

- Designing Fib(N) function - which returns the n'th fibonacci number
- Print the Fibonacci numbers sequence between a given range...

## Loops and Functions II

- int Integer Square Root (int N)
- bool Is Perfect Square (int N)
- bool Is Prime (int N) // with loop till sqrt(N)
- void Pythagorian Tripplets (int Range)
- void Find Tripplet Satisfying Equation (int T)
- int Reverse (int N)
- int IsPalindrome(int N)

## Shapes Printing

- void Print A Symbol K Times (int K, char Sym)
- void Print Triangle Left Right Angled (int Height, char Sym)
- void Print Triangle Left Right Angled Upside - - Down (int Height, char Sym)
- void Print Triangle Right_Right Angled (int Height, char Sym)
- void Print Triangle Equilateral (int Height, char Sym)
- void Printing Hollow Triangle (int Height, char Sym)

## Pointers and Memory

Application
- Writing SWAP function
- Discussion on SCANF of C function

## Arrays and its deeper connection with pointers

- Initialization
- Taking list of integers from User
- Its connection with [ ] and pointer based de-referencing.
- Finding Minimum from an array.
- Finding Maximum from an array.
- Finding Min/Max from an array.

## Init() function - Array Initialization

Initializing in different ways
0 1 2 3 .......
0 1 4 9 ......
0 2 4 6 ...... and so on

## Initializing random numbers using rand () function

- seed in random function and time (0)
- using srand (time (0)) function

## Initialization with input ending at -1

- Difference in Capacity and Size of an array

## Searching In An Array

- Finding first index of a specific element
- Finding last index of a specific element
- Finding index of Kth existence of a specific element
- Finding index of last Kth existence of a specific element

## Frequency Based Problems

- Finding frequency of a specific element in an array
- Finding frequency of all elements in an array
- Compute all DISTINCT elements
- Finding MODE of an array
- Finding all UNIQUE elements in an array

## Sorting

Bubble Sorting
- using Nested Loop
- using Bubbling () function in for () loop
- using boolean Change Happened and Bubbling () function in while () loop
- Range Minimum and Selection Sort

## Merging Arrays

- Simple Merging the sorted arrays
- Merging the sorted arrays in Sorted Order

## Segregation in Arrays

- Segregate smaller values on the left and larger values on the right of a specific value in an array

## Two Dimensional Arrays

- Array mapping function (how two dimensional arrays are stored as single dimensional array)
- How to access it
- How to print it.
#define global constants using preprocessor directives and how to take capacity as global variables.

## Two Dimensional Arrays Application

- Implementing Matrices
- Making Matrices Calculator
- Subtract function of Matrices
- Multiplication function of Matrices
- Transpose Function for Matrices

## 2D-World Traversals

- Row-wise, Columns-wise, diagonal-wise, and their several variants

## Introducing Structs

Implementing Two Dimensional Arrays handled with struct of Matrix with the following definition
struct Matrix
{
char FN[100];    int R, C;    int Vs[ROWS][COLS];
};

## Application - The Prison Break

- Making its mainflow
- Find Prisoner
- Find Top Left Corner of Room
- Find Bottom Right Corner of the Room
- Figuring out the prisoner's destiny