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 |
βπ¨ | β | 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 |
This is the list of projects in the order I completed/started them :