GithubHelp home page GithubHelp logo

list-of-projects's Introduction

List of Projects and Skills

Name - Saif Mahmud

Skills and Technologies:

Programming Languages:

  • Java: Used in multiple projects such as the Coffee Shop System, Reversible Learning, Connect 4 game, and more.
  • C++: Utilized in OpenGL projects like Basic 3D Scene Creation, Sphere Lighting Program, and Recursive Ray Tracing.
  • C: Applied in projects like CPU Scheduling Simulator, Maze Solver and Reading and Interpreting Binary Files (ELF).
  • Python: Used in the ATS Pass AI and GBN Protocol Simulation.
  • Prolog: Employed in the Expert System and AI with Prolog projects.
  • JavaScript: Used in the Blockchain Car Mileage Tracker.
  • SQLite: Used in multiple projects. One of them is the Reversible Learning - Android.

Frameworks and Libraries:

  • CrewAI: Utilized in the ATS Pass AI for optimizing resume keywords and formatting to enhance ATS compatibility.
  • OpenGL: Used in several graphics projects for 3D scene creation, sphere lighting, ray tracing, and more.
  • JavaFX: Used in the Blockchain Hashing project.
  • Java Swing: Used in the Alien Shipnator Game and Tower Defense Game.
  • Processing IDE: Used in the Processing Sketch on a Website project.
  • Vue.js: Used in the Blockchain Car Mileage Tracker.
  • matplotlib: Used in the GBN Protocol Simulation.
  • HSQLDB: Used in the Reversible Learning project.
  • glut.h: Used in the Basic 3D Scene Creation project.

Algorithms and Data Structures:

  • Backtracking: Used in the Maze Solver project.
  • Minimax Algorithm and Alpha-Beta Pruning: Applied in the Connect 4 game.
  • Q Learning: Used in the Tower Defense Game.
  • A Algorithm*: Applied in the Ant Path Finding project.
  • Depth-First and Breadth-First Search: Used in the Expert System in Prolog.
  • Recursive Ray Tracing: Applied in the Recursive Ray Tracing Program in OpenGL.

Tools and Platforms:

  • CD/CI: Proficient in Continuous Deployment and Continuous Integration, having hands-on experience with tools like GitHub Actions.
  • Android Studio: Used in the Reversible Learning project.
  • GitHub Pages: Used in the Processing Sketch on a Website project.
  • VSCode: Used in the Blockchain Hashing project.
  • Docker: Used in the Blockchain Car Mileage Tracker project.
  • Git: Used in all projects.
  • Unix Based OS: Used in multiple projects.

Concepts:

  • Artificial Intelligence: Leveraged CrewAI in the ATS Pass AI project for optimizing resume content and format to enhance ATS compatibility.
  • Blockchain: Explored in the Blockchain Hashing and Blockchain Car Mileage Tracker projects.
  • Sockets: Used in the TCP Chat Application.
  • File I/O: Used in projects like the Coffee Shop System and Bank Account System.
  • Networking: Applied in the TCP Chat Application.
  • Multithreading: Used in the TCP Chat Application.
  • Graphics: Explored in multiple OpenGL projects.
  • Game Development: Applied in projects like Connect 4, Tower Defense Game, and Alien Shipnator Game.

Miscellaneous:

  • Database Integration: Used in the Reversible Learning project with HSQLDB.
  • ELF Format: Explored in the Reading and Interpreting Binary Files (ELF) project.
  • UI Design: Applied in the Reversible Learning project.

Projects:

An innovative tool designed to automate the creation of personalized resumes tailored to specific job descriptions, enhancing job seekers' chances of passing through Applicant Tracking Systems (ATS). It achieves this by ensuring at least an 85% keyword match with job descriptions. The system extracts user data, analyzes job descriptions for key keywords and requirements, and integrates this information to create tailored resumes, available in LaTeX or plain text format.

  • Technologies: Python, LaTeX, Google Cloud APIs.
  • Learnings:
    • Automation of resume customization to enhance ATS compatibility.
    • Advanced text analysis for keyword optimization.
    • Dynamic LaTeX document generation for professional resume formatting.
  • Features:
    • User Information Collection: Extracts and organizes user data.
    • Job Description Analysis: Identifies essential keywords and requirements.
    • Resume Creation: Merges user information with job analysis to craft resumes.
    • LaTeX Resume Generation: Outputs professionally formatted documents.

