Skip to content
Open
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@

SQL Basics: MySQl: Practice Creating Databases, Tables and Performing Crud in c#.

(Batch 23/24/25)

Lesson Date: 10|02|2025.

Introduction:
This course is designed to provide you with essential skills in SQL and database management using MySQL,
with a specific focus on integrating these skills into C# applications.

During this course, we will cover the following topics:

1. What Object Relation Mapper(ORM) Is:

Materials Used:
Dotnet Tutorials.
W3 Schoool Tutorials.
Udemy video.

2. Types Of Object Relational Mapper(ORM):

Materials Used:
Dotnet Tutorials.
W3 Schoool Tutorials.
Udemy video.

3. Installation of Mysql.Data(External Package):

Materials Used:
Udemy video.
Internet.

4. Explanation of Important Classes and Method in Myqsl.Data Namespace.

Materials Used:
Dotnet Tutorials.
Udemy video.

5. Importance of Opening and Closing Conncection.

Materials Used:
Dotnet Tutorials.
Udemy video.

6. How To Use Connection String in c# Applications.

Materials Used:
Dotnet Tutorials.
Udemy video.


7. How To Connect c# Applications To MySQL Database.

Materials Used:
Dotnet Tutorials.
Udemy video.

8. Create Databases and Tables:

Materials Used:
W3 Schoool Tutorials.
Udemy video.
Intrnet.

9. Build Practical Application Using Student Entity, To Perform Crud Operation.

Materials Used:
Udemy video.

Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@

Introduction To Databases : Overview Of Sql And Relational Databases.
(Batch 23/24/25)

Lesson Date: 10|02|2025.

Introduction:
A database is an organized collection of data that can be easily accessed, managed, and updated.
They allow for efficient data storage, retrieval, and manipulation, which is essential for dynamic applications.

Relational databases are a specific type of database that stores data in tables (or relations). Each table consists of rows and columns,
where each row represents individual entry or a record that exists in a table and each column holds specific information about
every record in the table.

SQL (Structured Query Language) as the standard language used to communicate with relational databases. It is used for querying, updating,
and managing data.

During this course, we will cover the following topics:


1. What a Database Is.

Material Used:
Dotnet Tutorials.
W3 Schoool Tutorials.

2. The Types of Databases.

Material Used:
Dotnet Tutorials.
W3 Schoool Tutorials.
Udemy video.

3. What a Relational Database Is.

Material Used:
Dotnet Tutorials.
W3 Schoool Tutorials.
Udemy video.

4. Types Of Relational Database.

Materials Used:
Dotnet Tutorials.
W3 Schoool Tutorials

5. What SQL is.

Materials Used:
Dotnet Tutorials.
W3 Schoool Tutorials.
Udemy video.

6. The Most Important SQl Command

Materials Used:
Dotnet Tutorials.
W3 Schoool Tutorials.
Udemy video.

7. Installation of Mysql with Mysql Workbench.

Materials Used:
Udemy Video.

8. Write SQl Querry with Mysql and Workbench.

9. Data Types in Mysql.

Materials Used:
Udemy video

10. What Primary Key Is.

Materials Used:
Udemy video.

11. What Foreign Key Is.

Materials Used:
Udemy video.

12. Unique, Not Null, Null and Check Constraints.

Materials Used:
Udemy video.

13.Code examples will be provided.
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@

Search Algorithm: Binary
Practice Binary Search Algorithms
(Batch26).


Exercise Date: 02/18/2025.

Submission Date :02/22/2025.

Exercise 1:

Task: Implement a basic binary search algorithm in C#. Given a sorted array of integers and a target integer,
return the index of the target if it exists in the array; otherwise, return -1.

Exercise 2:

Task: Modify your binary search implementation to use recursion instead of iteration.
Write a recursive method that takes a sorted array and a target value and returns the index of the target.

Exercise 3:

Task: Write a method that uses binary search to find the number of occurrences of a given target value in a sorted array.
Return the count of occurrences.

Exercise 4:

Implement a method that finds the first and last position of a target value in a sorted array.
Return the positions as a tuple (firstIndex, lastIndex). If the target is not found, return (-1, -1).

Exercise 5:

Write a method that takes a sorted array and a target value and returns the index at which the target should be inserted to maintain
the sorted order. If the target already exists, return its index.

Exercise 6:

Given a rotated sorted array, implement a binary search algorithm to find the minimum element in the array.
The array was originally sorted in ascending order but was rotated at some pivot.

