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 |