Dive into a world where you're not just a player, but a creator. The game allows users to design mazes that an AI-controlled ant must navigate through using the A* algorithm. Players can set starting and ending points, place obstacles and terrain types, and watch the AI solve the maze.

  • Technologies: Java, A* Algorithm, Manhattan Distance Heuristic Function, CI/CD, GitHub Actions.
  • Platforms Supported: Windows (64-bit), macOS (64-bit), Linux (64-bit), JAR File.
  • Learnings:
    • A* algorithm implementation.
    • Heuristic function implementation.
    • Maze generation and solving.
    • CI/CD integration with GitHub Actions.
    • Java Swing graphics.

JavaScript solution using blockchain to combat odometer fraud in used cars.

  • Technologies: JavaScript, Blockchain, Vue.js.
  • Learnings: Blockchain integration, smart contract deployment, and IoT integration.

Java game of Connect 4 where players compete against an AI opponent.

  • Technologies: Java, Minimax Algorithm, Alpha-Beta Pruning.
  • Learnings: Game AI development, Minimax algorithm, and Alpha-Beta pruning optimization.

This project simulates a Multi-Level Feedback Queue (MLFQ) scheduling policy on a multi-CPU system. Designed to emulate the behavior of scheduling tasks on multiple CPUs using threads, where each CPU is represented by a thread, the program compares the performance of different scheduling policies using this simulation.

  • Technologies: C, Multithreading, MLFQ Scheduling Algorithm.
  • Learnings:
    • Implementation and comparison of various CPU scheduling algorithms.
    • Multi-threading in C for simulating a multi-CPU environment.
    • Performance analysis of scheduling policies in terms of task turnaround and response times.
    • Understanding complex concepts of CPU scheduling in operating systems.

Java game where players defend against enemy formations using Q Learning.

  • Technologies: Java, Swing, Q Learning.
  • Learnings: Game development, enemy AI behavior, and Q Learning integration.

Java application facilitating chat room interactions between clients connected to a server.

  • Technologies: Java, Sockets, Multithreading.
  • Learnings: Client-server communication, chat room management, and thread safety.

An app designed to help users organize class notes and archive questions, enhancing study efficiency.

  • Technologies: Java, Android Studio, HSQLDB.
  • Learnings: Mobile app development, database integration, and UI design.

Java application that employs MerkleTree to provide blockchain functionalities.

  • Technologies: Java, JavaFX, VSCode.
  • Learnings: Insights into blockchain technology, understanding of Merkle Trees.

A Prolog-based expert system to solve the classic river crossing puzzle where a farmer must transport a wolf, goat, and cabbage across a river without leaving any incompatible pair unattended.

  • Technologies: Prolog, Depth-First Search.
  • Features: User interaction, dynamic problem-solving, multiple solution paths, and detailed explanations.

A diverse set of Prolog programs showcasing various AI and logic-based solutions, authored by Saif Mahmud.

  • Technologies: Prolog, Depth-First Search, Breadth-First Search.
  • Features: Puzzle solvers, pathfinders, syllable dividers, and more.

A C++ project designed to illuminate a sphere using OpenGL's advanced lighting techniques.

  • Technologies: C++, OpenGL.
  • Learnings:
    • Positioning and management of distinct light sources in OpenGL.
    • User interaction for selecting light colors.
    • Understanding of surface materials in OpenGL.
    • Adjusting lighting elements for desired effects.
    • Implementation of an intuitive menu system activated via mouse input.
    • Use of the glutSolidSphere command for sphere rendering and lighting demonstration.

A C++ program was developed to simulate ray tracing using a recursive algorithm in OpenGL.

  • Technologies: C++, OpenGL.
  • Learnings:
    • Deep understanding of the recursive ray tracing algorithm.
    • Techniques for ray casting from the source to the scene.
    • Handling interactions with different surface types (wall or floor).
    • Recursive invocation techniques for reflection rays.
    • Color calculation and mixing based on ray interactions.
    • Implementing tests to check the visibility of light sources and applying shadow effects.

