/ProgrammingChallenges

My take on all the challenges of the Pro/g/ramming Challenges v4.0 board.

Primary LanguageRustMIT LicenseMIT

Pro/g/ramming Challenges v4.0

Image showing all the 145 challenges Image source

This is my take on all the challenges of this image I found browsing the Internet. It seemed really interesting for me to try and beat some challenges and I decided to create this repo to write some code for those challenges. I will be solving them in no pre-defined order, with the languages I think fit the best for me.

Even though I have early access to the GitHub copilot, I will keep it disabled when solving these problems to practice my research and problem-solving skills

Here is my progress so far (tip: you can sort this list using GitHub sort content) :

Number Name Difficulty Progress Category
001 Download Manager β€‹πŸŸ¨ ❌ Practical
002 Elastic Producer/Consumer Task Queue β€‹πŸŸ¨ ❌ Practical
003 IRC Client β€‹πŸŸ¨ ❌ Practical
004 Markov Chain Sentence Generator 🟩 β€‹βœ… Practical
005 English Sentence Parser β€‹πŸŸ¨ ❌ Practical
006 MIDI Player & Editor β€‹πŸŸ¨ ❌ Practical
007 Stock Market Simulator (Yahoo! Data) β€‹πŸŸ¨ ❌ Practical
008 Real Time Parametric/Graphic Equalizer (.wav files) ​​πŸŸ₯ ❌ Practical
009 Graphing Calculator β€‹πŸŸ¨ ❌ Practical
009 - Bonus Graphing the function's derivatives ​​πŸŸ₯ ❌ Practical
010 To-Do List App (Web and/or CLI) 🟩 ❌ Practical
011 Verlet Integration (Verlet Cloth) ​​πŸŸ₯ ❌ Practical
012 TCP/UDP Chat Server & Client β€‹πŸŸ¨ ❌ Practical
013 Music Streaming ​​πŸŸ₯ ❌ Practical
014 Shazam β€‹πŸŸ¨ ❌ Practical
015 Chatbot (with conversation retention) 🟩 ❌ Practical
016 Curses Text Editor (Vim Keybindings) β€‹πŸŸ¨ ❌ Practical
017 Paint Clone β€‹πŸŸ¨ ❌ Practical
018 Image to ASCII Art 🟩 ❌ Practical
019 Booru (Image Board) Image Downloader β€‹πŸŸ¨ ❌ Practical
020 Image Converter β€‹πŸŸ¨ ❌ Practical
021 ID3 Reader β€‹πŸŸ¨ ❌ Practical
022 Sound Synthesis (sine, square, sawtooth... waves) ​​πŸŸ₯ ❌ Practical
022 - Bonus Real Time MIDI Playback (with custom instruments) ​​​πŸŸͺ ❌ Practical
023 C++ IDE Plugin for Sublime (or Atom) ​​πŸŸ₯ ❌ Practical
024 Simple Version Control (checkout, commit...) β€‹πŸŸ¨ ❌ Practical
025 Image board 🟩 ❌ Practical
026 Password Manager β€‹πŸŸ¨ ❌ Practical
027 Torrent Client (CLI or GUI) ​​πŸŸ₯ ❌ Practical
028 Booru Client ​​πŸŸ₯ ❌ Practical
029 Key Press Bot β€‹πŸŸ¨ ❌ Practical
030 IP or URL Obscurificator β€‹πŸŸ¨ ❌ Practical
031 Radix Base Converter (Radix to Decimal) β€‹πŸŸ¨ ❌ Practical
032 Chan Aggregator ​​πŸŸ₯ ❌ Practical
032 - Bonus 4ChanX & Archiving functionalities ​​πŸŸ₯ ❌ Practical
033 File Encrypter & Uploader β€‹πŸŸ¨ ❌ Practical
034 Auto-Save Text Editor (with date in the filename) ​​πŸŸ₯ ❌ Practical
035 HSV Color Representation 🟩 ❌ Practical
036 Window Manager β€‹πŸŸ¨ ❌ Practical
037 Basic Rational Database Software ​​​πŸŸͺ ❌ Practical
038 Pixel Editor β€‹πŸŸ¨ ❌ Practical
039 Trivial File Transfer Protocol (TFTP) β€‹πŸŸ¨ ❌ Practical
040 Markdown (HTML and/or XML) β€‹πŸŸ¨ ❌ Practical
041 IP Tracking Visualization β€‹πŸŸ¨ ❌ Practical
042 Port Scanner 🟩 ❌ Practical
043 Old School Demo Effect (Plasma, Tunnel...) 🟩 ❌ Practical
044 FizzBuzz 🟩 β€‹βœ… Algorithmic
044 - Bonus FizzBuzz written in Assembly β€‹πŸŸ¨ ❌ Algorithmic
045 RPN Calculator 🟩 ❌ Algorithmic
046 Count occurrences of character (Unicode Support) 🟩 ❌ Algorithmic
047 Towers of Hanoi 🟩 ❌ Algorithmic
048 Music Visualizer β€‹πŸŸ¨ ❌ Algorithmic
049 Unicode Converter (UTF-8, 16LE, 32LE & 32BE) β€‹πŸŸ¨ ❌ Algorithmic
050 Calculate the first n digits of Ο€ (pi) 🟩 ❌ Algorithmic
051 Least Squares Fitting Algorithm β€‹πŸŸ¨ ❌ Algorithmic
052 Find the best period for making most money in stocks 🟩 ❌ Algorithmic
053 Highest Prime Factor Calculator 🟩 ❌ Algorithmic
054 Hide & Extract Data in Images (Basic Steganography) β€‹πŸŸ¨ ❌ Algorithmic
054 - Bonus Include .gif support for the Basic Steganography ​​πŸŸ₯ ❌ Algorithmic
055 Web Page Crawler β€‹πŸŸ¨ ❌ Algorithmic
056 Password Generator (with User Interaction) 🟩 ❌ Algorithmic
057 VignΓ©re Cipher Encryption & Decryption β€‹πŸŸ¨ ❌ Algorithmic
058 Game Of Life β€‹πŸŸ¨ ❌ Algorithmic
059 Caesar Cipher Encryption & Decryption 🟩 ❌ Algorithmic
060 Dijkstra's Algorithm β€‹πŸŸ¨ ❌ Algorithmic
061 ROT 13 Encryption & Decryption 🟩 ❌ Algorithmic
062 Display MBR Contents β€‹πŸŸ¨ ❌ Algorithmic
063 Random Name Picker β€‹πŸŸ¨ ❌ Algorithmic
064 Encrypt & Decrypt (from the rumkin.com collection) 🟩 ❌ Algorithmic
065 YouTube to MP3 Converter 🟩 ❌ Algorithmic
066 Text to Hexadecimal & Binary Converter 🟩 ❌ Algorithmic
067 Calculate the first 1000 digits of $\pi$ iteratively β€‹πŸŸ¨ ❌ Algorithmic
068 Sierpinski Triangle 🟩 ❌ Algorithmic
069 Mandelbrot Set β€‹πŸŸ¨ β€‹β€‹βœ… Algorithmic
070 OpenAI Gym Project ​​πŸŸ₯ ❌ Artificial Intelligence
071 AI for Rogue-likes β€‹πŸŸ¨ ❌ Artificial Intelligence
072 Sudoku or n-Puzzle Solver using A* algorithm β€‹πŸŸ¨ ❌ Artificial Intelligence
073 Connect-4 AI Player using Alpha-Beta Pruning β€‹πŸŸ¨ ❌ Artificial Intelligence
074 Basic Neural Network 🟩 ❌ Artificial Intelligence
075 Real Neural Network β€‹πŸŸ¨ ❌ Artificial Intelligence
076 Convolutional Neural Network (using TensorFlow, e.g.) β€‹πŸŸ¨ ❌ Artificial Intelligence
077 Convolutional Neural Network (from scratch) ​​πŸŸ₯ ❌ Artificial Intelligence
078 "Hello World" on a Virtual Machine β€‹πŸŸ¨ ❌ Compiler/Interpreter/Debugger
079 Basic Bootloader (with extended file system) ​​​πŸŸͺ ❌ Compiler/Interpreter/Debugger
080 Terminal Shell (Executable Binaries, Pipe System...) β€‹πŸŸ¨ ❌ Compiler/Interpreter/Debugger
080 - Bonus Terminal Shell but GUI ​​πŸŸ₯ ❌ Compiler/Interpreter/Debugger
081 HTML & JavaScript Debugger β€‹πŸŸ¨ ❌ Compiler/Interpreter/Debugger
082 Interpreted LISP-Like Programming Language β€‹πŸŸ¨ ❌ Compiler/Interpreter/Debugger
083 Application capable of mounting File systems (FUSE) ​​πŸŸ₯ ❌ Compiler/Interpreter/Debugger
084 UART Game in Assembly β€‹πŸŸ¨ ❌ Compiler/Interpreter/Debugger
085 Colored Pong Game as a UEFI file ​​πŸŸ₯ ❌ Compiler/Interpreter/Debugger
086 Designing an Esoteric Language ​​πŸŸ₯ ❌ Compiler/Interpreter/Debugger
087 C Compiler ​​πŸŸ₯ ❌ Compiler/Interpreter/Debugger
088 Turing Machine Simulator ​​πŸŸ₯ ❌ Compiler/Interpreter/Debugger
089 Read, Evaluate, Print Loop using a compiled language ​​πŸŸ₯ ❌ Compiler/Interpreter/Debugger
090 Static Website Generator (Template to HTML & CSS) β€‹πŸŸ¨ ❌ Compiler/Interpreter/Debugger
091 Chirp-8 Emulator β€‹πŸŸ¨ ❌ Emulation/Modeling
091 - Bonus 1 Chirp-8 Emulator with Cached Interpreter ​​πŸŸ₯ ❌ Emulation/Modeling
091 - Bonus 2 Chirp-8 Emulator with Dynamic Recompiler ​​πŸŸ₯ ❌ Emulation/Modeling
092 Double Pendulum Simulation β€‹πŸŸ¨ ❌ Emulation/Modeling
093 Constructive Solid Geometry β€‹πŸŸ¨ ❌ Emulation/Modeling
094 Ray Tracer ​​πŸŸ₯ ❌ Emulation/Modeling
095 Real-Time Fast Fourier Transform Spectrum Visualizer ​​πŸŸ₯ ❌ Emulation/Modeling
096 Complimentary Color Generator based on an Input Color 🟩 ❌ Emulation/Modeling
097 5-Color Scheme Generator from any input image β€‹πŸŸ¨ ❌ Emulation/Modeling
098 General Lambert's-Problem Solver πŸš€ ​​​πŸŸͺ ❌ Emulation/Modeling
099 TI-86 Emulator ​​πŸŸ₯ ❌ Emulation/Modeling
099 - Bonus TI-86 Emulator with Option to Create Programs ​​πŸŸ₯ ❌ Emulation/Modeling
100 N-Body Simulator with Merging Particles β€‹πŸŸ¨ ❌ Emulation/Modeling
101 Eulerian Path 🟩 ❌ Emulation/Modeling
102 Spinning 3D Cube 🟩 ❌ Emulation/Modeling
103 Cellular Textures 🟩 ❌ Emulation/Modeling
104 Knight's Tour β€‹πŸŸ¨ ❌ Games
105 Monster Raising and/or Breeding Simulator ​​πŸŸ₯ ❌ Games
106 Tetris β€‹πŸŸ¨ ❌ Games
107 Snake 🟩 ❌ Games
108 Pipe Dreams β€‹πŸŸ¨ ❌ Games
109 Pac-Man, with Different Behaviors for each Ghosts β€‹πŸŸ¨ ❌ Games
110 Dragon Quest (Basic RPG Engine) ​​πŸŸ₯ ❌ Games
111 Rock Paper Scissors 🟩 ❌ Games
112 First-Person Engine in OpenGL ​​πŸŸ₯ ❌ Games
112 - Bonus First-Person Engine in OpenGL, with VR support ​​​πŸŸͺ ❌ Games
113 Shuffle a Deck of Cards, with visuals β€‹πŸŸ¨ ❌ Games
114 Simulation of a Game of Tag (with Multi-Agent System) β€‹πŸŸ¨ ❌ Games
115 Wolfenstein Clone (FPS, 2D that appears to be 3D) ​​πŸŸ₯ ❌ Games
116 Scorched Earth Clone β€‹πŸŸ¨ ❌ Games
117 Minesweeper Clone β€‹πŸŸ¨ ❌ Games
118 Audio/Visual 64Kb Demonstration β€‹πŸŸ¨ ❌ Games
119 Sudoku β€‹πŸŸ¨ ❌ Games
120 Danmaku (Bullet Hell) Engine ​​πŸŸ₯ ❌ Games
121 Roguelike Engine (Dungeon Generator) ​​πŸŸ₯ ❌ Games
122 Game Engine in Unity 🟩 ❌ Games
123 Yahtzee 🟩 ❌ Games
124 Oil Panic 🟩 ❌ Games
125 Chess β€‹πŸŸ¨ ❌ Games
126 Go (no AI) ​​πŸŸ₯ ❌ Games
127 Connect-4 🟩 ❌ Games
128 Mastermind β€‹πŸŸ¨ ❌ Games
129 Missile Command Game β€‹πŸŸ¨ ❌ Games
130 Tron β€‹πŸŸ¨ ❌ Games
131 Breakout β€‹πŸŸ¨ ❌ Games
132 Simon 🟩 ❌ Games
133 LISP Interpreter ​​πŸŸ₯ ❌ Compiler/Interpreter/Debugger
134 Ulam Spiral 🟩 ❌ Algorithmic
135 Bellman-Ford Simulation (at least 5 Vertices) β€‹πŸŸ¨ ❌ Practical
136 Matrix Arithmetic β€‹πŸŸ¨ ❌ Practical
137 File Compression Utility β€‹πŸŸ¨ ❌ Practical
138 PDF Tagger 🟩 ❌ Practical
139 Nonogram Generator & Solver ​​πŸŸ₯ ❌ Practical
140 Calculate Dot & Cross Product of 2 Vectors β€‹πŸŸ¨ ❌ Practical
141 Bismuth Fractal β€‹πŸŸ¨ ❌ Practical
142 Seam Carving β€‹πŸŸ¨ ❌ Practical
143 Bayesian Filter β€‹πŸŸ¨ ❌ Practical
144 WMS Viewer (not Web-Based) ​​πŸŸ₯ ❌ Practical
145 ASCII Digital Clock 🟩 ❌ Emulation/Modeling

Order of Projects

This is the list of projects in the order I completed/started them :

  1. nΒ°44 - FizzBuzz
  2. nΒ°4 - Markov Chain Sentence Generator
  3. nΒ°69 - Mandelbrot Set