Hi there! Have you ever heard about 100 days of coding challenge? If you have not, I strongly recommend you to take a look on this website 100daysofcode.com.
It is a challenge to change one's life, not completely changing that but to help him/her achieve something desired or long awaited for.
I have started the challenge a couple of days ago. My challenge is about c++ programming language. Every single day I do code to solve a new problem using c++ language. I have decided to embedd a test function for every program I write. Anyway some of them I feel do not need a test function because they are straight forward. The following table will get updated every day I do something new.
If you want to warm up, jump in! Do my challenge.
| Math Problems | Status | |
|---|---|---|
| 1 | sum of naturals divisible by 3 and 5 | ✔️ |
| 2 | Greatest common divisor | ✔️ |
| 3 | Least common multiple | ✔️ |
| 4 | Largest prime smaller than given number | ✔️ |
| 5 | Sexy prime pairs | ✔️ |
| 6 | Abundant numbers | ✔️ |
| 7 | Amicable numbers | ✔️ |
| 8 | Armstrong numbers | ✔️ |
| 9 | Prime factors of a number | ✔️ |
| 10 | Gray code | ✔️ |
| 11 | Converting numerical values to Roman | ✔️ |
| 12 | Largest Collatz sequence | ✔️ |
| 13 | Computing the value of PI | ✔️ |
| 14 | Validating ISBNs | ✔️ |
Today, 18-7-2023 I completed Math challenges, and I am going to solve challenges from the second chapter. The subject of this chapter is language features. I am really longing to start this chapter.
| Language Features | Status | |
|---|---|---|
| 15 | IPv4 Data Type | ✔️ |
| 16 | Enumerating IPv4 addresses in a range | ✔️ |
| 17 | Creating a 2D array with basic operations | ✔️ |
| 18 | Minumum function with any number of arguments | ✔️ |
| 19 | Adding a range of values to a container | ✔️ |
| 20 | container any, all, none | ✔️ |
| 21 | system handle wrapper | |
| 22 | Literals of various temperature scales | ✔️ |
Tonight I think chapter two was also finished. I happy to see I have completed nearly 22 challenges. The date of today is 12-8-2023. It is nearly a month past the day I finished chapter one. This chapter was more challenging than the first chapter. I learned and yet many more things are left. I have not a clear vision about constexpr, about inline specifier, etc. In this chapter I left p21 unsolved, intentionaly. Because it has a flavour of windows c++ which I am not really into. Preferrably I code in linux not beyond it. Now it is time to go for more challenges!
| Strings and regular expressions | Status | |
|---|---|---|
| 23 | Binary to string conversion | ✔️ |
| 24 | String to binary conversion | ✔️ |
| 25 | Capitalizing an article | ✔️ |
| 26 | Joining strings together separated by a delimiter | ✔️ |
| 27 | Splitting a string into tokens with a list of possible delimiters | ✔️ |
| 28 | Longest palindromic substring | ✔️ |
| 29 | License plate validation | ✔️ |
| 30 | Extracting URL parts | ✔️ |
| 31 | Transforming dates in string | ✔️ |
Today is 15-09-2023. So the last chapter took nearly a month. Tomorrow morning I am going to Istanbul. A couple of weeks ago I was on another trip to another country.That is why my contributions figure has more blank squares than the months before. Anyway, chapter 3 is now done. I am going for another adventure in chapter 4 which is about "Streams and Filesystems".
| Streams and Filesystems | Status | |
|---|---|---|
| 32 | Pascal's triangle | ✔️ |
| 33 | Tabular printing of a list of processes | ✔️ |
| 34 | Removing empty lines from a text file | ✔️ |
| 35 | Computing the size of a directory | ✔️ |
| 36 | Deleting files older than a given date | ✔️ |
| 37 | Finding files in a directory that match a regular expression | ✔️ |
| 38 | Temporary log files | ✔️ |
Well, the last chapter was finished on 14-10-2023, it means this chapter took a month to complete. I was in Istanbul so I did not code a week. Therefore I think I have become better at coding. This month I started to add some more problems from another book that I think really helped me to grasp the concepts of filesystem lib. Now I am going for another chapter of challenge. Ladies and Gentlemen, Here is DATE and TIME!
| Date and Time | Status | |
|---|---|---|
| 39 | Measuring function execution time | ✔️ |
| 40 | Number of days between two dates | ✔️ |
| 41 | Day of the week | ✔️ |
| 42 | Day and week of the year | ✔️ |
| 43 | meeting time for multiple time zones | |
| 44 | Monthly Calendar | ✔️ |
Today is 23-01-2024, I just finished Date and Time excercises. It has taken a long time since my last writing here. That is because during this period of time I started reading the book C++17 STL cookbook. I got through all the excercises, it was about 500 pages from containers to iterators all the way down to conc.urrency and filesystem. I started to read also another book named "c++ standard library, A tutorial and reference". I have dived deep in the C++ books, honestly I can say that I have just grasped a big picture! Yet many more left to learn. Yet need to make my hands dirty. The next chapter is about algorithms and datastructures. For solving any data structure (here priority_queue, set, map, red black tree, trie, tree binary search tree) I am going through other different books and courses to learn about them. So I might not be able to meet my time goals.
| Algorithms and Data Structures | Status | |
|---|---|---|
| 45 | priority queue | ✔️ |
| 46 | circular buffer | ✔️ |
| 47 | double buffer | ✔️ |
| 48 | The most frequent element in a range | ✔️ |
| 49 | Text histogram | ✔️ |
| 50 | Filtering a list of phone numbers | ✔️ |
| 51 | Transforming a list of phone numbers | ✔️ |
| 52 | Generating all the permutations of a string | ✔️ |
| 53 | Average rating of movies | ✔️ |
| 54 | Pairwise algorithm | ✔️ |
| 55 | Zip algorithm | ✔️ |
| 56 | Select algorithm | ✔️ |
| 57 | Sort algorithm | ✔️ |
| 58 | The shortest path between nodes | |
| 59 | The Weasel program | ✔️ |
| 60 | The Game of Life | ✔️ |
Today I finished algorithms chapter. In the meanwhile I tried to learn cmake and I got through it deeply to some extent. I am ready now to go for the next chapter. I will try to learn as much as I can, and I am eager to reach cryptography chapter soon in the future. The next chapter is about concurrency, I hope it will not be too difficult. No worries, let's go.
| Chapter 7 Concurrency | Status | |
|---|---|---|
| 61 | Parallel transform algorithm | ✔️ |
| 62 | Parallel min and max element algorithms using threads | ✔️ |
| 63 | Parallel min and max element algorithms using asynchronous functions | ✔️ |
| 64 | Parallel sort algorithm | |
| 65 | Thread-safe logging to the console | |
| 66 | Customer service system |
Day by day I am getting better at c++ and recently at cmake! On the other hand I am very interested in cryptography, so I jumped to problem 91 and solved user credential challenge. Little by little I will solve other challenges of this chapter also, and even may before finishing concurrency challenges.
| Chapter 11 Cryptography | Status | |
|---|---|---|
| 88 | Caesar cipher | ✔️ |
| 89 | Vigenère cipher | ✔️ |
| 90 | Base64 encoding and decoding | |
| 91 | Validating user credentials | ✔️ |
| 92 | Computing file hashes | |
| 93 | Encrypting and decrypting files | |
| 94 | File signing |