A Java-based system simulating a coffee shop's operations, including order handling and ingredient management.

  • Technologies: Java, File I/O, Data Structures.
  • Learnings: Enhanced data structure manipulation, Java I/O operations, and algorithm optimization.

C program that uses backtracking to determine a path out of a maze.

  • Technologies: C, Backtracking.
  • Learnings: Mastery of the backtracking algorithm and dynamic memory allocation.

C project controlling parallel worker threads through processes and threads.

  • Technologies: C, Processes, Threads.
  • Learnings: Process creation, inter-process communication, and thread management.

C utility to interpret ELF formatted binaries, extracting key program details.

  • Technologies: C, ELF Format.
  • Features: ELF header analysis, program and section headers breakdown.

Java game where players fend off alien attacks.

  • Technologies: Java, Java Swing, 2D Arrays.
  • Learnings: Game development, 2D array manipulation, and Java Swing graphics.

A C++ project using OpenGL to craft a detailed 3D scene with advanced graphics techniques.

  • Technologies: C++, OpenGL, glut.h.
  • Learnings:
    • Understanding of textured backgrounds in OpenGL.
    • Creation and manipulation of 3D composite objects.
    • Implementation of dual light sources with unique lighting colors.
    • Application of atmospheric attenuation effects (fog).
    • Efficient rendering using complex display lists.

Java tool that identifies spelling errors in a text file by comparing it against a user-provided dictionary.

  • Technologies: Java, JFileChooser, ArrayList.
  • Learnings: File selection techniques, efficient data storage, and error detection.

Java program simulates bank operations by processing instructions from a text file.

  • Technologies: Java, File I/O.
  • Learnings: Reading and processing file commands, and understanding bank operations.

Python-based simulation of the Go-Back-N (GBN) protocol with two distinct versions.

  • Technologies: Python, matplotlib.
  • Learnings: Deep understanding of the GBN protocol and simulating packet loss.

Project focused on hosting a Processing Sketch on GitHub Pages, allowing users to view sketches on the web.

  • Technologies: Processing IDE, GitHub Pages.
  • Learnings: Techniques for web hosting, understanding GitHub Pages intricacies.

A C++ program that leverages OpenGL to render eight houses with triangular roofs and floors.

  • Technologies: C++, OpenGL.
  • Features:
    • Utilizes translation, scaling, and rotation transformations to depict the houses. Houses are constructed using shapes and efficient rendering via display lists.
    • Incorporation of a background texture sourced from a BMP format image.

Documentation:

Comprehensive API documentation for the Manitoba Transit system, detailing transit options throughout Manitoba. Ideal for integration into local transit apps, tourism platforms, and map enhancements.

  • Technologies: RESTful API, JSON.
  • Learnings:
    • API design and documentation.
    • Handling JSON formatted responses.
  • Features:
    • Endpoints for route retrieval with customizable parameters.
    • Responses include details like mode, city, duration, frequency, and stops.

A step-by-step guide for hosting a Processing sketch on a website using GitHub Pages, tailored for beginners in Git, GitHub, and programming.

  • Technologies: Processing IDE, GitHub Pages, HTML.
  • Learnings:
    • Setting up and managing a GitHub repository.
    • Converting Processing sketches to HTML for web hosting.
  • Features:
    • Detailed instructions for account setup, repository creation, and sketch hosting.
    • Emphasis on beginner-friendly methods and explanations.

A detailed guide on how to host and format a resume on GitHub Pages using Markdown and Jekyll, covering the process from GitHub account creation to online deployment.

  • Technologies: Markdown, Jekyll, Git.
  • Learnings:
    • Markdown formatting for resume creation.
    • Using Jekyll for static site generation and theme customization.
  • Features:
    • Steps for repository setup, file uploading, and site configuration.
    • Guidance on using GitHub Pages for an accessible online resume.

list-of-projects's People

Contributors

vmsaif avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.