Manthan (मन्थन), derived from the Sanskrit word for "churning," is a repository that showcases my foundational knowledge and skills across various domains of computer science, including Data Structures and Algorithms (DSA), Computer Security (with a focus on encryption and decryption techniques), and programming in C and Java. This repository aims to provide a comprehensive understanding of these topics through practical projects and code implementations.
- Introduction
- Data Structures and Algorithms (DSA)
- Computer Security
- Java Projects
- Technologies Used
- Contributions
The name Manthan refers to the ancient practice of churning, symbolizing the process of extracting knowledge by continuous effort and learning. This repository contains the core concepts that I have learned and applied in real-world projects, highlighting my progress in the fields of DSA, computer security, and full-stack Java development.
This section contains my work on Data Structures and Algorithms (DSA), where I have implemented fundamental data structures and algorithms to enhance problem-solving skills.
- Arrays
- Linked Lists
- Stacks
- Queues
- Trees (Binary Trees, BST)
- Graphs
- Sorting and Searching Algorithms
- Dynamic Programming
The implementations are written in C, focusing on optimizing efficiency and understanding the underlying principles of each algorithm and data structure.
In this section, I have demonstrated my knowledge in Computer Security, specifically focusing on the implementation of encryption and decryption techniques using C.
- Caesar Cipher: A substitution cipher that shifts characters in the alphabet.
- RSA Algorithm: A public-key encryption technique for secure data transmission.
- AES (Advanced Encryption Standard): A symmetric key encryption standard used globally.
The security implementations aim to provide a foundational understanding of cryptographic algorithms and their practical usage in securing data.
This project is an object-oriented library management system designed using Java. It serves as a real-world application to manage the inventory and operations of a library, including book checkouts, user registration, and fine management.
- User authentication (Admin and Member roles)
- Book search and catalog management
- Borrowing and returning books
- Fine calculation for overdue books
- Database management using file handling
This project demonstrates the practical use of Java in building functional and scalable applications.
- C for DSA and Computer Security implementations
- Java for the Library Management System project
- Algorithms and Data Structures for problem-solving
- Git for version control
Feel free to fork this repository, contribute by opening issues, or submit pull requests to enhance the functionality and knowledge base.
Thank you for exploring Manthan. I hope this repository reflects my commitment to building a strong foundation in computer science and software development.