The repository where I shall be uploading all the stuff I learn during the 100 days of code challenge I have taken up on February 1st, 2022.
I have learnt C, C++, Java and Python, but I never really practiced data structures and algorithms rigorously. I am now correcting this mistake before it is too late and am going to focus on as many fundamental algorithms as possible here.
My aim is to understand algorithms in Python, which I plan to make my primary development language. Maybe some recruiter will see my efforts and give me a job, who knows ;)
Updated as and when used
Day 0
February 1, 2022- Prepared the repository
- Found resources to work with
Day 1
February 1, 2022- Installed Python 3.9.10
- Linear Search
- Binary Search
Day 2
February 2, 2022- Jump Search
- Interpolation Search
- Updated Linear Search
- Updated Binary Search
- Updated Exception Handling
Day 3
February 3, 2022- Exponential Search
- Improved Docstrings for all algorithms
- Removed 'TypeError' while searching, since searching can be done for mixed list as well
- Added Folder for Sorting Algorithms
- Selection Sort
Day 4
February 4, 2022- JavaScript Basics
- Quiz APIs
- Animated Backgrounds in CSS
- Script tag in HTML
- Contributed here
Day 5
February 5, 2022- Tried debugging previous code
- Made progress with API fetch
- Ran into input and output bugs
- Contributed here
Day 7
February 7, 2022- Iterative Bubble Sort
- Iterative Insertion Sort
- Recursive Merge Sort
- Updated Selection Sort Description
- Learnt 'Adaptive' feature of sorting algorithms
Day 8
February 8, 2022- Recursive Quick Sort
- Tried Iterative versions of algorithms but failed
Day 9
February 9, 2022- Improved Docstrings for sorting algorithms
- Counting Sort
- Radix Sort
- Bucket Sort
Day 10
February 10, 2022Day 11
February 11, 2022- Heap Sort
- Started implementing Binary Search Tree
Day 12
February 12, 2022- Completed implementing Binary Search Tree
Day 13
February 13, 2022- Added `delete()` function to the BST
- Added `preOrder()` function to the BST
- Added `getMin()` function to the BST
- Added `isLeaf()` function to the BST
- Updated docstrings all over the BST
- Updated Time Complexity analyses for all functions in the BST
- Learnt about the different kinds of trees
- Learnt about the Enumeration of K-ary trees
- Studied the Handshake Lemma property of K-ary trees
Day 14
February 14, 2022- Worked upon semester project here
- Learnt about Server Side Inclusions of HTML Elements
- Learnt about HTML Table `thead` and `tbody` Elements
- Integrated Grid and Flex displays to show the table
Day 15
February 15, 2022- Attempted to implement Linked List
- Added search() function to Binary Search Tree
- Updated doctrings of Binary Search Tree to include space complexities
Day 16
February 16, 2022- Repaired Linked List
- Updated Linked List docstrings
Day 17
February 17, 2022- Refactored folder names
- Started implementing Graph Data Structure
Day 18
February 18, 2022- Attempted a problem on LeetCode
- Solved Brute force, learnt Best Solution online
- Recorded progress here
Day 19
February 19, 2022Day 20
February 20, 2022Day 21
February 21, 2022- Solved on LeetCode
- Understood the best solution
- Recorded progress here
Day 22
February 22, 2022- Solved multiple questions on LeetCode
- Understood the best solutions
- Recorded progress here
Day 23
February 23, 2022- Learnt a list flattening solution on LeetCode
- Understood the iterative and recursive solution
- Recorded progress here
Day 24
February 24, 2022- Learnt 2 LinkedList questions on LeetCode
- Understood the best solutions
- Recorded progress here
Day 25
February 25, 2022- Read about recursion techniques online
Day 26
February 26, 2022- Solved 2 Queue questions on LeetCode
- Understood the best solutions
- Recorded progress here
Day 27
February 27, 2022- Published an article on my blog here
Day 28
February 28, 2022- Tried to solve a BFS question on LeetCode
Day 29
March 1, 2022- Solved the BFS question on LeetCode, with a little help
- Recorded progress here
Day 30
March 2, 2022- Solved another BFS question on LeetCode, with a little help
- Recorded progress here
Day 31
March 3, 2022Day 32
March 4, 2022- Solved a few Stack questions on LeetCode
- Recorded progress here
Day 33
March 5, 2022- Submitted my Research Paper on Partial Automation of Data Selection, Data Visualisation and Machine Learning Model Building with Python
Day 34
March 6, 2022- Published my blog for the day on Medium
Day 35
March 7, 2022- Gave mid-semester examinations for Web Programming and Python Programming
- Solved questions based on the Theory of Automata and Computation
Day 36
March 8, 2022- Gave mid-semester examinations for Operating Systems and Theory of Automata and Computation
- Solved a few Stack questions on LeetCode
- Recorded progress here
Day 37
March 9, 2022- Gave mid-semester examination for Discrete Math
- Studied a Stack question on LeetCode
- Recorded progress here
Day 38
March 10, 2022- Tried solving a stack problem online, but could not find it
- It appears to be a permutations-based question, will try again later
Day 39
March 11, 2022- Started working in my personal portfolio and website!
Day 40
March 12, 2022- Conducted a software efficiency workshop for teaching faculty members at EuroSchool
Day 41
March 13, 2022- Revised a few concepts of HTML and CSS but did not write code
Day 42
March 14, 2022- Worked on my personal portfolio website
Day 43
March 15, 2022- Worked more on my personal portfolio website
Day 44
March 16, 2022- Tried but failed to solve a problem on LeetCode
Day 45
March 17, 2022- Tried but failed to solve the same problem on LeetCode
Day 46
March 18, 2022- Found the solution online and studied it. Dynamic Programming
Day 47
March 19, 2022- Worked upon an article for my blog
Day 48
March 20, 2022- Tried to re-solve a problem on LeetCode
Day 49
March 21, 2022- Shifted to my hostel room, could not find time to code
Day 50
March 22, 2022- Re-solved a LeetCode problem
Day 51
March 23, 2022- Tried to convert a recursion code to iterative form
Day 51
March 24, 2022- Coded Binary Tree Inorder Traversal using Loops instead of Recursion
Day 52
March 25, 2022- Implemented Stack using Queue with friends
- Implemented Queue using Stack with friends
- Studied improved and better solutions for these problems
Day 53
March 26, 2022- Resumed Google Data Analytics course
- Studied 1 unit and gave the test series for the same
Day 54
March 27, 2022- Published my blog on Medium here
- Studied one unit and gave the test for the same
Day 55
March 28, 2022- Studied Operating Systems and made notes on the same
Day 56
March 29, 2022- Studied online a solution to a LeetCode problem on Stacks
Day 57
March 30, 2022- Solved a Flood Fill problem on LeetCode
Day 58
March 31, 2022- Worked upon a Dynamic Programming problem on LeetCode
Day 59
April 1, 2022- Worked upon the same Dynamic Programming problem on LeetCode
Day 59
April 2, 2022- Debugging the Dynamic Programming problem on LeetCode
Day 60
April 3, 2022- Debugging the Dynamic Programming problem on LeetCode
Day 61
April 4, 2022- Studied a unit of SQL and Spreadsheet data processing as part of the Google Data Analytics course
Day 62
April 5, 2022- Studied about Machine Learning model types and made notes
- Studied the solution of the Dynamic Programming question on LeetCode
Day 63
April 6, 2022- Studied the solution of zero-sum subarray problem online
Day 64
April 7, 2022- Solved and studied 2 BFS problems on LeetCode
Day 65
April 8, 2022- Solved and studied 3 Binary Search problems on LeetCode
Day 66
April 9, 2022- Solved and studied the solutions of a Binary Search problem on LeetCode
Day 67
April 10, 2022- Solved and studied the solutions of 2 Binary Search problems on LeetCode
Day 68
April 11, 2022- Tried solving Binary Search problems on LeetCode
Day 69
April 12, 2022- Studied solution of a problem online
Day 70
April 13, 2022- Worked upon web programming project in class
Day 71
April 14, 2022- Wrote code for DDA Algorithm using C
Day 72
April 15, 2022- Continued online course on Google Data Analytics
Day 73
April 16, 2022- Studied solution to a problem on LeetCode
Day 74
April 17, 2022- Studied solution to a problem on LeetCode
Day 75
April 18, 2022- Solved and studied a Binary Search problem on LeetCode
Day 76
April 19, 2022- Solved and studied a Binary Search problem on LeetCode
Day 77
April 20, 2022- Solved 2 Binary Search problems on LeetCode
Day 78
April 21, 2022- Worked upon website for hackathon we are organising
- Worked upon my portfolio website
Day 79
April 22, 2022- Worked upon website for hackathon we are organising
Day 80
April 23, 2022- Worked upon my portfolio website
Day 81
April 24, 2022- Worked upon my portfolio website
Day 82
April 25, 2022- Deployed my semester web development project on cricket scores on GitHub Pages
- Worked upon my portfolio website
Day 83
April 26, 2022- Worked upon my portfolio website
- Resumed progress on Google Data Analytics Professional Certificate
Day 84
April 27, 2022- Worked upon my portfolio website
- Made progress on Google Data Analytics Professional Certificate
Day 85
April 28, 2022- Worked upon my semester project on web development
- Made progress on Google Data Analytics Professional Certificate
Day 86
April 29, 2022- Made progress on Google Data Analytics Professional Certificate
Day 87
April 30, 2022- Made progress on Google Data Analytics Professional Certificate
Day 88
May 1, 2022- Made progress on Google Data Analytics Professional Certificate
Day 89
May 2, 2022- Worked upon my Portfolio Website
- Solved a LeetCode Problem
- Made progress on Google Data Analytics Professional Certificate
Day 90
May 3, 2022- Worked upon planning University Website
- Made progress on Google Data Analytics Professional Certificate
Day 91
May 4, 2022- Pushed initial structure of University Website onto GitHub
Day 92
May 5, 2022- Practiced and developed a small prototype website for upcoming hackathon
- Prepared to organise said hackathon and handled participant list on spreadsheets
Day 93
May 6, 2022- Worked on website in 24 Hour Hackathon organised by my team and I
- Continued development for 18 hours
Day 94
May 7, 2022- Completed the last few elements of website and submitted the same for evaluation
Day 95
May 8, 2022- Learnt the Banker's Algorithm used in Operating Systems
Day 96
May 9, 2022-
Practiced the following in Bash Scripting:
- Looping Control Structures
- Conditional Control Structures
- Functions
- Recursive Functions
- Ran into a recursion bug in `factorial` function which returns factorial modulo 256
- Switch Case statements
- Made progress in Google Data Analytics Professional Certificate
Day 97
May 10, 2022-
Practiced the following in Python:
- Streamlit API
- Took up the 30 Days of Streamlit Challenge
- Asked a friend who never worked with Streamlit before to review my code for readability
- Made progress in Google Data Analytics Professional Certificate
Day 98
May 11, 2022-
Practiced the following in Python:
- Automating function calls
- Automating content updates using file handling
- Discovered a new method of calling functions using string values, through a dictionary
- Made progress in 30 Days of Streamlit Challenge
Day 99
May 12, 2022-
Practiced the following in Python:
- Streamlit API functions
- Debugged the Streamlit App
- Made progress in 30 Days of Streamlit Challenge
Day 100
May 13, 2022-
Practiced the following in Python:
- Streamlit API
- Deployed the application on Streamlit Cloud
- Split the GitHub repository into development and deployment branches
- Used the CLI to push changes onto development branch and keep deployment branch stable
- Set up a Pull Request Template on main branch
- Made progress in 30 Days of Streamlit Challenge