Exercise 7:

Write a method that searches for a target value in a rotated sorted array. Return the index of the target if found, or -1 if not found.

Exercise 8:
Implement a binary search algorithm to find a peak element in an array.
An element is considered a peak if it is greater than or equal to its neighbors. The array may not be sorted.

Exercise 9:
Write a method that uses binary search to calculate the square root of a given non-negative integer.
Return the integer part of the square root (i.e., the largest integer x such that x * x <= n).

Exercise 10:

Given a k x k sorted matrix (where each row and column is sorted),
implement a binary search algorithm to find the kth smallest element in the matrix.
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@

Sorting Algorithms: Bubble Sort
Implement and Analyze Bubble Sort.
(Batch26).


Exercise Date: 02/18/2025.

Submission Date :02/22/2025.

Exercise 1:

Task: Implement a basic Bubble Sort algorithm in C#. Given an array of integers,
sort the array in ascending order using the Bubble Sort technique.

Exercise 2:

Task: Modify your Bubble Sort implementation to include an optimization that stops the algorithm if no swaps are made during a pass.
This can improve performance for nearly sorted arrays.

Exercise 3:

Write a method that sorts an array of integers in descending order using the Bubble Sort algorithm.

Exercise 4:

Implement a Bubble Sort algorithm that counts the number of swaps made during the sorting process.
Return the total number of swaps after sorting the array.

Exercise 5:

Write a Bubble Sort method that sorts an array of strings in alphabetical order. Test your implementation with an array of names.

Exercise 6:

Create a class called Person with properties Name and Age and DateOfBirth.
Implement a Bubble Sort algorithm to sort a list of Person objects by DateOfBirth.

Exercise 7:

Write a method that sorts a 2D array (matrix) based on the values in the first column using the Bubble Sort algorithm.
If two rows have the same value in the first column, maintain their original order.

Exercise 8:

Implement a Bubble Sort algorithm that accepts a comparison delegate (Func) to allow sorting based on custom criteria (e.g., ascending, descending, or based on specific properties of objects).

Exercise 9:
Create a console application that visualizes the Bubble Sort process. Print the array after each swap to show how the sorting progresses.

Exercise 10:

Task: Write a Bubble Sort method that sorts an array of double values in ascending order.
Test your implementation with an array of floating-point numbers.

Exercise 11:

Before performing Bubble Sort, write a method that checks if an array is already sorted.
If it is sorted, return the original array without sorting.

Exercise 12:
Create a console application that prompts the user to enter a series of integers.
Store the integers in an array and then sort the array using the Bubble Sort algorithm. Finally, Implement binary search on the sorted array.
75 changes: 75 additions & 0 deletions Batch26/LessonMaterials/Batch26-Abstract-Classes-and-Methods.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@



Abstract Classes and Methods.

(Batch 26).

Lesson Date: 11/02/2025.

Introduction.
An abstract class serves as a blueprint for other classes. It cannot be instantiated on its own and is designed to be inherited by subclasses.
Abstract classes can contain both abstract methods (which have no implementation) and concrete methods (which do have implementation).
This allows for a mix of defined behavior and enforced structure in derived classes.

Abstract Methods: An abstract method is a method that is declared without an implementation.
Subclasses that inherit from the abstract class are required to provide concrete implementations for these methods.
This enforces a contract that ensures certain methods are implemented in derived classes,
promoting consistency across different implementations.

In this course, we will cover the following topics:

1. What Abstract Class is.

Materials Used:
Sharp Corner. com Material.
Programiz.com Material
Dotnet Tutorials.
Internet.

2. Inheriting an Abstract Class.

Materials Used:
Sharp Corner. com Material.
Programiz.com Material
Dotnet Tutorials.
Internet.

3. Implementation of Abstract Class with examples.

Materials Used:
Sharp Corner. com Material.
Programiz.com Material
Dotnet Tutorials.
Internet.

4. What Abstract Method is

Materials Used:
Sharp Corner. com Material.
Programiz.com Material
Dotnet Tutorials.
Internet.

5. Inheriting an Abstract Method.

Materials Used:
Sharp Corner. com Material.
Programiz.com Material
Dotnet Tutorials.
Internet.

6. Implementation of Abstract Method with examples.

Materials Used:
Sharp Corner. com Material.
Programiz.com Material
Dotnet Tutorials.
Internet.

7. Differences Between Method Overriding and Abstract Method

Materials Used:
Sharp Corner. com Material.

8. Code example will be provided
Loading