Skip to content

80+ little projects ranging from basic concepts and algorithms to machine learning and real world applications.

Notifications You must be signed in to change notification settings

YDenker/coding_projects

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

39 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Coding Projects

This repository contains a large sum of little projects ranging from basic concepts and algorithms to machine learning and real world applications. All projects are or will be done in c++. Check out the individual branches for specific subtopics that interest you or dive in to the main branch that encompasses them all.

Here is a first list of projects i want to or already have implemented (this list is subject to change!).

  1. Basic Concepts and Algorithms
  • Hello World – Start with basic I/O and syntax.
  • Calculator – Basic calculator with addition, subtraction, multiplication, and division.
  • Math Functions – Generate and print results of well known math functions such as fibonacci, bell numbers, ...
  • Number Checker - Determine if a number is prime, a palindrome, equal to the sum of its proper divisors, ...
  • Guessing Game – Implement a number guessing game.
  • Temperature Converter – Convert between Celsius, Fahrenheit, and Kelvin.
  • Basic Sorting Algorithms – Implement bubble, selection, and insertion sorts.
  • Random Number Generator – Use C++'s random library to generate numbers.
  • Binary Search Algorithm – Implement binary search on a sorted array.
  1. Data Structures and Algorithms
  • Linked List – Implement a singly and doubly linked list.
  • Stack – Implement a stack data structure with push, pop, and peek functions.
  • Queue – Implement a queue data structure with enqueue and dequeue functions.
  • Binary Tree – Create a binary tree and implement basic traversal (in-order, pre-order, post-order).
  • Hash Map – Simple hash map implementation with collision handling.
  • Sorting Comparison – Compare quicksort, mergesort, and heapsort performance.
  • Dynamic Array (Vector) – Implement a resizable array similar to std::vector.
  • Binary Search Tree – Implement insert, search, and delete operations.
  • Graph Representation – Represent graphs using adjacency lists or matrices.
  1. Math and Number Theory
  • Euclidean Algorithm – Find the GCD of two numbers.
  • Least Common Multiple (LCM) – Implement LCM calculation.
  • Sieve of Eratosthenes – Generate prime numbers up to N.
  • Perlin Noise Generator – Basic 1D and 2D Perlin noise.
  • Fractal Generation – Mandelbrot and Julia sets.
  • Random Walk Simulation – Simulate a random walk in 2D or 3D space.
  • RSA Encryption – Implement a basic RSA algorithm.
  • Pi Estimation – Estimate π using Monte Carlo methods.
  • Matrix Operations – Implement matrix addition, subtraction, and multiplication.
  1. File I/O and Data Processing
  • CSV Reader – Parse and read a CSV file.
  • Simple Text Editor – Read, write, and edit text files.
  • Binary File Operations – Work with binary files for read/write operations.
  • Log Analyzer – Parse and analyze log files for patterns.
  • JSON Parser – Implement a basic JSON parser.
  1. Object-Oriented Programming Concepts
  • Bank Account System – Create classes for accounts and transactions.
  • Library Management System – Manage books and patrons with classes.
  • Inventory Management – Track items, quantities, and prices in a store.
  • Student Management System – Store and manage student records.
  • Shape Hierarchy – Create a hierarchy of shapes and calculate area/perimeter.
  1. Recursion and Backtracking
  • Maze Solver – Solve a maze using backtracking.
  • Sudoku Solver – Implement a backtracking-based Sudoku solver.
  • N-Queens Problem – Place N queens on an N×N chessboard without them attacking.
  • Towers of Hanoi – Solve the Towers of Hanoi problem recursively.
  • Pathfinding with A Algorithm* – Implement the A* search for a simple grid.
  1. Concurrency and Multithreading
  • Threaded Sorting – Sort an array with multiple threads.
  • Producer-Consumer Problem – Use threads to simulate producers and consumers.
  • Dining Philosophers – Implement a solution to the dining philosophers problem.
  • Multithreaded Web Server – Implement a simple HTTP server with threads.
  • Matrix Multiplication with Threads – Use multithreading to speed up matrix multiplication.
  1. Networking
  • Simple Chat Application – Use sockets to create a basic chat application.
  • TCP/UDP Echo Server – Build a simple echo server-client.
  • File Transfer Protocol – Send files over a network using sockets.
  • HTTP Client – Implement a basic HTTP client.
  • Networked Tic-Tac-Toe – Implement a multiplayer Tic-Tac-Toe game.
  1. Graphics and Game Development
  • Simple Console Snake Game – Create a Snake game in the console.
  • ASCII Art Renderer – Render shapes and patterns in ASCII.
  • Basic OpenGL Window – Use OpenGL to create a simple window.
  • 2D Shapes with OpenGL – Draw shapes like circles and rectangles.
  • Simple Particle System – Create a particle system for effects like smoke or fire.
  • 3D Cube with OpenGL – Render a rotating 3D cube.
  • Basic Ray Tracer – Implement a basic ray tracer for spheres.
  • Perlin Noise Terrain – Generate a 3D terrain with Perlin noise.
  • Mandelbrot Set Visualizer – Visualize the Mandelbrot set in color.
  1. Advanced Graphics and Simulation
  • Physics Engine Basics – Implement simple physics like gravity and collision.
  • Fractal Tree – Generate a fractal tree in 2D.
  • 2D Game with SDL – Build a basic 2D game using the SDL library.
  • Lighting and Shading in OpenGL – Implement basic lighting and shading.
  • Particle System with Shaders – Use shaders to improve particle systems.
  • Boids Algorithm – Simulate flocking behavior of birds or fish.
  • Fluid Simulation – Simulate basic fluid dynamics.
  1. Machine Learning and AI
  • K-means Clustering – Implement the K-means algorithm.
  • Neural Network from Scratch – Build a simple neural network.
  • Genetic Algorithm – Implement a basic genetic algorithm.
  • Tic-Tac-Toe AI – Develop an AI to play Tic-Tac-Toe.
  • Decision Tree – Implement a simple decision tree algorithm.
  1. Real-world Applications
  • Currency Converter – Use an API to get real-time exchange rates.
  • Weather Application – Fetch and display weather data.
  • Encryption/Decryption Tool – Implement basic encryption algorithms.
  • Web Scraper – Scrape data from a website.
  • OCR Tool – Use OCR libraries to extract text from images.

About

80+ little projects ranging from basic concepts and algorithms to machine learning and real world applications.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published