52 Challenges
A collection of quick weekly programming challenges for fun. Each challenge should not take longer than 7 days to solve.
Purpose
Coding for fun every week consecutively for a year (52 weeks). The difficulty of the challenge should progress gradually to keep the people exciting and motivated to try new techniques, tools, ideas, etc. as solutions to the new challenges.
Challenges
List of challenges are collected below.
ID | Challenge | Language / Tech | Time taken | Difficulty |
---|---|---|---|---|
001 | Mandelbrot with OpenCV | C++11 OpenCV | 4 hrs | Recall Mandelbrot knowledge |
002 | PR Quadtree with Haskell | Haskell | 15 hrs | Fight with Haskell |
003 | Geospatial Plots (over Time) of Waste Disposal Density in Germany | Python GeoJSON | 6 hrs | Data Wrangling (RDF + GeoJSON) |
004 | Time-Series Geographical data regression | Python | 7 hrs | -- |
005 | Fast Fourier Transformation with Haskell | Haskell | 4 hrs | Recall FT knowledge + Fight with Haskell |
006 | Extract table from image | C++17 OpenCV | 12 hrs | Experimenting with algorithms |
007 | Finding Prime Numbers with Haskell | Haskell | 10 hrs | Prime Sieve Algorithm |
008 | Stateful REST API | Java Play | 7 hrs | -- |
009 | Study Corona Virus time-series data | Python | 4 hrs | -- |
010 | Profiling of Python memory access | Python | 3 hrs | -- |
011 | Estimate crosshair coordinates in images with TensorFlow | Python TensorFlow | 14 hrs | Learn TensorFlow |
012 | Image localisation with Spark | Scala Spark | 8 hrs | Learn Spark Image package (since Spark 2.3) |
013 | FlatBuffers with C++ | C++ FlatBuffers | 8 hrs | Learn FlatBuffers codebase |
014 | Graph in Spark | Scala Spark Graph | 8 hrs | Learn GraphX from scratch |
015 | Lens in Haskell | Haskell Lens | 5 hrs | Learn Lens + Prisms |
016 | Dijkstra in C++17 | C++17 | 6 hrs | Recall Dijkstra + Try C++17 features |
017 | Korasaju in C++17 | C++17 | 3 hrs | Learn Korasaju |
018 | Graph traversal, in/outdegree practice | C++17 Graph Algo | 6 hrs | -- |
019 | Subgraph optimisation practice | C++17 Graph Algo | 4 hrs | -- |
020 | Dockerised NodeJS + Cassandra | Docker C* NodeJS | 4 hrs | Datastax Cassandra Driver |
021 | Haskell Semigroup | Haskell | 2 hrs | Recall Typeclasses + Semigroup concept |
022 | Python 3.7 coroutines and async | Python Coroutine | 4 hrs | Python Coroutine |
023 | Corona Tracking Dashboard | Python Dash | 5 hrs | Learn Dash + Plotly |
024 | (Extended) Extract table from image | C++17 OpenCV | 2 hrs | -- |
025 | Crawl football data from Wikipedia | Python | 2 hrs | Parser |
026 | A/B Test simulation | Scala | 4 hr | Recall hypothesis testing |
027 | Puzzles in scala | Scala | 3 hr | -- |
028 | Puzzles from Leetcode / FB interview | Python | -- | Recall a lot of algorithms |
029 | Practice DNN/BERT/NLP/AB Test | Python, TensorFlow, BERT | -- | BERT, A/B Test |
030 | Read structure of digital PDF | Python | ?? | |
031 | Puzzles from Leetcode / FB interview (2) | Python | -- | Recall a lot of algorithms |
032 | Puzzles from Leetcode / FB interview (3) | Python | -- | -- |
033 | Julia set with OpenCV | C++17 | 3 hrs | Recall Julia sets |
034 | Akka schedule and mutable singleton | Scala Akka | 6 hrs | Akka classic and Threadsafety |
035 | Akka schedule and mutable singleton (again) but with large shared memory and heavy access | Scala Akka | ?? | Akka classic and Threadsafety |
036 | Build systemd daemon (forkless) | C systemd | 12 hrs | Systemd anatomy + provisioning docker |
037 | Puzzles in scala | Scala | -- | -- |
038 | Kalman Tracking video in C++20 | C++20 Kalman | 6 hrs | -- |
039 | REST API with Haskell | Haskell | 8 hrs | String, ByteString, Text in Haskell |
040 | Monte Carlo with Haskell | Haskell | ?? | IO Monad |
041 | gRPC with background process | Python | 7 hrs | gRPC, asyncio |
042 | Cloud native patterns | Kubernetes | ??? | Kubernetes |
043 | C++ Multiproc/Multithreading | C++17 LLVM | 7 hrs | LLVM, TBB |
Licence
MIT