100 Days of Code Challenge is an initiative I am commiting to take, where I will be spending each day working on problem solving and personal projects to improve my skills and push my boundaries.
After two failed attempts, I'm coming back by publicly committing to the 100DaysOfCode Challenge starting today!
I'm going to follow Two Main Rules:
- Code a minimum of an hour every day for the next 100 days.
- Tweet your progress every day with the #100DaysOfCode hashtag
My Exceptions:
- If I break the streak, I will make sure that I won't break it the next day
- My Community work, and few emergencies demands to take a day off
- Learn Software Development
- Solve problems on Data Structures and Algorithms
- Build Projects around Software Development
- Build JU Query platform for university students
- Community Work
- Java Core Concepts
- Object Oriented Programming in Java - Day 9, Day 10
- Collections Framework - Day 28, Day 30
- Generics - Day 28
- File Handling - Day 28
- Exception Handling - Day 28
- Concurrency and Multi-Threading - Day 29, Day 30
- JDBC - Day 31
- Lambda Expressions and Stream API (Functional Programming) - Day 32, Day 35, Day 36
- Object-Oriented Design - Day 38, Day 70
- JavaScript - Day 8, Day 13, Day 16, Day 17, Day 20, Day 42
- ReactJS & ReduxJS - Day 46, Day 60, Day 61, Day 67, Day 69, Day 70
- Firebase, - Day 33, Day 34
- NodeJS, - Day 49, Day 51, Day 59, Day 67
-
Data Structures
- Arrays - Day 1, Day 2, Day 3, Day 11, Day 13, Day 23, Day 26, Day 50, Day 64
- Strings - Day 23, Day 65
- HashMaps - Day 4, Day 13, Day 15, Day 23, Day 50, Day 64
- Stacks - Day 14, Day 60, Day 68
- Queues - Day 68
- Linked Lists - Day 22, Day 23, Day 24, Day 27, Day 55, Day 56, Day 57, Day 73, Day 74, Day 75, Day 77, Day 78
- Trees - Day 32, Day 37, Day 86
- Graphs - Day 66
- ❌ Heaps
- ❌ Tries
-
Algorithms
- Sorting - Day 26
- Insertion Sort
- Selection Sort
- Bubble Sort
- Count Sort
- Merge Sort
- Quick Sort
- Searching
- Recursion, Backtracking - Day 26, Day 39, Day 78, Day 83
- Dynamic Programming - Day 53, Day 54
- Two pointers - Day 64, Day 78, Day 79
- Greedy - Day 64, Day 65, Day 80, Day 81
- ❌ Bit Manipulation
- ❌ Mathematical problems
- Sorting - Day 26
-
Solve Hackerrank Challenges in Java - Day 15
- Build Full-stack Apps
- Build ReactJS Web Apps
- Build NodeJS Microservices
- Build Vanilla JavaScript Projects - Day 40, Day 41, Day 47, Day 58
- SQL Injection & Prevention Project - Day 51
- IMDb Web Scrapper - Day 6
- Eco Monitor IoT Project
- JU Query Features - Day 43, Day 44
- Add Authentication components
- Google OAuth
- Facebook OAuth - Day 43
- Homepage components
- Add Query component
- Answer Query component
- Show Answer component
- Basic Routing - Day 73, Day 76
- ❌ Topic-specific components
- ❌ User Profile components
- ❌ Create Event specific components
- ❌ Create User and Admin Roles
- ❌ Add ML recommendation engine component
- ❌ Create Admin Dashboard
- Add Authentication components
- JavaScript Roadmap I - The Basics Event - Day 8, Day 16, Day 17, Day 21
- Event Timeline Page (Community Project) - Day 59
- JavaScript Roadmap II - DOM Manipulation Event - Day 65
- Git and GitHub Event - Day 71
- JavaScript Roadmap III - EcmaScript Event - Day 72
- Solved 6 frequently asked Interview Problems on Array Data Structure:
- Next Permutation
- Pascal's Triangle II
- Pascal's Triangle
- Set Matrix Zeroes
- Merge Intervals
- Maximum Subarray
My Leetcode profile: aswin26barath
- Solved 8 Problems on Array Data Structure at Leetcode and GFG:
- Count Inversions
- Buy and Sell stocks
- Rotate Image
- Search in 2D Matrix
- Search in 2D Matrix - II
- Determine Whether Matrix Can Be Obtained By Rotation
- Majority element - I
- Majority element - II
My Leetcode profile: aswin26barath
- Solved 2 Problems on Array Data Structure at Leetcode:
- Reverse Pairs
- Most frequently asked Google SDE problem: Unique Paths
My Leetcode profile: aswin26barath
- Revised Hashmaps and Generics concepts in Java
- Solved Two Sum problem using Hashmaps at Leetcode
My Leetcode profile: aswin26barath
- Solved python challenges based on Object oriented programming
Python Challenge: Challenge - 1
- Built an IMDb web scrapper to generate the data of top 5 IMDb rated Movies and top 10 IMDb rated directors using Beautiful soup
Project Repository: IMDb web scrapper
- Built my personal portfolio website -> https://aswinbarath.me/
- Deployed on Netlify hosting platform
- And set up a custom domain using namecheap service
- Worked on the presentarions for JavaScript Basics Event ✍
- Created basic code snippets for understanding JavaScript Basics 💪
- Started off with the week with vaccination 💉
- Took some rest for after effects of vaccination 💉🛌
- Revised the concepts of Java programming and Operating Systems
- Revised Operating Systems
- Hands-on practice on Java programming in Eclipse IDE
- Solved basic array problems from GFG Practice platform ✍
- Explored problem solving tracker project built with react and typescript
- Built an IoT project "Eco Monitor" - Light Intensity Sensor project🍀
- Performed data analystics using visualization to display sensor data 📈📊📉
- Explored the Bolt IoT Cloud platform
- Solved Regular expression challenges in JavaScript from Hackerrank 🧾
- Learnt more about Generics with wildcards
- Practices Hackerrank problems on Generics
- Solved the problem Largest subarray with zero sum
- Built a Stack Data Structure using Java 📚
- Learnt more about objects, methods, dependencies 🕵️♀️
- Learnt basics of Spring framework (Java) 🍃
- Solved a SDE Hashing problem
- Brushed up Java skills with 30 Days of Code Hackerrank challenge
- Worked more on JS Roadmap Basics event presentations and code snippets
- Solved few Python Challenges
- Attended Saturday's LeetCode contest
- Attended an Interview round on the topics: SQL, Algorithm and Data Structures
- Completed the JavaScript challenges from 10 Days of JS
- Successfully conducted JavaScript Roadmap - The Basics event
- Shared about 10 Days of JS challenge in my JS Roadmap Basics event
- Gained more knowledge about SSH and basic commands
- Learnt new concepts from Operating Systems
- Solved several SDE (frequently asked) Interview problems from GFG practice platform
- Solved CSS challenges from freeCodeCamp's Responsive Web Design course
- Learnt new concepts from Operating Systems
Disentangled JavaScript Algorithms and Data Structures course from freeCodeCamp for the past three days:
- Solved more challenges on Regular expressions using JavaScript
- Completed JavaScript debugging challenges
- Check out the JavaScript tutorials on Regular expressions to learn from basics to advanced regex statements by solving real-world challenges: Regex challenges at FCC0
- Wrapped up the JS Roadmap Basics event
- Shared the code files and Git Repositories with my community
- Deployed the code on Repl.it platform
- Revised and learnt the concepts: OOPs, Stacks, Queues, Linked lists
- Attended Gatsby v2 (Intermediate) workshop from Front-end masters
- After solving various problems on Arrays, Strings and Hashmaps:
- Pulled off a deep dive in Linked list data structure and learnt more about:
- What is a Linked list?
- Need for Linked list
- Arrays VS Linked list
- Types of Linked list
- Linked list operations
- Types of problems
- Linked lists GitHub Repository
- Attended an Interview round which included Computer Science concepts, problems on Data Structures and Algorithms, case studies on SQL with Schemas, RDBMS and system designs
Solved few problems based on Linked list at Leetcode and GFG
- Reverse a Linked list
- Middle of a Linked list
- Even nodes after odd in Linked list
- Linked lists GitHub Repository
- Brainstormed new ideas for JU Query project
- Took part in Phase 0 Project discussion
- Spun up the Repo for JU Query and provided neat documentation with Markdown language
- JU Query Repo
- JU Query Deployed Link
- Revised the problem solving concepts of Arrays, Sorting, Recursion
- Learnt about basic problem solving using Binary Search
- Learnt more about problem solving techniques for Linked lists
- Constructed a project - Stock Analysis using Java that employs the following ideas:
- File Handling
- Generics
- Collections Framework
- Exception Handling
- Try with Resources and AutoClosable Interface
- Practiced 3 different ways to start a thread in Java
- Learnt the concepts of Thread safety and Synchronization
- Practiced thread safety and synchronized blocks in Java
- Used concurrent collections for implementing thread safe Java programs
- Revised the concepts of Collections Framework
- Started learning about Producer Consumer Pattern
- Deciphered challenges in Hackerrank on Exception Handling using Java
- Executed a concurrent producer-consumer pattern using Java
- Operated with ArrayBlockingQueue collection
- Obtained knowledge on Thread pools
- Engaged Executor Framework to perform tasks using spawned thread pools
- Overview on Java Database Connectivity (JDBC)
- Installed MySQL for Java
- Connected a database using JDBC
- Grasped the concepts of Lambda expressions in Java
- Got the hang of the Functional programming paradigm implemented in Java 8
- Exercised converting methods into lambda expressions
- Designed custom Functional interfaces to operate with lambdas
- Pulled off a swift dive in Tree data structure and learnt more about:
- Introduction and terminologies in a Tree
- Types of Binary Trees
- Types of Tree Traversals
- Representation of Binary Tree in Java
- Refactored React hooks for JU Query project
- Uncovered more about the Firebase platform
Learn more about firebase from my blog posts:
-
Deep dive into Firebase Firestore service
-
Built a real-time dynamic chat application using firebase
-
Deployed onto production using firebase hosting
-
Fixed a production bug in the public directory
-
Built a Image sharing application using firebase
-
Deployed onto production using firebase hosting
- Practiced more on Lambda expressions using Java
- Gained more knowledge about Built-in Functional Interfaces in Java
- Learnt about default implementation in Functional Interfaces, a new feature from Java 8 (This new feature was introduced to support new functional programming abilities from Java 8)
- Practised Lambda Expressions with Streams
- Completed the Practical Java Development Course, this is what I learnt:
- The Collections Framework
- Generics
- Concurrency and Multithreading in Java
- Java Database Connectivity (JDBC)
- Lambda Expressions
- The Stream API
- Solved Tree traversals: Inorder, Preorder, Postorder
- Getting started with Object-Oriented Design (OOD) and Low-level Design (LLD).
- Revisited Objects, Methods and dependencies.
- Learnt more about Dependency Association, Composition Association and Aggregation Association through Java coding examples.
-
Assessed my recursion skills in Java @HackerRank
- Solved: Recursive Digit Sum
- Solved: Fibonacci Numbers
-
Can you complete the challenge?
- Back to basics by refactoring a project repository: Book Information
- Resolved 4 issues from the project which include code refactoring, README update, and icon
- Reviewed my pull requests and merged them into the master branch
- Updated the entire codebase with bootstrap design inputs
- Complete directory restructure
- Followed naming conventions and best practices
- Well documented README
- Project: https://github.com/AswinBarath/Book-Information
- Here's the git history:
- Back to basics by refactoring the project repositories: Book Information 2.0, Robot Friend and Image portfolio
- Resolved 14 issues from the projects which include code refactoring, README update, and demo
- Reviewed my pull requests and merged them into the main branch
- Updated the entire codebase with bootstrap design inputs
- Complete directory restructure
- Followed naming conventions and best practices
- Well documented README
- Here are the project links
- Checkout the project demos over here:
-
Solved JavaScript Strings and Arrays exercises from Front-end masters:
- Added Facebook OAuth feature to JU Query project
- Fixed bugs and improved web-app performance
- Refactored the React functional components
- Fixed production bugs
- Improved the design
- Refactored the React components
- gzipped the app for optimized production and deployed the bug fixes
- Learnt more about Binary Search and its importance
- Gained new knowledge on optimization of Binary Search:
- Improvement in finding middle element
- Order-agnostic Binary Search
- Repository:
- Learning more about Functional Components in React
- Started project-based learning through building LinkedIn clone:
- Set up and built the header components
- Worked on Sidebar components
-
Solved 4 problems on Binary Search
- Repo: https://git.io/JuSnw
-
Refactored, Documented and Optimized 3 front-end projects
- Repo: https://git.io/JuSnD
-
Solve 3 problems on Binary Search - Easy, Medium, Hard
- Peak index in Mountain array
- Find Peak Element
- Find in Mountain array
-
Repo: https://git.io/JuSnw
-
Solved 10+ API based challenges using NodeJS and ExpressJS from freeCodeCamp
- GitHub Repository: https://git.io/JuAl6
- Always On Repl: https://replit.com/@ashwin26/nodejs-expressjs-scripts?v=1
- Live link: https://nodejs-expressjs-scripts.ashwin26.repl.co/
-
Solved 3 problems on the topics Arrays, Hashing and Binary Search at Leetcode
- Maximum Subarray
- Contains Duplicate
- Search in Rotated Sorted Array
- Worked on 2 projects:
- Simplistic Login Microservice built with NodeJS & ExpressJS
- GitHub Repo
- Live link
- Optimized the project
- Documented the code and readme
- SQL injection which demonstrates attacks using malicious SQL queries
- GitHub Repo
- Live link
- Refactored the project
- Updated documentation
- Simplistic Login Microservice built with NodeJS & ExpressJS
- Solved 10 problems using 3 variations of Binary Search at LeetCode
- Explored patterns in Dynamic Programming (DP) problems
- Solved the problems similar to Fibonacci problem using DP:
- Climbing Stairs
- House Robber
- Repository: Dynamic-Programming
- Solved problems from 2 Dynamic Programming (DP) patterns:
- Min Cost Climbing Stairs
- Partition Equal Subset Sum
- Repository: Dynamic-Programming
- Solved problems on Linked lists based on 2 patterns:
- Reverse the given Linked list
- Remove Nth Node from the end of the list (Runner pattern - also known as Tortoise-Hare)
- Repository: Linked-lists
- Solved 3 problems on Linked lists:
- Delete a node in a linked list
- Add two numbers I & II
- Refactored the Java Packages, Formatted the code, and fixed all of the bugs
- Generated self-sustaining templates for problems
- Repository: Linked-lists
- Solved 3 problems on Linked Lists:
- Remove Linked List Elements
- Merge Two Sorted Lists
- Return Kth Node From End of List
- Added more packages and documentation
- Repository: Linked-lists
- Updated the configuration in the JavaScript Repos:
- authenticated-todo-app
- nest-js-api
- Added more Python Challenges on various topics such as:
- data structures, map, lambda,filter, zip, reduce, decorators, generators, file handling & exception handling
- Python programming challenges
- Built an Event timeline web app for Codecademy JU Chapter Community
- Deployed the web app on top of Repl it using NodeJS and ExpressJS
- Event Timeline web app
- Join Codecademy JU Chapter
- GitHub Repository
- Web App Demo
- Implemented the Stack Data Structure in 4 ways:
- Stack Implementation using Arrays
- Generic Stack Implementation
- Stack Implementation using Linked Lists
- Stack in Collections Framework
- Stacks Repository
- Continued project-based learning through building Tesla clone:
- Set up and built the homepage component
- Worked on Section components for reusability
- Repository
- Added Header component in the Tesla React Clone App
- Used Hamburger Menu from Material UI
- Applied media-queries for Dynamic display.
- Repository
- Solved a couple of problems on Binary Search
- Structured the problems into 3 templates of Binary Search
- Documented a list of Easy, Medium and Hard problems from the same topic
- Repository: https://git.io/JuSnw
-
Built a Joke Teller web app using
- JokeAPI (RESTful)
- Text-to-Speech API (VoiceRSS)
-
Updated Arrays data structure repository
- Solved two problems using Java in Brute force and Optimal ways
- Two Sum
HashMaps
,Two Pointers
,Arrays
- Container With Most Water
Two pointer
,Greedy
,Arrays
- Two Sum
- Solved a problem from LeetCode Contest
- Convert 1D Array Into 2D Array
Arrays
,Matrix
- Convert 1D Array Into 2D Array
- Solved two problems from LeetCode Contest:
- Find Missing Observations
Greedy
,Strings
- Minimum Moves to Convert String
Strings
- Find Missing Observations
- Taught DOM Manipulation as part of JavaScript Roadmap event at Codecademy JU chapter
- Revised the Theoretical concepts of Graph Data Structure
- Updated GitHub Profile README with a new look
- Graphs Repository
- GitHub Profile README
- Completed the development of Tesla's landing page in ReactJS
- Tesla Landing Page Clone App
- Built a Real-time Twitter Streaming App with NodeJS, SocketIO and Twitter APIs
- Transformed my GitHub Profile README to a newer and better look
- Solved two problems based on Stacks:
- Valid Parenthesis
- Next Greater Element
- Implemented Queue using Array
- Implemented Stack using Queue
- Implemented Queue using Stack
- Stacks Repo
- Queues Repo
- Started to build a massive e-commerce react application which is similar to Shopify
- Here's my project pipeline for the day:
- Project initialization using Create React App
- Adding NodeJS SASS package for styling
- Broken homepage into components & applied SASS animations
- Clothing e-commerce React application repository
- Updated menu-items component to automate the page routing to specific URLs based on the passed props using React Router
- Clothing e-commerce React application repository
- Added my work on Object Oriented Design based on project based learning approach
- https://github.com/AswinBarath/Object-Oriented-Design
- Taught Git and GitHub at Codecademy JU Chapter
- Recording: https://lnkd.in/eAn6QAYt
- Wrap Up Page: https://lnkd.in/eUa4haKp
- Git and GitHub Basics
- Taught ECMAScript Features from JavaScript at Codecademy JU Chapter
- Wrap Up Page: https://community.codecademy.com/events/details/codecademy-jain-university-ju-presents-javascript-roadmap-iii/
- JS Roadmap ECMAScript
- Solved two problems from Linked Lists
- Intersection of Two Linked Lists
- Cycle Detection in a Linked List
- Restructured the developer environment at JU Query project
- Added React-router-DOM package with basic routing abilities for JU Query Web App
- JU Query Repo
- Solved 3 problems using Linked Lists
- Reverse Nodes in k-Group
- Swap Nodes in Pairs
- Swapping Nodes in a Linked List
- Solved the Linked List Palindrome checker problem at LeetCode
- Built different pages and components for JU Query Project
- Experimented pages with React Router and learning more about it
- JU Query Repo
- JU Query Deployed Link
- Solved the problem of finding the starting point of a cycle in Linked list
- Solved 3 Linked list problems using Recursion and two-pointers approach:
- Flatten given Linked list
- Rotate given Linked list
- Clone a given Linked list with next and random pointers
- Solved 3 problems using two-pointers approach:
- Find triplets with 0 sum
- Remove Duplicates from Sorted Array
- Max Consecutive Ones
- 2-pointers Repo: https://git.io/JKHRE
- Solved 3 problems using greedy approach:
- N meetings In One Room
- Minimum Platforms
- Job Sequencing
- Greedy-algorithms Repo: https://git.io/J6lZU
- Solved 2 more problems using greedy algorithm
- Minimum coins
- Fractional Knapsack
- Greedy-algorithms Repo: https://git.io/J6lZU
- Solved the problem Split Array Largest Sum using Binary Search
- Binary-Search Repo: https://git.io/JuSnw
- Revised the concepts from Recursion
- Recursion Repo: https://git.io/JPzPQ
- Learnt #DSAwithKunal focusing on Recursion
- Got to understand Recursion and how to approach problems in the best way
- Recursion Repo: https://git.io/JPzPQ
- Used Markdown in my Web End Projects Repository extensively to visualize my project cover designs, demo and important links
- Web End Projects: https://github.com/AswinBarath/Web-End-Projects
- Solved problems to find Size, Height, Max & Min from a Binary Tree
- Trees Repo: https://git.io/J1MM0
- 21 Nov Sunday, 2021
- Learnt react-router-dom tutorial
- Implemented basic routing in JU Query
- 23 November Tuesday, 2021
- Implemented on Tree traversals
- Documented tree traversals neatly on README
- Tree Travesal Docs Commit
- 25 November Thursday, 2021
- Implemented Postorder iterative tree traversals using 1 stack and 2 stacks in java
- 26 November Friday, 2021
- Updated Java packages and classes with tree traversals
- Added extensive documentation for Linked-lists, Bit-Manipulation, Binary-search and Trees repositories
- 28 November Sunday, 2021
- Implemented All-in-one Tree Traversals, Height and Depth of Binary Tree
- 29 November Monday, 2021
- Learnt PHP basics from tutorials
- 1 December Wednesday, 2021
- Worked on Secure Programming Lab 1
- 4 December Saturday, 2021
- Revised the concepts of C Programming:
- pointers
- structure
- dynamic memory allocation
- 5 December Sunday, 2021
- Revised data structures:
- Arrays
- Hashmaps
- Linked lists
- Also revised algorithms:
- Recursion
- Sorting
- Searching
- 6 December Monday, 2021
- Revised SQL commands and concepts
- 12 December Sunday, 2021
- Started working on command line script project with JavaScript
- 26 December Sunday, 2021
- Continued the project work on command line script project with JavaScript and Python
- Implemented several tasks and passed some of the test cases
- 27 December Monday, 2021
- Successfully worked on CLI project in Python
- Passed 16/16 test cases from CLI project using python
- 29 December Wednesday, 2021
- Compiled and formatted the resources on IT Workshop in Python
- 30 December Thursday, 2021
- Worked on DSA-Craker-Sheet and SDE-sheet documentation
- Set the goals for 2022 using the following respositories:
- Learn Software Development
- Solve problems on Data Structures and Algorithms
- Build Projects around Software Development
- Build JU Query platform for university students
- Community Work
- T Aswin Barath [email protected]
(c) T Aswin Barath
Licensed under the MIT License.