<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Sai Ashish</title>
    <description>The latest articles on DEV Community by Sai Ashish (@theinsightfulcoder).</description>
    <link>https://dev.to/theinsightfulcoder</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F492420%2F22b9e086-981c-494b-b7ad-f96a26acec47.jpg</url>
      <title>DEV Community: Sai Ashish</title>
      <link>https://dev.to/theinsightfulcoder</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/theinsightfulcoder"/>
    <language>en</language>
    <item>
      <title>My Journey to Becoming a Google Developer Student Clubs Lead</title>
      <dc:creator>Sai Ashish</dc:creator>
      <pubDate>Tue, 28 Dec 2021 09:08:58 +0000</pubDate>
      <link>https://dev.to/theinsightfulcoder/my-journey-to-becoming-a-google-developer-student-clubs-lead-5cg2</link>
      <guid>https://dev.to/theinsightfulcoder/my-journey-to-becoming-a-google-developer-student-clubs-lead-5cg2</guid>
      <description>&lt;p&gt;Hello everyone, it's  &lt;a href="https://www.linkedin.com/in/sai-ashish/" rel="noopener noreferrer"&gt;Sai Ashish Konchada&lt;/a&gt;  back after a hiatus for good. The past few months have been a rollercoaster ride, a wave of happy hormones with nervous adventures. It gives me immense pleasure to announce that I've been selected as the first-ever Google Developer Student Clubs Lead at my college. In this post, we will be looking into the journey from the application to the selection. &lt;/p&gt;

&lt;h2&gt;
  
  
  Table of Content:
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;1. What is Google Developer Student Clubs?

2. What are the roles and responsibilities of a lead?
i. Starting/Growing a club
ii. Host Workshops
ii. Build projects

3. How can I apply to become a Google Developer Student Club Lead at my campus?

4. The Google Developer Student Clubs Lead Application Form 2021

5. Timeline for GDSC Selection 2021 and the Interview Experience
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  1. What is Google Developer Student Clubs?
&lt;/h2&gt;

&lt;p&gt;As per the official  &lt;a href="https://gdsc.community.dev/" rel="noopener noreferrer"&gt;website&lt;/a&gt;, Google Developer Student Clubs are university-based community groups for students interested in Google developer technologies. Students from all undergraduate or graduate programs with an interest in growing as a developer are welcome. By joining a GDSC, students grow their knowledge in a peer-to-peer learning environment and build solutions for local businesses and their community.&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/earTjC0iSjg"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;Google Developer Student Clubs(GDSC) are like your college/ university clubs, powered by Google Developers. Every year, Google selects leads from across the globe who align with the vision of GDSC and want to empower their community. This year, there are around 352 leads selected across India. There are many first-time leads,  as well as leads who continue the legacy initiated by the founder/former lead. It is not necessary if your college has an existing GDSC, then a lead will definitely be selected from your campus for the following year. &lt;/p&gt;

&lt;h3&gt;
  
  
  Who can become a Google Developer Student Club Lead?
&lt;/h3&gt;

&lt;p&gt;As per the  &lt;a href="https://developers.google.com/community/gdsc/leads" rel="noopener noreferrer"&gt;official website&lt;/a&gt;, these are the eligibility criteria to become a lead. &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Have a minimum of one year left until graduation&lt;/li&gt;
&lt;li&gt;Enrolled in an undergraduate or graduate program at a college or university&lt;/li&gt;
&lt;li&gt;Can commit to the program for one year&lt;/li&gt;
&lt;li&gt;Passionate about creating impact in the community&lt;/li&gt;
&lt;li&gt;Strong technical understanding of computer programming and/or software engineering&lt;/li&gt;
&lt;li&gt;Have experience with event planning or leading a team&lt;/li&gt;
&lt;li&gt;Have some connection to the local developer community&lt;/li&gt;
&lt;li&gt;Host an event ideally once a month, and at least every 3 months&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  2. What are the roles and responsibilities of a lead?
&lt;/h2&gt;

&lt;p&gt;The 3 basic responsibilities of a lead include:&lt;/p&gt;

&lt;h3&gt;
  
  
  i. Starting/Growing a club
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1635850852805%2F8zSMX4ylo.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1635850852805%2F8zSMX4ylo.png" alt="Google Developer Student Clubs Shree L R Tiwari College of Engineering"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you're the first-ever lead of a GDSC, you found and set up the club. For this, you might have to talk to your respective Teacher Incharge of such programs at your college, taking permission from the respective Head of Department and Principal for the same. This varies from college to college, so get in touch with a senior or teacher for the same. Being the Technical Head of my college I already was in touch with my respective HOD and Technical Incharge. I wrote a letter to them, explaining about GDSC, its benefits, the impact it creates, and permission for the same. &lt;/p&gt;

&lt;p&gt;Once you get the approval, you have to find a Faculty Incharge and form your Core Team. Find a faculty in charge, who actively takes the initiative for promoting such activities in your college, manages any scheduling conflicts, and provides insights about the events you conduct, suggests improvements.&lt;/p&gt;

&lt;p&gt;Forming the core team depends on you. You have the complete freedom to choose the number of members in your team, the hierarchy, and the domains you want to have. It is recommended to have 5 people in your core team as at the end of the year, Google sends 5 members(apart from the lead) the Graduation kit consisting of goodies. However, as mentioned earlier you can have more than 5 people and choose the top 5 people working diligently towards the club activities.&lt;/p&gt;

&lt;p&gt;There are 2 widely followed approaches in forming the core team. The first one is the Interview process. You create an announcement, people apply for the respective roles, you shortlist, conduct interviews, and choose members. The other one is that if you already know the people in your college and see people fit for the role, you choose them. My suggestion is to choose people who possess not only strong technical knowledge but also the ability to deliver sessions, connect with people, solve their individual doubts, give creative ideas for the growth of the clubs. You can choose to add a set of Behavioral questions to test this aspect. &lt;/p&gt;

&lt;p&gt;If you're the lead of an already existing GDSC, get in touch with your former lead, understand their vision, the events they've conducted, how they organized and dealt with various situations, how they can collaborate with existing GDSCs and other organizations, how to approach speakers and sponsorships for events, etc. Your lead is the best person you can find to elaborate in-depth about the program.&lt;/p&gt;

&lt;h3&gt;
  
  
  ii. Host Workshops
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1635851401403%2FXd8Axw2--.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1635851401403%2FXd8Axw2--.png" alt="Introduction to Hacktoberfest.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;After forming the core team, you can kickstart your journey with the Orientation session. You'd be provided with a timeline of events conducted by Google. You can choose to conduct those events as well as events of your own. I'll be writing a separate blog on how to create, promote and conduct your GDSC events once you become a lead. This is one of the workshops we conducted, where we introduced students to open source, how to contribute to it, and get started with Github. You can find the recording of the workshop &lt;a href="https://youtu.be/c4BA3sV98Y4" rel="noopener noreferrer"&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  iii. Build projects
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1635851211586%2FoKuLHKZJB.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1635851211586%2FoKuLHKZJB.png" alt="Solution Challenge GDSC"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In addition to hosting events and conducting hackathons, an integral part is the hands-on experience. GDSCs across the globe are known for creating impact among society. A GDSC should identify problems in their university or local community which could be solved via technology. One example to solving a university problem could be to build an online proctoring software, or automatic attendance system, or automation of daily tasks custom-built according to the needs of the university. Apart from these, GDSCs can host demo days, where they display the projects built by the teams of their club and also participate in the annual solution challenge. Read in-depth about this amazing global challenge  &lt;a href="https://developers.google.com/community/gdsc-solution-challenge" rel="noopener noreferrer"&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  3. How can I apply to become a Google Developer Student Club Lead at my campus?
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1635854403775%2FXJVeJjdG3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1635854403775%2FXJVeJjdG3.png" alt="Become a Google Developer Student Club Lead at your campus"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Applications to apply for becoming a lead, opens once every year depending on the region you belong from.  You can view the timeline and apply to become a lead  &lt;a href="https://developers.google.com/community/gdsc/leads" rel="noopener noreferrer"&gt;here&lt;/a&gt;. &lt;/p&gt;

&lt;h2&gt;
  
  
  4. The Google Developer Student Clubs Lead Application Form 2021
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1635854449803%2FghpYXd_Y5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1635854449803%2FghpYXd_Y5.png" alt="The Google Developer Student Clubs Lead Application Form 2021"&gt;&lt;/a&gt;&lt;br&gt;
When you apply to become a lead, it redirects you to Advocu where you fill out your application to become a lead. You've to fill out your basic details, share links to your work and account on Facebook, Github, LinkedIn, Medium, Qwiklabs, Stack Overflow, Twitter, Portfolio, and website link(if any). I strongly recommend you to build a strong profile on these platforms and be actively engaging, sharing your knowledge with the community.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Then comes the 3 major questions:&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;What is your motivation to run a Google Developer Student Club at your College?&lt;/p&gt;

&lt;p&gt;What is your experience in leading a project or a team&lt;/p&gt;

&lt;p&gt;What technology do you find most interesting and why? What is your experience with this technology?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;My Tips:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Please tailor these questions according to &lt;strong&gt;your&lt;/strong&gt; skills, experience, and expertise&lt;/li&gt;
&lt;li&gt;Don't take model answers or points from other applicants &lt;/li&gt;
&lt;li&gt;Be real&lt;/li&gt;
&lt;li&gt;Be unique&lt;/li&gt;
&lt;li&gt;Always proofread and use a Grammar tool, such as Grammarly&lt;/li&gt;
&lt;li&gt;Have keywords in your answers. If technology is asked, mention all the names of technologies you have working knowledge on&lt;/li&gt;
&lt;li&gt;Be active in leading clubs/communities from the very beginning. Experience proves your leadership, communication, and community building skills rather than plainly stating it&lt;/li&gt;
&lt;li&gt;Mention statistics where necessary. Example: In the Technical Carnival conducted in our college last year, we had a total of 600 active participants. &lt;/li&gt;
&lt;li&gt;As mentioned earlier, have a strong online presence and community contribution&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Apart from this, you've to record a 90-second video and show us why you are the right person to be a GDSC Leader at your College&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Choose the best points and practice beforehand.  You don't need to have a professional mic, camera, or edit videos in order to get selected. Make sure you are perfectly audible and visible. You can also choose to display your points in a presentation but make sure you are visible in the video.&lt;/p&gt;

&lt;h2&gt;
  
  
  5. Timeline for GDSC Selection 2021 and the Interview Experience
&lt;/h2&gt;

&lt;p&gt;I had applied to become a GDSC Lead on 20th April 2021, the deadline being 11th May, 2021.  After applying, you get a mail with the subject, Thank you for applying [Developer Student Clubs Application Process - Sai Ashish Konchada]&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1635840806946%2FYuvSjAxdm.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1635840806946%2FYuvSjAxdm.png" alt="Thank you for applying Developer Student Clubs Application Process - Sai Ashish Konchada"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you get shortlisted among the application process, you get an email with the title, Next Steps [DSC Application Process - Sai Ashish Konchada]&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1635854544528%2FMfr4iGIBO.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1635854544528%2FMfr4iGIBO.png" alt="Next Steps DSC Application Process - Sai Ashish Konchada"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I scheduled an interview call for May 18th. The interview lasted for 15 minutes. The interviewer was very friendly and created a friendly atmosphere by mentioning to treat it as a discussion rather than an interview. To the best of my memory, a few of the questions were to talk about myself, the GDSC program, my previous community experiences, my plans for GDSC. If any lead is reading this, I urge them to share their interview experience too.&lt;/p&gt;

&lt;p&gt;On July 15, I received an email - [Google Developer Student Clubs] Congratulations!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1635841907672%2Fip8IX2mUd.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1635841907672%2Fip8IX2mUd.png" alt="Google Developer Student Clubs Congratulations Mail"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;And I got selected as the Google Developer Student Clubs Lead for my campus! As per the instructions, I acknowledged my confirmation and began laying the foundation of  &lt;a href="https://gdsc.community.dev/shree-l-r-tiwari-college-of-engineering-thane/" rel="noopener noreferrer"&gt;GDSC SLRTCE&lt;/a&gt;. &lt;/p&gt;

&lt;p&gt;And that's a wrap! I hope this blog post finds an aspiring lead, answers his/her doubts, and gains insights about the Google Developer Student Clubs Program. If you've any queries, drop them down in the comment section below and I'll try to answer it as soon as I can. Until the next one, cheers to learning 🥂&lt;/p&gt;

&lt;h2&gt;
  
  
  Did you know you can join our club too?
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1635852347012%2FXneBxY_HG.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1635852347012%2FXneBxY_HG.png" alt="Google Developer Student Clubs Shree L R Tiwari College of Engineering"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Become a member of  &lt;a href="https://cutt.ly/gdsc-slrtce" rel="noopener noreferrer"&gt;GDSC SLRTCE&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;Follow us on &lt;a href="https://www.instagram.com/gdscslrtce/" rel="noopener noreferrer"&gt;Instagram&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Connect with us on &lt;a href="https://www.linkedin.com/company/gdsc" rel="noopener noreferrer"&gt;LinkedIn&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Find the recordings to our sessions on  &lt;a href="https://www.youtube.com/channel/UCM920MVf8rerjUqW6OVHNrg" rel="noopener noreferrer"&gt;Youtube&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Join our &lt;a href="https://discord.com/invite/HjYWZdhUsE" rel="noopener noreferrer"&gt;Discord&lt;/a&gt;  server for regular updates &lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>computerscience</category>
      <category>leadership</category>
      <category>beginners</category>
      <category>programming</category>
    </item>
    <item>
      <title>25 YouTube Channels to Learn Web Development for Free</title>
      <dc:creator>Sai Ashish</dc:creator>
      <pubDate>Mon, 31 May 2021 11:10:49 +0000</pubDate>
      <link>https://dev.to/theinsightfulcoder/25-youtube-channels-to-learn-web-development-for-free-45np</link>
      <guid>https://dev.to/theinsightfulcoder/25-youtube-channels-to-learn-web-development-for-free-45np</guid>
      <description>&lt;p&gt;Web Development is one of the highest-paying careers today. According to the U.S. Bureau of Labor Statistics, web development provided employment to 174,300 developers in the US alone. Going forward, the industry is expected to grow 8% from 2019 to 2029, faster than most other occupations. With such increasing demand, peers are always in the search for valuable resources which don't burn a hole in their pocket. Keeping that in mind, I've compiled a list of 25 Awesome YouTube Channels to Learn Web Development for free!&lt;/p&gt;

&lt;h2&gt;
  
  
  1. &lt;a href="https://www.youtube.com/channel/UCqrILQNl5Ed9Dz6CGMyvMTQ" rel="noopener noreferrer"&gt;Clever Programmer&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fyt3.ggpht.com%2Fytc%2FAAUvwniwccxGvXvGzzwka5f73aPbmdxvEX4G_cUd7TEzkw%3Ds176-c-k-c0x00ffffff-no-rj" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fyt3.ggpht.com%2Fytc%2FAAUvwniwccxGvXvGzzwka5f73aPbmdxvEX4G_cUd7TEzkw%3Ds176-c-k-c0x00ffffff-no-rj"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;One of my favorite channels, Clever Programmer, founded by Rafeh Qazi offers one of the best courses on Web Development. From actionable insights to website clones and earning a 6 figure salary as a developer, this channel covers it all. Clever Programmer currently has over 956k subscribers with over 39 million views already. I definitely suggest you visit this channel once if you haven't already.&lt;/p&gt;

&lt;h2&gt;
  
  
  2. &lt;a href="https://www.youtube.com/user/ssangha32" rel="noopener noreferrer"&gt;Sonny Sangha&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fyt3.ggpht.com%2Fytc%2FAAUvwngXcU2LcXQqcPyZFVwF_sV2zjB04K5RVFGE7heEwc4%3Ds176-c-k-c0x00ffffff-no-rj" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fyt3.ggpht.com%2Fytc%2FAAUvwngXcU2LcXQqcPyZFVwF_sV2zjB04K5RVFGE7heEwc4%3Ds176-c-k-c0x00ffffff-no-rj"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Sonny Sangha aka Papa React is one of the best mentors you could ask for. From being in the team of Clever Programmer and building a personal brand, Sonny has come a long time. Sonny builds amazing clones of websites such as Amazon, LinkedIn, Netlfix, live step by step. Sonny has recently started his own Youtube channel which has gained over 1 million views and 46k subscribers already.&lt;/p&gt;

&lt;h2&gt;
  
  
  3. &lt;a href="https://www.youtube.com/channel/UC3N9i_KvKZYP4F84FPIzgPQ" rel="noopener noreferrer"&gt;Akshay Saini&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fyt3.ggpht.com%2Fytc%2FAAUvwnin7zykyU20uPntBE42IfNsj9SAL7tKeE7eiNuUYA%3Ds176-c-k-c0x00ffffff-no-rj" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fyt3.ggpht.com%2Fytc%2FAAUvwnin7zykyU20uPntBE42IfNsj9SAL7tKeE7eiNuUYA%3Ds176-c-k-c0x00ffffff-no-rj"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Akshay Saini's course Namaste Javascript is one of the best in-depth, conceptual, simple, and effective tutorials you'd ever find. I've personally seen students thanking Akshay for his amazing explanation which has improved their skills by bounds. Akshay currently has 94k subscribers with 3 million views on his Youtube channel.&lt;/p&gt;

&lt;h2&gt;
  
  
  4. &lt;a href="https://www.youtube.com/user/thenewboston" rel="noopener noreferrer"&gt;The New Boston&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fyt3.ggpht.com%2Fytc%2FAAUvwnglVjQeNSAVO9GgKkrjIbCO_y0rOx7Yxx-2bv9r_A%3Ds176-c-k-c0x00ffffff-no-rj" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fyt3.ggpht.com%2Fytc%2FAAUvwnglVjQeNSAVO9GgKkrjIbCO_y0rOx7Yxx-2bv9r_A%3Ds176-c-k-c0x00ffffff-no-rj"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The New Boston is one of the biggest channels providing tons of free content on a plethora of topics. It has playlists for React, Angular, Node.js, ES6, Redux, Django, and more. The New Boston currently has 2.55 million subscribers and a whopping 479 million views!&lt;/p&gt;

&lt;h2&gt;
  
  
  5. &lt;a href="https://www.youtube.com/user/TechGuyWeb" rel="noopener noreferrer"&gt;Traversy Media&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fyt3.ggpht.com%2Fytc%2FAAUvwng963DN2_MIbKuvMWRrN4KG920h3Y4YHg6KET9vZg%3Ds176-c-k-c0x00ffffff-no-rj" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fyt3.ggpht.com%2Fytc%2FAAUvwng963DN2_MIbKuvMWRrN4KG920h3Y4YHg6KET9vZg%3Ds176-c-k-c0x00ffffff-no-rj"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Traversy Media needs no introduction. As the about section reads, "Traversy Media features the best online web development and programming tutorials for all of the latest web technologies including Node.js, Angular 2, React.js, PHP, Rails, HTML, CSS and much more." Traversy Media currently has 1.53 million subscribers and 138 million views. &lt;/p&gt;

&lt;h2&gt;
  
  
  6. &lt;a href="https://www.youtube.com/channel/UCeVMnSShP_Iviwkknt83cww" rel="noopener noreferrer"&gt;Code with Harry&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fyt3.ggpht.com%2Fytc%2FAAUvwnjeHnMHZ7T341QLHqPhQPfsG6ugvg_SV6z6FkYqGw%3Ds176-c-k-c0x00ffffff-no-rj" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fyt3.ggpht.com%2Fytc%2FAAUvwnjeHnMHZ7T341QLHqPhQPfsG6ugvg_SV6z6FkYqGw%3Ds176-c-k-c0x00ffffff-no-rj"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The saviour of Indian students, Haris Khan at his channel, Code with Harry teaches coding techniques to people in a short time which took him ages to learn. Harry has a Web Development Playlist consisting of over 100 videos that teach you web development from the basics to making an end to end responsive website. Code with Harry has 1.39 million subscribers and over 111 million views.&lt;/p&gt;

&lt;h2&gt;
  
  
  7.  &lt;a href="https://www.youtube.com/channel/UCFbNIlppjAuEX4znoulh0Cw" rel="noopener noreferrer"&gt;Web Dev Simplified&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fyt3.ggpht.com%2Fytc%2FAAUvwnhIz_0Su6HhW6Ym50QCroJCAnF10X9xnnMDboN2%3Ds176-c-k-c0x00ffffff-no-rj" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fyt3.ggpht.com%2Fytc%2FAAUvwnhIz_0Su6HhW6Ym50QCroJCAnF10X9xnnMDboN2%3Ds176-c-k-c0x00ffffff-no-rj"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I'll let the description of Web Dev Simplified do the talking. Web Dev Simplified is all about teaching web development skills and techniques in an efficient and practical manner. If you are just getting started in web development Web Dev Simplified has all the tools you need to learn the newest and most popular technologies to convert you from a no stack to a full stack developer. Web Dev Simplified also deep dives into advanced topics using the latest best practices for you seasoned web developers. This channel has 549k subscribers and 28 million views at the moment.&lt;/p&gt;

&lt;h2&gt;
  
  
  8. &lt;a href="https://www.youtube.com/channel/UCW5YeuERMmlnqo4oq8vwUpg" rel="noopener noreferrer"&gt;The Net Ninja&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fyt3.ggpht.com%2Fytc%2FAAUvwni-Wm0ZBDYJYFwySP2esxgc8s9mKiwmI3yJrmjlHQ%3Ds176-c-k-c0x00ffffff-no-rj" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fyt3.ggpht.com%2Fytc%2FAAUvwni-Wm0ZBDYJYFwySP2esxgc8s9mKiwmI3yJrmjlHQ%3Ds176-c-k-c0x00ffffff-no-rj"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The Net Ninja has over 1k tutorials on topics such as Modern JavaScript (beginner to advanced), Node.js, React, Vue.js, Firebase, MongoDB, HTML &amp;amp; CSS, PHP &amp;amp; MySQL, Laravel, React Native, and Flutter. It is one of the channels that gain viewers by word of mouth communication. The Net Ninja has 717k subscribers and 83 million views overall.&lt;/p&gt;

&lt;h2&gt;
  
  
  9. &lt;a href="https://www.youtube.com/channel/UCzNf0liwUzMN6_pixbQlMhQ" rel="noopener noreferrer"&gt;Coder Coder&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fyt3.ggpht.com%2Fytc%2FAAUvwngKKP6FGC5DptI89tz1cD-2Cv6DY0at2lAvwPC04g%3Ds176-c-k-c0x00ffffff-no-rj" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fyt3.ggpht.com%2Fytc%2FAAUvwngKKP6FGC5DptI89tz1cD-2Cv6DY0at2lAvwPC04g%3Ds176-c-k-c0x00ffffff-no-rj"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Jessica at Coder Coder, provides incredible practical tips on Web Development. She has a limited number of videos on her channel but has garnered 170k subscribers and 3 million views on her channel. Surely one to look for.&lt;/p&gt;

&lt;h2&gt;
  
  
  10. &lt;a href="https://www.youtube.com/user/schafer5" rel="noopener noreferrer"&gt;Corey Schafer&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fyt3.ggpht.com%2Fytc%2FAAUvwngomgNvn2XgfFWEVlxCl_tUVEOhmUTUTlesdnuD%3Ds176-c-k-c0x00ffffff-no-rj" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fyt3.ggpht.com%2Fytc%2FAAUvwngomgNvn2XgfFWEVlxCl_tUVEOhmUTUTlesdnuD%3Ds176-c-k-c0x00ffffff-no-rj"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Corey Schafer is another guy who needs no introduction. You'll gain a ton of knowledge on  Python, Git, Development Environments, Terminal Commands, SQL, Programming Terms, JavaScript, Computer Science Fundamentals among others. Corey has 776k subscribers and 57 million views on his channel right now.&lt;/p&gt;

&lt;h2&gt;
  
  
  11. &lt;a href="https://www.youtube.com/user/wesbos" rel="noopener noreferrer"&gt;Wes Bos&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fyt3.ggpht.com%2Fytc%2FAAUvwnjP0LxkG0UhtUeCq8BnTJgxRCn7Ot1wLrkOguP5Cpw%3Ds176-c-k-c0x00ffffff-no-rj" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fyt3.ggpht.com%2Fytc%2FAAUvwnjP0LxkG0UhtUeCq8BnTJgxRCn7Ot1wLrkOguP5Cpw%3Ds176-c-k-c0x00ffffff-no-rj"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Wes Bos, famously known for his Javascript 30 challenge, is one of the YouTubers you should definitely look out for. At the Javascript 30 challenge, you learn to build 30 Javascript projects using vanilla Javascript. Wes Bos has an amazing 131k subscribers and 6 million views on his channel. &lt;/p&gt;

&lt;h2&gt;
  
  
  12. &lt;a href="https://www.youtube.com/channel/UCNFmBuclxQPe57orKiQbyfA" rel="noopener noreferrer"&gt;Tanay Pratap&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fyt3.ggpht.com%2Fytc%2FAAUvwnibnmzbi8nfRHEAzdI-8lpPGsrD1F6Cg3mAImtQ%3Ds176-c-k-c0x00ffffff-no-rj" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fyt3.ggpht.com%2Fytc%2FAAUvwnibnmzbi8nfRHEAzdI-8lpPGsrD1F6Cg3mAImtQ%3Ds176-c-k-c0x00ffffff-no-rj"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Tanay Pratap, a Microsoft engineer shares his knowledge on Web Development on his YouTube channel. He has amazing long tutorials on HTML, CSS, JS, Git, Hosting, and more. Tanay has over 23k subscribers and half a million views on his channel. &lt;/p&gt;

&lt;h2&gt;
  
  
  13. &lt;a href="https://www.youtube.com/user/derekbanas" rel="noopener noreferrer"&gt;Derek Banas&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fyt3.ggpht.com%2Fytc%2FAAUvwnjUAaFsikVB8U9VFt_TE6w074PwyaM48yC3HobDbQ%3Ds176-c-k-c0x00ffffff-no-rj" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fyt3.ggpht.com%2Fytc%2FAAUvwnjUAaFsikVB8U9VFt_TE6w074PwyaM48yC3HobDbQ%3Ds176-c-k-c0x00ffffff-no-rj"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Derek Banas has tutorials on a wide range of topics including HTML, CSS, PHP, JS,  AJAX, Git, Web Services, Django, and more. Derek Banas is currently making videos on Data Science and Machine Learning. His channel holds  1.12 subscribers and 107 million views in total. &lt;/p&gt;

&lt;h2&gt;
  
  
  14. &lt;a href="https://www.youtube.com/channel/UCNsU-y15AwmU2Q8QTQJG1jw" rel="noopener noreferrer"&gt;Jonas Schmedtmann&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fyt3.ggpht.com%2Fytc%2FAAUvwnizoYDfYjC-eOXV1g6cht2ss2biEtcLDoTphm56tw%3Ds176-c-k-c0x00ffffff-no-rj" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fyt3.ggpht.com%2Fytc%2FAAUvwnizoYDfYjC-eOXV1g6cht2ss2biEtcLDoTphm56tw%3Ds176-c-k-c0x00ffffff-no-rj"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Jonas Schmedtmann might not have many videos but does provide a mini-course and an overview of what you'll learn in Web Development. If you just want to spend a day, getting started with Web Dev, try Jonas. Jonas currently holds 24.9k subscribers and 1 lakh views on his channel.&lt;/p&gt;

&lt;h2&gt;
  
  
  15. &lt;a href="https://www.youtube.com/channel/UCSJbGtTlrDami-tDGPUV9-w" rel="noopener noreferrer"&gt;Academind&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fyt3.ggpht.com%2Fytc%2FAAUvwnhuAGr98acrEv0S1Q3Ikz0giWPmHmM1J3h6pANWCg%3Ds176-c-k-c0x00ffffff-no-rj" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fyt3.ggpht.com%2Fytc%2FAAUvwnhuAGr98acrEv0S1Q3Ikz0giWPmHmM1J3h6pANWCg%3Ds176-c-k-c0x00ffffff-no-rj"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Max &amp;amp; Manuel at Academind creates courses and tutorials that teach you everything related to web development. No matter if it's programming languages like JavaScript, runtimes like NodeJS, or popular frameworks like ReactJS, Angular, or VueJS. They got you covered. Academind currently has 675k subscribers and 52 million plays already.&lt;/p&gt;

&lt;h2&gt;
  
  
  16. &lt;a href="https://www.youtube.com/user/hiteshitube" rel="noopener noreferrer"&gt;Hitesh Choudhary&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fyt3.ggpht.com%2Fytc%2FAAUvwnihtV8Mb0JZFkkAEf9KKN4m4WNNeHkxUb6Wuvc_5w%3Ds176-c-k-c0x00ffffff-no-rj" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fyt3.ggpht.com%2Fytc%2FAAUvwnihtV8Mb0JZFkkAEf9KKN4m4WNNeHkxUb6Wuvc_5w%3Ds176-c-k-c0x00ffffff-no-rj"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Hitesh Choudhary is a guy who creates content every single week, He covers a wide range of subjects like programming, new frameworks, open-source products, and more. He personally has a keen interest in topics like Javascript, Python, PHP, and Machine Learning. He also offers a MERN full stack development course for under 3$(₹ 199) Hitesh has over 633k subscribers and 37 million views on his channel.&lt;/p&gt;

&lt;h2&gt;
  
  
  17. &lt;a href="https://www.youtube.com/user/flashbuilding" rel="noopener noreferrer"&gt;Adam Khoury&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fyt3.ggpht.com%2Fytc%2FAAUvwnioOS1ThaFgeVeaqTRDNOkJG4AdOWKsKirrI4JWHA%3Ds176-c-k-c0x00ffffff-no-rj" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fyt3.ggpht.com%2Fytc%2FAAUvwnioOS1ThaFgeVeaqTRDNOkJG4AdOWKsKirrI4JWHA%3Ds176-c-k-c0x00ffffff-no-rj"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Adam Khoury at his channel helps to master technologies like JavaScript, PHP, SQL, HTML, CSS, ActionScript, and more. His videos are concise, conceptual, and effective. Adam currently has 197k subscribers to his channel and more than 32 million views overall.&lt;/p&gt;

&lt;h2&gt;
  
  
  18. &lt;a href="https://www.youtube.com/user/phpacademy" rel="noopener noreferrer"&gt;Code Course&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fyt3.ggpht.com%2Fytc%2FAAUvwngHnzFJMjhx1S_B-kKr6EeGMIBzAjwuguhbt4Jx0w%3Ds176-c-k-c0x00ffffff-no-rj" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fyt3.ggpht.com%2Fytc%2FAAUvwngHnzFJMjhx1S_B-kKr6EeGMIBzAjwuguhbt4Jx0w%3Ds176-c-k-c0x00ffffff-no-rj"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you're someone who's a fan of PHP and Lavarel, Code Course is the channel for you. Code Course covers numerous concepts related to PHP, Lavarel, APIs, and more. It currently has 340k subscribers and more than 33 million views in total.&lt;/p&gt;

&lt;h2&gt;
  
  
  19. &lt;a href="https://www.youtube.com/user/LevelUpTuts" rel="noopener noreferrer"&gt;LevelUpTuts&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fyt3.ggpht.com%2Fytc%2FAAUvwnhG70hoc2gsqGaYrXDU1J31FfG_eW4NXeuN18R-XA%3Ds176-c-k-c0x00ffffff-no-rj" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fyt3.ggpht.com%2Fytc%2FAAUvwnhG70hoc2gsqGaYrXDU1J31FfG_eW4NXeuN18R-XA%3Ds176-c-k-c0x00ffffff-no-rj"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Scott Tolinski at his channel(formerly along with Ben Schaaf), LevelUpTuts provide high-quality content on Web Development. Their tutorials are aimed to be accessible and easy to follow while maintaining high production values. LevelUpTuts has 335k subscribers and 32 million views on its channel to date.&lt;/p&gt;

&lt;h2&gt;
  
  
  20. &lt;a href="https://www.youtube.com/channel/UCcabW7890RKJzL968QWEykA" rel="noopener noreferrer"&gt;CS50&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fyt3.ggpht.com%2Fytc%2FAAUvwnjo89LMRtwUAmOGuunMTbJTrIDby7FWPECLm799hA%3Ds176-c-k-c0x00ffffff-no-rj" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fyt3.ggpht.com%2Fytc%2FAAUvwnjo89LMRtwUAmOGuunMTbJTrIDby7FWPECLm799hA%3Ds176-c-k-c0x00ffffff-no-rj"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;CS50 is Harvard University's introduction to the intellectual enterprises of computer science and the art of programming. It offers a free course on Web Programming with Python and Javascript where it covers where they cover concepts like Git, Flash, SQL, ORM, API, Javascript, Django, Scalability, and Security of websites. I highly recommend taking this course if you're a beginner and want to start the journey of web development with an excellent foundation. CS50 has 690k subscribers to its channel with 43 million views. &lt;/p&gt;

&lt;h2&gt;
  
  
  21. &lt;a href="https://www.youtube.com/user/QuentinWatt" rel="noopener noreferrer"&gt;Quentin Watt Tutorials&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fyt3.ggpht.com%2Fytc%2FAAUvwngEbgqSe1QSDY9I5UVQLyOgyy35KHk55AoIBXCirQ%3Ds176-c-k-c0x00ffffff-no-rj" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fyt3.ggpht.com%2Fytc%2FAAUvwngEbgqSe1QSDY9I5UVQLyOgyy35KHk55AoIBXCirQ%3Ds176-c-k-c0x00ffffff-no-rj"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Quentin Watt teaches technologies like JavaScript, PHP using popular frameworks like Vue.js and Laravel. With over a decade of experience to share he makes short video tutorials aimed at equipping an individual skill needed to develop their career. Quentin currently holds 162k subscribers and 19 million views on his channel.&lt;/p&gt;

&lt;h2&gt;
  
  
  22. &lt;a href="https://www.youtube.com/user/DevTipsForDesigners" rel="noopener noreferrer"&gt;DevTips&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fyt3.ggpht.com%2Fytc%2FAAUvwng7UMURAsfCu7U3zhssYa3bLWjg5Ht0dn8PGnbeow%3Ds176-c-k-c0x00ffffff-no-rj" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fyt3.ggpht.com%2Fytc%2FAAUvwng7UMURAsfCu7U3zhssYa3bLWjg5Ht0dn8PGnbeow%3Ds176-c-k-c0x00ffffff-no-rj"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;DevTips has weekly discussions and tutorials on various technologies such as CSS, Bootstrap, React, Docker, etc. The tutorials are fun and easy to follow, two factors I definitely look for in a great resource.  DevTips has 356k subscribers and 16 million views on the channel.&lt;/p&gt;

&lt;h2&gt;
  
  
  23. &lt;a href="https://www.youtube.com/user/LearnWebCode" rel="noopener noreferrer"&gt;LearnWebCode&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fyt3.ggpht.com%2Fytc%2FAAUvwnjrFXkpkMWqEtC2KhHqHcfQ7mFAy8LHU2fLSDby%3Ds176-c-k-c0x00ffffff-no-rj" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fyt3.ggpht.com%2Fytc%2FAAUvwnjrFXkpkMWqEtC2KhHqHcfQ7mFAy8LHU2fLSDby%3Ds176-c-k-c0x00ffffff-no-rj"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Brad, at LearnWebCode has insightful tutorials on HTML, CSS, MongoDB, API, JSON, Bootstrap, and more. With 288k subscribers and 20 million views, LearnWebCode is a channel that gives a quick overview of and helps understand concepts quickly. LearnWebCode currently has 288k subscribers and 19 million views on the channel.&lt;/p&gt;

&lt;h2&gt;
  
  
  24. &lt;a href="https://www.youtube.com/user/ChromeDevelopers" rel="noopener noreferrer"&gt;Google Chrome Developers&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fyt3.ggpht.com%2Fytc%2FAAUvwniL7QUpTiyGjIpNfk6g7eCkMSB3yjnMS4wkMvY49Q%3Ds176-c-k-c0x00ffffff-no-rj" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fyt3.ggpht.com%2Fytc%2FAAUvwniL7QUpTiyGjIpNfk6g7eCkMSB3yjnMS4wkMvY49Q%3Ds176-c-k-c0x00ffffff-no-rj"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Google Chrome Developers is a channel by Google developers, featuring some amazing content on the web and more. There are playlists on PWA, Design Learning, event recordings, and more. This is a channel you should visit to have a greater understanding of the web and upskill. Google Chrome Developers has 584k subscribers and 37 million views at the moment.&lt;/p&gt;

&lt;h2&gt;
  
  
  25. &lt;a href="https://www.youtube.com/channel/UCBwmMxybNva6P_5VmxjzwqA" rel="noopener noreferrer"&gt;Apna College&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fyt3.ggpht.com%2Fytc%2FAAUvwniWFbtX2drltDWOBZGP1KhLVTqDypqg4oQPK7Pc%3Ds176-c-k-c0x00ffffff-no-rj" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fyt3.ggpht.com%2Fytc%2FAAUvwniWFbtX2drltDWOBZGP1KhLVTqDypqg4oQPK7Pc%3Ds176-c-k-c0x00ffffff-no-rj"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Last but not the least, Apna College with Aman Dhattarwal with his team as the face of the channel has an amazing animated course on Web Development on Apna College. The course is taught by a guy who has cleared Googler Summer of Code being from a non-cs background. Apna College has 509k subscribers and 25 million views on the channel. &lt;/p&gt;

&lt;p&gt;That was it for today folks. Though I have another set of great channels, these are more than enough to build your skills as a web developer. Honorable mentions to the evergreen and most famous channels such as &lt;a href="https://www.youtube.com/channel/UC8butISFwT-Wl7EV0hUK0BQ" rel="noopener noreferrer"&gt;FreeCodeCamp&lt;/a&gt;,  &lt;a href="https://www.youtube.com/user/edurekaIN" rel="noopener noreferrer"&gt;Edureka&lt;/a&gt;,  &lt;a href="https://www.youtube.com/user/programmingwithmosh" rel="noopener noreferrer"&gt;Programming with Mosh&lt;/a&gt;,  &lt;a href="https://www.youtube.com/user/Simplilearn" rel="noopener noreferrer"&gt;Simplilearn&lt;/a&gt;, and  &lt;a href="https://www.youtube.com/user/intellipaaat" rel="noopener noreferrer"&gt;Intellipaat&lt;/a&gt; who provide 6-10hr long videos on the topic covering a ton of concepts in a limited amount of time. &lt;/p&gt;

&lt;p&gt;Which YouTube channel is your favorite? Let me know in the comment section below!&lt;/p&gt;

&lt;h2&gt;
  
  
  Bonus Insights by &lt;a href="https://theinsightfulcoder.com/" rel="noopener noreferrer"&gt;The Insightful Coder&lt;/a&gt; :
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Interested in Building Creative Beginner-Level Python Projects🐍?: Check out the  &lt;a href="https://theinsightfulcoder.com/series/python-projects-for-beginners" rel="noopener noreferrer"&gt;Python Projects for Beginners Series&lt;/a&gt; 😍&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Interested in Building Your Own Artificial Intelligence Projects using Python?: Check out the &lt;a href="https://hashnode.com/series/python-ai-series-ckkft33ux016dwjs11xlqbz4v" rel="noopener noreferrer"&gt;Python AI Series&lt;/a&gt;🧠&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;I'm also dropping useful dev resources, interactive quizzes and Interview preparation on my  &lt;a href="https://www.instagram.com/theinsightfulcoder/" rel="noopener noreferrer"&gt;Instagram&lt;/a&gt; Page. Make sure to follow me up 💯&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Find and Download All My Project Source Codes at My &lt;a href="https://github.com/SaiAshish-Konchada" rel="noopener noreferrer"&gt;Github Repository&lt;/a&gt;  🎁&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>javascript</category>
      <category>webdev</category>
      <category>computerscience</category>
      <category>beginners</category>
    </item>
    <item>
      <title>15 YouTube Channels to Learn Data Science for Free</title>
      <dc:creator>Sai Ashish</dc:creator>
      <pubDate>Tue, 20 Apr 2021 13:15:27 +0000</pubDate>
      <link>https://dev.to/theinsightfulcoder/15-youtube-channels-to-learn-data-science-for-free-487b</link>
      <guid>https://dev.to/theinsightfulcoder/15-youtube-channels-to-learn-data-science-for-free-487b</guid>
      <description>&lt;p&gt;Data Science is termed as the sexiest job of the 21st century. According to  &lt;a href="https://www.ziprecruiter.in/" rel="noopener noreferrer"&gt;ZipRecruiter&lt;/a&gt;, the entry-level salary for a Data Scientist is estimated to be $69,000 and the average salary for a mid-level data scientist to be around $89,000. With such an immense scope in the industry, the demand for Data Scientists has increased by folds. In this post, we are going to explore 15 Youtube Channels where you can get started and learn Data Science for free.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. &lt;a href="https://www.youtube.com/channel/UC8butISFwT-Wl7EV0hUK0BQ" rel="noopener noreferrer"&gt;Freecodecamp&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxk0u0fjjfp6gfpglwp32.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxk0u0fjjfp6gfpglwp32.png" alt="image"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;FreeCodeCamp doesn't need any introduction. It is my go-to channel to get knowledge on any computer science concept.  &lt;a href="https://www.youtube.com/watch?v=ua-CiDNNj30&amp;amp;list=PLWKjhJtqVAblQe2CCWqV4Zy3LY01Z8aF1" rel="noopener noreferrer"&gt;FreeCodeCamp's Data Scientist Playlist&lt;/a&gt;  has videos on Data Science, Data Visualisation, Data Analysis and more. &lt;/p&gt;

&lt;h2&gt;
  
  
  2. &lt;a href="https://www.youtube.com/user/DataScienceDojo" rel="noopener noreferrer"&gt;Data Science Dojo&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5fhktdnml6j8yp4ttizq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5fhktdnml6j8yp4ttizq.png" alt="image"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Data Science Dojo is an amazing channel with over 3M+ views on their videos and 70.3k subscribers. They host a 5-day Data Science Bootcamp around the world which has been attended by 4,000+ professionals from over 1,500+ companies globally. You can check their schedule for 2021  &lt;a href="https://datasciencedojo.com/data-science-bootcamp/schedule/" rel="noopener noreferrer"&gt;here&lt;/a&gt;. Data Science Dojo is one of the channels that post videos on Data Science tutorials on both R and Python programming language. You can explore their playlists by clicking &lt;a href="https://www.youtube.com/c/Datasciencedojo/playlists" rel="noopener noreferrer"&gt;here&lt;/a&gt;.  &lt;/p&gt;

&lt;h2&gt;
  
  
  3. &lt;a href="https://www.youtube.com/channel/UCEBpSZhI1X8WaP-kY_2LLcg" rel="noopener noreferrer"&gt;365 Data Science&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F85ozmmkboevyykcd1v5c.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F85ozmmkboevyykcd1v5c.png" alt="image"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;With 6 Million+ views and 172k subscribers on their channel, 365 Data Science contains videos on  &lt;a href="https://www.youtube.com/watch?v=WsnBNjXP0CM&amp;amp;list=PLaFfQroTgZnxtnfht3BzBHVfxodX9AR9F" rel="noopener noreferrer"&gt;Basics of Probability&lt;/a&gt;,  &lt;a href="https://www.youtube.com/watch?v=CfZa1daLjwo&amp;amp;list=PLaFfQroTgZnzbfK-Rie19FdV6diehETQy" rel="noopener noreferrer"&gt;Probability Distribution&lt;/a&gt;,  &lt;a href="https://www.youtube.com/watch?v=OOkcaJ0r8gc&amp;amp;list=PLaFfQroTgZnw0UoIONpfQWJTldKqjEtZ3" rel="noopener noreferrer"&gt;Roadmaps for various positions in Data Science&lt;/a&gt;, and everything in between. They also offer courses on Python, Data Preprocessing, SQL, Data Visualisation, Deep learning and more on their website at &lt;a href="https://365datascience.com/courses/" rel="noopener noreferrer"&gt;365datascience.com&lt;/a&gt;   &lt;/p&gt;

&lt;h2&gt;
  
  
  4. &lt;a href="https://www.youtube.com/user/joshstarmer" rel="noopener noreferrer"&gt;StatQuest with Josh Starmer&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fj18aal88bxonkmzudqei.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fj18aal88bxonkmzudqei.png" alt="image"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This resource is a goldmine for people wanting to learn statistics and machine learning. StatQuest breaks down complicated Statistics and Machine Learning methods into small, bite-sized pieces that are easy to understand. StatQuest doesn't dumb down the material, instead, it builds you up so that you are smarter and have a better understanding of Statistics and Machine Learning.&lt;/p&gt;

&lt;p&gt;This channel has whooping 22M+ views and 466k+ subscribers. You can access StatQuests's playlists from  &lt;a href="https://www.youtube.com/c/joshstarmer/playlists" rel="noopener noreferrer"&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  5. &lt;a href="https://www.youtube.com/channel/UC7cs8q-gJRlGwj4A8OmCmXg" rel="noopener noreferrer"&gt;Alex The Analyst&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F34ank6pul9lhahepj4en.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F34ank6pul9lhahepj4en.png" alt="image"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;For people who want to specifically focus on the Data Analysis side of Data Science, Alex is your guy. His show  &lt;a href="https://www.youtube.com/watch?v=-Inc1be4zSg&amp;amp;list=PLUaB-1hjhk8GmBL-AtxMST9PXEOX4LEK-" rel="noopener noreferrer"&gt;Alex the Analyst Show&lt;/a&gt;  is one of my favourite resources on the internet. For people who want real-life advice rather than tutorials, do check him out. &lt;/p&gt;

&lt;h2&gt;
  
  
  6. &lt;a href="https://www.youtube.com/channel/UCiT9RITQ9PW6BhXK0y2jaeg" rel="noopener noreferrer"&gt;Ken Jee&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F60fco4afj8260qwott6t.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F60fco4afj8260qwott6t.png" alt="image"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Ken Jee has been working in the data science field doing sports analytics for the last 5 years. He has held data science positions in companies ranging from startups to fortune 100 organizations. His youtube channel has over 3M+ views and 132k subscribers. He has some amazing playlist on  &lt;a href="https://www.youtube.com/watch?v=1FrY7ARSf10&amp;amp;list=PL2zq7klxX5ARdms3L99sE8DTEsJ4_jCHP" rel="noopener noreferrer"&gt;Data Science Jobs&lt;/a&gt;,  &lt;a href="https://www.youtube.com/watch?v=C4OPn58BLaU&amp;amp;list=PL2zq7klxX5ATPC8RuqCuTDdki3b4NqKQv" rel="noopener noreferrer"&gt;Data Science Fundamentals&lt;/a&gt; and  &lt;a href="https://www.youtube.com/watch?v=pPfw2fzwNiM&amp;amp;list=PL2zq7klxX5AReJn7nZfqOKLZ3IpKj7fwc" rel="noopener noreferrer"&gt;Data Science Projects&lt;/a&gt; and more.    &lt;/p&gt;

&lt;h2&gt;
  
  
  7. &lt;a href="https://www.youtube.com/channel/UC79Gv3mYp6zKiSwYemEik9A" rel="noopener noreferrer"&gt;DataCamp&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fiqpx39uws66wa3ehn1rd.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fiqpx39uws66wa3ehn1rd.png" alt="image"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;DataCamp's youtube channel has over 14M+ views and 112k subscribers. DataCamp has educated  6 million people around the world through their courses at  &lt;a href="https://www.datacamp.com/" rel="noopener noreferrer"&gt;DataCamp.com&lt;/a&gt;. They've playlist for &lt;a href="https://www.youtube.com/watch?v=dE10fBCDWQc&amp;amp;list=PLjgj6kdf_snYqqoq_JM6vjIN8tPEoTAUD" rel="noopener noreferrer"&gt;R Tutorials for DataScience&lt;/a&gt; and  &lt;a href="https://www.youtube.com/watch?v=-Rf4fZDQ0yw&amp;amp;list=PLjgj6kdf_snaw8QnlhK5f3DzFDFKDU5f4" rel="noopener noreferrer"&gt;Python for Data Science&lt;/a&gt;. For a review of its courses, I'd recommend  &lt;a href="https://www.youtube.com/watch?v=D9bNctNnAig" rel="noopener noreferrer"&gt;Alex's video on DataCamp&lt;/a&gt;.  &lt;/p&gt;

&lt;h2&gt;
  
  
  8. &lt;a href="https://www.youtube.com/channel/UCV8e2g4IWQqK71bbzGDEI4Q" rel="noopener noreferrer"&gt;Data Professor&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fh8gui8d3mbdy8deta2a1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fh8gui8d3mbdy8deta2a1.png" alt="image"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Chanin Nantasenamat aka Data Professor is a Professor of Bioinformatics at a Research University where he leads a research laboratory that harnesses data science for unravelling the hidden knowledge of big data in medicine. Chanin has more than 15 years of experience in data science and has published more than 100 research articles, review articles and book chapters.&lt;/p&gt;

&lt;p&gt;His playlists — &lt;a href="https://www.youtube.com/watch?v=oR670Txwh88&amp;amp;list=PLtqF5YXg7GLn0WWB_wQx7wHrIvbs0EH2e" rel="noopener noreferrer"&gt;Data Science 101&lt;/a&gt;,  &lt;a href="https://www.youtube.com/watch?v=vCBeGLpvoYM&amp;amp;list=PLtqF5YXg7GLkskjS9D2PSIwKV6HUuWkXo" rel="noopener noreferrer"&gt;Data Science Toolbox&lt;/a&gt;,  &lt;a href="https://www.youtube.com/watch?v=XmSlFPDjKdc&amp;amp;list=PLtqF5YXg7GLltQSLKSTnwCcHqTZASedbO" rel="noopener noreferrer"&gt;Python Data Science projects&lt;/a&gt;  and  &lt;a href="https://www.youtube.com/watch?v=JW5Ug6NQexg&amp;amp;list=PLtqF5YXg7GLk9QRC5kS5Am4Ijo4S9gqk_" rel="noopener noreferrer"&gt;R Data Science projects&lt;/a&gt; are just phenomenal.  &lt;/p&gt;

&lt;h2&gt;
  
  
  9. &lt;a href="https://www.youtube.com/channel/UCYO_jab_esuFRV4b17AJtAw" rel="noopener noreferrer"&gt;3Blue1Brown&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6kqtodss8pwqwusdmxxh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6kqtodss8pwqwusdmxxh.png" alt="image"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;3Blue1Brown has animated tutorials on concepts of Maths and Entertainment. It is a great resource to understand any mathematical concepts such as  &lt;a href="https://www.youtube.com/playlist?list=PLZHQObOWTQDMsr9K-rj53DwVRMYO3t5Yr" rel="noopener noreferrer"&gt;calculus&lt;/a&gt;,  &lt;a href="https://www.youtube.com/playlist?list=PLZHQObOWTQDNPOjrT6KVlfJuKtYTftqH6" rel="noopener noreferrer"&gt;differential equations&lt;/a&gt; ,  &lt;a href="https://www.youtube.com/playlist?list=PLZHQObOWTQDNU6R1_67000Dx_ZCJB-3pi" rel="noopener noreferrer"&gt;neural networks&lt;/a&gt; and more.&lt;/p&gt;

&lt;h2&gt;
  
  
  10. &lt;a href="https://www.youtube.com/user/krishnaik06" rel="noopener noreferrer"&gt;Krish Naik&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbofknz73fgjbl3d11ptl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbofknz73fgjbl3d11ptl.png" alt="image"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Krish Naik is a lead Data Scientist, pioneering in machine learning, deep learning, and computer vision, an educator, and a mentor, with over 8 years of experience in the industry. In his channel, Krish explains various topics on machine learning, deep learning, and AI with many real-world problem scenarios. &lt;/p&gt;

&lt;p&gt;The best part about this channel is that Krish has made a video where he explains how to learn Data Science via his channel by following various playlists. It goes as  &lt;a href="https://www.youtube.com/playlist?list=PLZoTAELRMXVPBTrWtJkn3wWQxZkmTXGwe" rel="noopener noreferrer"&gt;Python for Machine Learning&lt;/a&gt; -&amp;gt;  [Statistics in ML](&lt;a href="https://www.youtube.com/playlist?list=PLZoTAELRMXVMhVyr3Ri9IQ-t5QPBtxzJO" rel="noopener noreferrer"&gt;https://www.youtube.com/playlist?list=PLZoTAELRMXVMhVyr3Ri9IQ-t5QPBtxzJO&lt;/a&gt; -&amp;gt;  &lt;a href="https://www.youtube.com/playlist?list=PLZoTAELRMXVPwYGE2PXD3x0bfKnR0cJjN" rel="noopener noreferrer"&gt;Feature Engineering&lt;/a&gt;  -&amp;gt; &lt;a href="https://www.youtube.com/playlist?list=PLZoTAELRMXVPBTrWtJkn3wWQxZkmTXGwe" rel="noopener noreferrer"&gt;Machine Learning&lt;/a&gt; -&amp;gt;&lt;a href="https://www.youtube.com/playlist?list=PLZoTAELRMXVMcRQwR5_J8k9S7cffVFq_U" rel="noopener noreferrer"&gt;ML Pipelines&lt;/a&gt; -&amp;gt;  &lt;a href="https://www.youtube.com/playlist?list=PLZoTAELRMXVPGU70ZGsckrMdr0FteeRUi" rel="noopener noreferrer"&gt;Deep Learning&lt;/a&gt;  -&amp;gt;  &lt;a href="https://www.youtube.com/playlist?list=PLZoTAELRMXVOFnfSwkB_uyr4FT-327noK" rel="noopener noreferrer"&gt;Projects&lt;/a&gt;. &lt;/p&gt;

&lt;h2&gt;
  
  
  11. &lt;a href="https://www.youtube.com/channel/UCh9nVJoWXmFb7sLApWGcLPQ" rel="noopener noreferrer"&gt;Code Basics&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjmh0kzjcxffs2k51f6c8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjmh0kzjcxffs2k51f6c8.png" alt="image"&gt;&lt;/a&gt;&lt;br&gt;
Code Basics is a channel by Dhaval Patel and who has more than 15 years of experience working as a software engineer. He has over 16M views on his channel with 284k subscribers. He has a &lt;a href="https://www.youtube.com/watch?v=JL_grPUnXzY&amp;amp;list=PLeo1K3hjS3us_ELKYSj_Fth2tIEkdKXvV" rel="noopener noreferrer"&gt;Data Science Playlist&lt;/a&gt; of 111 videos where he covers, Python, Jupyter Notebook, Numpy, Pandas, Matplotlib for data visualization, Machine Learning using sklearn &amp;amp; deep learning using tensorflow 2.0.&lt;/p&gt;

&lt;h2&gt;
  
  
  12. &lt;a href="https://www.youtube.com/user/edurekaIN" rel="noopener noreferrer"&gt;Edureka&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fd3x7lppm5pw9195fksuf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fd3x7lppm5pw9195fksuf.png" alt="image"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Edureka is another platform that needs no introduction. It has 207M views on its channel with 2.55M subscribers. It has a 10-hour Data Science course where all the major concepts are covered in detail. It is suited for both beginners and professionals. You can access the 10-hour Data Science Full Course by Edureka  &lt;a href="https://www.youtube.com/watch?v=-ETQ97mXXF0" rel="noopener noreferrer"&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  13. &lt;a href="https://www.youtube.com/channel/UCCktnahuRFYIBtNnKT5IYyg" rel="noopener noreferrer"&gt;Intellipaat&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fs8rljobj0qxw0b1724li.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fs8rljobj0qxw0b1724li.png" alt="image"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Intellipaat is a channel with 44M+ views and 919k subscribers. It has an 11-hour course on complete data science starting from what is data science to various data science concepts, data science projects and data science interview questions &amp;amp; answers. It is an end to end data science full course.&lt;/p&gt;

&lt;h2&gt;
  
  
  14. &lt;a href="https://www.youtube.com/user/Simplilearn" rel="noopener noreferrer"&gt;Simplilearn&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhkt2sn55qajf1r2rsvdc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhkt2sn55qajf1r2rsvdc.png" alt="image"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Simplilearn is a channel with 69M+ views and 983k subscribers. Similar to Edureka, it has a 10-hour course where it provides a learning path of Data Science in a correct manner. It is filled with lots of Practical Examples and is beginner-friendly. You can access the 10 Hour Data Science Course by Simplilearn &lt;a href="https://www.youtube.com/watch?v=7WRlYJFG7YI" rel="noopener noreferrer"&gt;here&lt;/a&gt;. &lt;/p&gt;

&lt;h2&gt;
  
  
  15. &lt;a href="https://www.youtube.com/channel/UCObs0kLIrDjX2LLSybqNaEA" rel="noopener noreferrer"&gt;Great Learning&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fq3v0jagb8ueca4uq8ahh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fq3v0jagb8ueca4uq8ahh.png" alt="image"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Great learning has a Data Science Course by Dr Abhinanda Sarkar. Dr Sarkar is the Academic Director at Great Learning for Data Science and Machine Learning Programs. He is ranked amongst the Top 3 Most Prominent Analytics &amp;amp; Data Science Academicians in India.&lt;/p&gt;

&lt;p&gt;He has taught applied mathematics at the Massachusetts Institute of Technology (MIT) as well as been visiting faculty at Stanford and ISI and continues to teach at the Indian Institute of Management (IIM-Bangalore) and the Indian Institute of Science (IISc). You can also get a free certificate from Great Learning for Data Science by visiting  &lt;a href="https://www.greatlearning.in/academy/learn-for-free/courses/data-science-with-python" rel="noopener noreferrer"&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;I hope this article was useful for you. Mastering Data Science requires a lot of hard work, patience and knowledge. If you're just in for the money it offers, you can opt for becoming a software engineer too. It pays the same and some times even more. With that said, Data Science holds a lot of potentials and is already changing the way we look at business. &lt;/p&gt;

&lt;p&gt;My articles are fueled by coffees. If you find my content valuable and want to support my efforts, consider buying me one!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.buymeacoffee.com/saiashish" rel="noopener noreferrer"&gt;&lt;br&gt;
&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1618475866800%2FvzRVRor5z.png" alt="Buy Me A Coffee"&gt;&lt;br&gt;
 &lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Bonus Insights by  &lt;a href="https://theinsightfulcoder.com/" rel="noopener noreferrer"&gt;The Insightful Coder&lt;/a&gt; :
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Interested in Building Creative Beginner-Level Python Projects🐍?: Check out the  &lt;a href="https://theinsightfulcoder.com/series/python-projects-for-beginners" rel="noopener noreferrer"&gt;Python Projects for Beginners Series&lt;/a&gt; 😍&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Interested in Building Your Own Artificial Intelligence Projects using Python?: Check out the &lt;a href="https://hashnode.com/series/python-ai-series-ckkft33ux016dwjs11xlqbz4v" rel="noopener noreferrer"&gt;Python AI Series&lt;/a&gt;🧠&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;I'm also dropping useful dev resources, interactive quizzes and Interview preparation on my  &lt;a href="https://www.instagram.com/theinsightfulcoder/" rel="noopener noreferrer"&gt;Instagram&lt;/a&gt; Page. Make sure to follow me up 💯&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Find and Download All My Project Source Codes at My &lt;a href="https://github.com/SaiAshish-Konchada" rel="noopener noreferrer"&gt;Github Repository&lt;/a&gt;  🎁&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>computerscience</category>
      <category>beginners</category>
      <category>datascience</category>
      <category>python</category>
    </item>
    <item>
      <title>5 More Python Projects That Can Be Built in Under 5 Minutes</title>
      <dc:creator>Sai Ashish</dc:creator>
      <pubDate>Fri, 16 Apr 2021 13:23:07 +0000</pubDate>
      <link>https://dev.to/theinsightfulcoder/5-more-python-projects-that-can-be-built-in-under-5-minutes-1jb7</link>
      <guid>https://dev.to/theinsightfulcoder/5-more-python-projects-that-can-be-built-in-under-5-minutes-1jb7</guid>
      <description>&lt;p&gt;While learning a new programing language, people tend to be confused about which project to start with. Or they're often excited to start building some cool projects but realise that they spent weeks learning concepts but have no hands-on experience Continuing the success of my  &lt;a href="https://theinsightfulcoder.com/5-python-projects-that-can-be-built-under-5-minutes" rel="noopener noreferrer"&gt;previous article&lt;/a&gt;  with the same title, I present to you— 5 More Python Projects That Can Be Built in Under 5 Minutes.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Are We Going to Build?
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;1. IP address fetcher
2. BMI Calculator
3. Map Generator from Location 
4. Zip and Unzip Files
5. Text Translator
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  What Are We Going to Learn Today?
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;1. How to effectively use modules in our python programs
2. Basics of Python: Functions
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Project 1: IP Address Fetcher
&lt;/h2&gt;

&lt;p&gt;As the name suggests, we are going to build a Python program that would fetch the name and IP address of our device. &lt;/p&gt;

&lt;h3&gt;
  
  
  Module Used:
&lt;/h3&gt;

&lt;p&gt;For this build, we'll use the socket module. A socket acts as a node( a point of connection) is used to messages across a network. You can access the documentation of the socket module from  &lt;a href="https://docs.python.org/3/library/socket.html" rel="noopener noreferrer"&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Time to Code!
&lt;/h3&gt;

&lt;p&gt;The first step is to import the module into our Python environment.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import socket
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;We can get the hostname of our device using the gethostname() method. We'll store the result obtained in a variable called hostname.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;hostname = socket.gethostname()
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;To get the IP address of our device, we have to pass the hostname through gethostbyname() method.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;IP = socket.gethostbyname(hostname)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;We've the hostname. We've the IP address. All that's left is to display it.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;print("Computer Name:" + hostname)
print("IP address:"+IP)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Final Source Code for IP Address Fetcher:
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1618519194721%2FVtj4eyDQr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1618519194721%2FVtj4eyDQr.png" alt="Final Source Code for IP Address Fetcher using Python"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Output for IP Address Fetcher:
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1618519293661%2F9OhAY1yIUk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1618519293661%2F9OhAY1yIUk.png" alt="Output for IP Address Fetcher Using Python"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You can directly download the source code for IP Address Fetcher from my  &lt;a href="https://github.com/SaiAshish-Konchada/Python-Projects-for-Beginners/blob/main/5%20More%20Python%20Projects%20in%205%20Minutes/IP%20Address%20Fetcher.py" rel="noopener noreferrer"&gt;Github Repository&lt;/a&gt;. &lt;/p&gt;

&lt;h2&gt;
  
  
  Project 2: BMI Calculator
&lt;/h2&gt;

&lt;p&gt;BMI or Body mass index is a measure of body fat based on height and weight that applies to adult men and women. In this project, we are going to calculate the BMI using height in centimetres and weight in kilograms. We don't require any modules for this build.&lt;/p&gt;

&lt;h3&gt;
  
  
  Time to Code!
&lt;/h3&gt;

&lt;p&gt;The first step is to ask the height and weight of the person as specified.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;height = float(input("Enter your height in cm: "))
weight = float(input("Enter your weight in kg: "))
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Calculate the BMI of the person using the formula,&lt;/p&gt;

&lt;p&gt;BMI = height in m/ (weight in kg)&lt;sup&gt;2&lt;/sup&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;BMI = weight / (height/100)**2
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;We divide the height by 100 to convert centimetres to meters and square the weight by using the exponential operator **.&lt;/p&gt;

&lt;p&gt;We use String interpolation to display the BMI of the person. Interpolation or interpolate means insert (something of a different nature) into something else. That is inserting/replacing the value of the variables inside the statement of the string we are going to display. We use this as,&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;print(f"You BMI is {BMI}")
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;As per the chart obtained in  &lt;a href="https://www.nhlbi.nih.gov/health/educational/lose_wt/BMI/bmi-m.htm" rel="noopener noreferrer"&gt;U.S. Department of Health &amp;amp; Human Services&lt;/a&gt;, the BMI Categories are as follows:&lt;/p&gt;

&lt;p&gt;Underweight = &amp;lt; 18.5       &lt;br&gt;&lt;br&gt;
Normal weight = 18.5–24.9 &lt;br&gt;&lt;br&gt;
Overweight = 25–29.9 &lt;br&gt;&lt;br&gt;
Obesity = BMI of 30 or greater &lt;/p&gt;

&lt;p&gt;We'll use conditional statements if-else to compare the above construct.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;if BMI &amp;lt; 18.5:
    print("You are underweight.")
elif BMI &amp;lt;= 24.9:
    print("You are healthy.")
elif BMI &amp;lt;= 29.9:
    print("You are over weight.")
else
    print("You are obese.")
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Final Source Code for BMI Calculator is:
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1618520856329%2FqTinvTLqB.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1618520856329%2FqTinvTLqB.png" alt="Final Source Code for BMI Calculator using Python"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Output for BMI Calculator:
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1618520990012%2FLmehuOPnR.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1618520990012%2FLmehuOPnR.png" alt="Output for BMI Calculator using Python"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You can directly download the source code for BMI Calculator from my  &lt;a href="https://github.com/SaiAshish-Konchada/Python-Projects-for-Beginners/blob/main/5%20More%20Python%20Projects%20in%205%20Minutes/BMI%20Calculator.py" rel="noopener noreferrer"&gt;GitHub Repository&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Project 3: Map Generator from Location
&lt;/h2&gt;

&lt;p&gt;In this project, we'll generate a map from the location coordinates using Python. &lt;/p&gt;

&lt;h3&gt;
  
  
  Module Required:
&lt;/h3&gt;

&lt;p&gt;For this build, we require the Folium module. Folium is a Python library used for visualizing geospatial data. You can access the official documentation of Folium from  &lt;a href="https://pypi.org/project/folium/" rel="noopener noreferrer"&gt;here&lt;/a&gt;. To install folium, visit your terminal and type,&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;pip install folium
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Time to Code!
&lt;/h3&gt;

&lt;p&gt;The first step is to include the module in our Python Environment. We do that using the import statement.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import folium
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;We accept the latitude and longitude coordinates of any place we want to visualise. I want to visualise my city, Mumbai. I enter the coordinates as,&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;map = folium.Map(location=[19.0760, 72.8777])
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Finally, we save the build as an HTML file as.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;map.save("My Location.html")
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Final Source Code for Map Generator from Location:
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1618576881524%2FKpQv4FRLY.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1618576881524%2FKpQv4FRLY.png" alt="Final Source Code for Map Generator from Location Using Python"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Generated HTML Map File:
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1618571411762%2FLBGN5SVNZ.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1618571411762%2FLBGN5SVNZ.png" alt="Generated HTML Map File"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You can directly download the source code for Map Generator from Location from my  &lt;a href="https://github.com/SaiAshish-Konchada/Python-Projects-for-Beginners/blob/main/5%20More%20Python%20Projects%20in%205%20Minutes/Map%20Generator.py" rel="noopener noreferrer"&gt;GitHub Repository&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Project 4: Zip &amp;amp; Unzip File
&lt;/h2&gt;

&lt;p&gt;We often require to zip files for sharing multiple files via email or unzip files when downloading files from the internet. In this build, we'll build a program that does this task for us. You can even further modify the code to automate the process and unzip multiple files at once. &lt;/p&gt;

&lt;h3&gt;
  
  
  Module Used:
&lt;/h3&gt;

&lt;p&gt;For this build, we'll be using the patool module of Python. According to its  &lt;a href="https://pypi.org/project/patool/" rel="noopener noreferrer"&gt;official documentation&lt;/a&gt;, various archive formats can be created, extracted, tested, listed, searched, compared and repacked by patool. The advantage of patool is its simplicity in handling archive files without having to remember a myriad of programs and options. To install Patol into your system, go to the terminal and type,&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;pip install patool
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Time to Code!
&lt;/h3&gt;

&lt;p&gt;The first step as always is to import the required libraries. You can do it as,&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import patoolib
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;We'll define 2 functions. The first one named Zip() to zip our files and the other named Unzip() to unzip our files. To zip our files, we've to provide the paths for our files to be zipped.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; If you have the image in the same location as the Python file, you do not have to provide the full path. If you wish to use an image stored in other directories, copy the path with the name and extension and replace it with Test Image.png. In Windows, the path will look something like this D:\Photos\Test Image.png Add an extra '\' so that Python doesn't treat it as an escape character. The final path looks like D:\Photos\Test Image.png For Linux and MAC, you can use the path directly as it &lt;br&gt;
appears on the address bar.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;def Zip():
    patoolib.create_archive("file.zip",("path_to_file_1","path_to_file_2"))

def Unzip():
    patoolib.extract_archive("path_to_file_to_be_extracted",outdir="extract")
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;We use the create_archive method to zip the files. As per the above code, the function will zip both the files and save them as file.zip. Similarly, we use the extract_archive() function with the link to the zipped file to be extracted. We specify the function to store our files in a directory called extract.&lt;/p&gt;

&lt;p&gt;All that's left to do is to invoke the functions as per the user's choice. We ask the user to input 1 to Zip and 2 for Unzip. We convert the value obtained to an integer using the int() function as by default, Python accepts values in string format.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;if __name__ == '__main__':
    choice=(int(input(Enter 1 for Zip &amp;amp; 2 for Unzip)))
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Using the conditional statement if-else, we invoke the respective functions.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;if choice==1:
    Zip()
else:
    Unzip() 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Final Source Code for Zipping &amp;amp; Unzipping File:
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1618569755437%2Fz99KeIWwE.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1618569755437%2Fz99KeIWwE.png" alt="Final Source Code for Zipping &amp;amp; Unzipping File Using Python"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You can directly download the source code for Zipping &amp;amp; Unzipping File from my  &lt;a href="https://github.com/SaiAshish-Konchada/Python-Projects-for-Beginners/blob/main/5%20More%20Python%20Projects%20in%205%20Minutes/Zip%20%26%20Unzip.py" rel="noopener noreferrer"&gt;GitHub Repository&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Project 5: Text Translator
&lt;/h2&gt;

&lt;p&gt;Last but not the least, we'll build a Text Translator. using the text translator you can translate any sentence from one language to another.&lt;/p&gt;

&lt;h3&gt;
  
  
  Module Used:
&lt;/h3&gt;

&lt;p&gt;For this build, we use the translate module. As per its  &lt;a href="https://pypi.org/project/translate/" rel="noopener noreferrer"&gt;official documentation&lt;/a&gt;, this is a simple, yet powerful command-line translator with google translate behind it. &lt;/p&gt;

&lt;h3&gt;
  
  
  Time to Code!
&lt;/h3&gt;

&lt;p&gt;The first step is to import the class Translator from the module translator. We do it as,&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;from translate import Translator
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;We need to specify the language we want to convert from and to in the translator function. We save the answer obtained in a variable called translator.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;translator = Translator(from_lang="english", to_lang="chinese")
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;We pass the message to be translated into the translate function.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;translation = translator.translate("Good Morning")
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Finally, we display the translated message as,&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;print(translation)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Final Source Code for Text Translator:
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1618522199618%2F3kzQAnP0f.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1618522199618%2F3kzQAnP0f.png" alt="Final Source Code for Text Translator Using Python"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Text Translator in Action:
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1618522225463%2FzWO2PI6ik.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1618522225463%2FzWO2PI6ik.png" alt="Output for Text Translator Using Python"&gt;&lt;/a&gt;&lt;br&gt;
You can directly download the source code for Map Generator from Location from my  &lt;a href="https://github.com/SaiAshish-Konchada/Python-Projects-for-Beginners/blob/main/5%20More%20Python%20Projects%20in%205%20Minutes/Text%20Translator.py" rel="noopener noreferrer"&gt;GitHub Repository&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;That's it, folks! We have successfully learnt 5 short yet interesting builds that can be implemented in under 5 minutes. These builds are a very good stepping step for any beginner in Python. If you find my content valuable and want to support my efforts, consider buying me a coffee!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.buymeacoffee.com/saiashish" rel="noopener noreferrer"&gt;&lt;br&gt;
&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1618475866800%2FvzRVRor5z.png" alt="Buy Me A Coffee"&gt;&lt;br&gt;
 &lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Bonus Insights by  &lt;a href="https://theinsightfulcoder.com/" rel="noopener noreferrer"&gt;The Insightful Coder&lt;/a&gt; :
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Interested in Building Your Own Artificial Intelligence Projects using Python?: Check out the &lt;a href="https://hashnode.com/series/python-ai-series-ckkft33ux016dwjs11xlqbz4v" rel="noopener noreferrer"&gt;Python AI Series&lt;/a&gt;🧠&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Wanna Discover Some Valuable Tech-Hacks 🛠?: Check out the &lt;a href="https://hashnode.com/series/tech-hacks-for-everybody-ckk3juqc10ihoqps16q0geabj" rel="noopener noreferrer"&gt;Tech-Hacks for Everybody Series&lt;/a&gt;😎&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;I'm also dropping useful dev resources, interactive quizzes and Interview preparation on my  &lt;a href="https://www.instagram.com/theinsightfulcoder/" rel="noopener noreferrer"&gt;Instagram&lt;/a&gt; Page. Make sure to follow me up 💯&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Find and Download All My Project Source Codes at My &lt;a href="https://github.com/SaiAshish-Konchada" rel="noopener noreferrer"&gt;Github Repository&lt;/a&gt;  🎁&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>beginners</category>
      <category>programming</category>
      <category>computerscience</category>
      <category>python</category>
    </item>
    <item>
      <title>A Beginners Guide to Bit Manipulation</title>
      <dc:creator>Sai Ashish</dc:creator>
      <pubDate>Wed, 14 Apr 2021 10:40:25 +0000</pubDate>
      <link>https://dev.to/theinsightfulcoder/a-beginners-guide-to-bit-manipulation-35ek</link>
      <guid>https://dev.to/theinsightfulcoder/a-beginners-guide-to-bit-manipulation-35ek</guid>
      <description>&lt;p&gt;Bit Manipulation or Bit Magic as it is popularly known as is a technique where we work directly on binary data or bits which results in faster code execution. If the concept seems to be frightening, don't worry. We will bust and understand everything with examples.&lt;/p&gt;

&lt;p&gt;In this article, we'll explore:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;1. Overview of Decimal and Binary Number System
   a. Conversion of Decimal number system  -&amp;gt; Binary Number System 
      Conversion of Binary number system  -&amp;gt; Decimal Number System
   b. Addition and Subtraction of Binary numbers:
2. Bitwise operators
3. Significance of these operations
    a. General Application
    b. Swapping
    c. Even and Odd
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  1. Overview of Decimal and Binary Number System
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1618148409252%2FbQ1TZ7mjD.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1618148409252%2FbQ1TZ7mjD.png" alt="image.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The most common convention of writing numbers is the decimal number system. In this system, we write numbers in the power of 10.  For example,&lt;/p&gt;

&lt;p&gt;(375)10 = 3 x 10&lt;sup&gt;2&lt;/sup&gt; + 7 x 10&lt;sup&gt;1&lt;/sup&gt; + 5 x 10&lt;sup&gt;0&lt;/sup&gt;&lt;/p&gt;

&lt;p&gt;Similarly, computers are habituated to work on Binary numbers, corresponding to base 2.&lt;/p&gt;

&lt;p&gt;(101)2 = 1 x 2&lt;sup&gt;2&lt;/sup&gt; + 0 x 2&lt;sup&gt;1&lt;/sup&gt; + 1 x  2&lt;sup&gt;0&lt;/sup&gt; = 5&lt;/p&gt;

&lt;h3&gt;
  
  
  a. Conversion of Decimal number system  -&amp;gt; Binary Number System and vice versa
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;i. Decimal number system  -&amp;gt; Binary Number System&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;We convert decimal to binary by division as we are going from base 10 to base 2.&lt;/p&gt;

&lt;p&gt;(10)10 -&amp;gt; (?)2&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1618391224873%2Fa5Jw_0Pug.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1618391224873%2Fa5Jw_0Pug.png" alt="image.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The trick is to keep dividing the number by 2 and write the remainder beside it. &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;10/2, remainder = 0&lt;/li&gt;
&lt;li&gt;5/2, remainder = 1&lt;/li&gt;
&lt;li&gt;2/2, remainder = 0&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You've to write the binary bits in the bottom-up order along with 1 at the front. So, the binary representation of 10 will come as 1010.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;ii. Binary Number System -&amp;gt; Decimal number system&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;We convert binary to decimal using multiplication as seen above.&lt;/p&gt;

&lt;p&gt;(1010)2 = 1 x 2&lt;sup&gt;3&lt;/sup&gt; + 0 x 2&lt;sup&gt;2&lt;/sup&gt; + 1 x  2&lt;sup&gt;1&lt;/sup&gt; + 2&lt;sup&gt;0&lt;/sup&gt; &lt;br&gt;&lt;br&gt;
 = 8 +  0 + 2 + 0 &lt;br&gt;&lt;br&gt;
 = 10&lt;/p&gt;
&lt;h3&gt;
  
  
  b . Addition and Subtraction of Binary numbers:
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1618393547478%2F_QyMnfZQY.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1618393547478%2F_QyMnfZQY.png" alt="Addition and Subtraction of Binary numbers"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;i. Addition&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This is the truth table for addition of Binary digits.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
  &lt;tr&gt;
    &lt;th&gt;Number 1&lt;/th&gt;
    &lt;th&gt;Number 2&lt;/th&gt;
    &lt;th&gt;Sum&lt;/th&gt;
    &lt;th&gt;Carry&lt;/th&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;0&lt;/td&gt;
    &lt;td&gt;0&lt;/td&gt;
    &lt;td&gt;0&lt;/td&gt;
    &lt;td&gt;0&lt;/td&gt;
     &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;0&lt;/td&gt;
    &lt;td&gt;1&lt;/td&gt;
    &lt;td&gt;1&lt;/td&gt;
    &lt;td&gt;0&lt;/td&gt;
   &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;1&lt;/td&gt;
    &lt;td&gt;0&lt;/td&gt;
    &lt;td&gt;1&lt;/td&gt;
    &lt;td&gt;0&lt;/td&gt;
    &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;1&lt;/td&gt;
    &lt;td&gt;1&lt;/td&gt;
    &lt;td&gt;0&lt;/td&gt;
    &lt;td&gt;1&lt;/td&gt;
  &lt;/tr&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;If we add,&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;0 + 0, we get the sum as 0 with no carry.&lt;/li&gt;
&lt;li&gt;0 + 1, we get the sum as 1 and no carry.&lt;/li&gt;
&lt;li&gt;1 + 0, we get the sum as 1 and no carry.&lt;/li&gt;
&lt;li&gt;1 + 1, we get the sum as 0, and the carry as 1.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Let's say we want to perform addition as 5 + 6. The computer converts 5 and 6 from the decimal number system to the binary number system.&lt;/p&gt;

&lt;p&gt;(5)10 = (101)2&lt;br&gt;
(6)10 = (110)2&lt;/p&gt;

&lt;p&gt;Adding the binary representation according to the truth table,&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1618388283288%2FJlHSMRFY1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1618388283288%2FJlHSMRFY1.png" alt="image.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The highlighted 1 represents the carry bit. Convert 1011 to decimal, we get the result as 11, that is, in fact, 5 + 6. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;ii.Subtraction&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Spoiler alert:&lt;/strong&gt; There's nothing known as subtraction in the computer. The computer uses a method called 2's complement to perform subtraction using addition. So, if we want to perform 6 - 5, the computer treats it as  6 + (-5).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 1:&lt;/strong&gt; Convert numbers from the decimal number system to the binary number system.&lt;/p&gt;

&lt;p&gt;(6)10 = (110)2&lt;br&gt;
(5)10 = (101)2&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 2:&lt;/strong&gt; Invert the bits of the number to be subtracted. (Change 0 to 1 and 1 to 0)&lt;/p&gt;

&lt;p&gt;(5)10 = (101)2 = 010&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 3:&lt;/strong&gt; Add the numbers&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1618390151602%2FAfLl4vTGP.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1618390151602%2FAfLl4vTGP.png" alt="image.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;If a carry is generated from the most significant bit(MSB)— the leftmost bit, that means the result is positive. Discard the carry it and add 1 to obtain the final answer. &lt;/li&gt;
&lt;li&gt;If no carry is generated, that means the number is negative. In this case, you've to invert the bits of the answer.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1618390268017%2FrdTqnlLet.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1618390268017%2FrdTqnlLet.png" alt="image.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 4:&lt;/strong&gt; Convert the answer obtained in binary back to the decimal number system.&lt;/p&gt;

&lt;p&gt;(1)2 = (1)10&lt;/p&gt;

&lt;p&gt;Therefore, we get the answer as 1. &lt;/p&gt;
&lt;h2&gt;
  
  
  2. Bitwise operators
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1618148234602%2FdAx4VsuJI.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1618148234602%2FdAx4VsuJI.png" alt="image.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;As we have Arithmetic operators to work on Decimal numbers, we have Bitwise Operators to work on Binary Numbers. The most commonly used Bitwise operators are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Bitwise AND(&amp;amp;)&lt;/li&gt;
&lt;li&gt;Bitwise OR(|)&lt;/li&gt;
&lt;li&gt;Bitwise XOR(^)&lt;/li&gt;
&lt;li&gt;Bitwise NOT(~)&lt;/li&gt;
&lt;li&gt;Right Shift(&amp;gt;&amp;gt;)&lt;/li&gt;
&lt;li&gt;Left Shift(&amp;lt;&amp;lt;)&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
  &lt;tr&gt;
    &lt;th&gt;Number 1&lt;/th&gt;
    &lt;th&gt;Number 2&lt;/th&gt;
    &lt;th&gt;AND(&amp;amp;)&lt;/th&gt;
    &lt;th&gt;OR(|)&lt;/th&gt;
    &lt;th&gt;XOR(^)&lt;/th&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;0&lt;/td&gt;
    &lt;td&gt;0&lt;/td&gt;
    &lt;td&gt;0&lt;/td&gt;
    &lt;td&gt;0&lt;/td&gt;
    &lt;td&gt;0&lt;/td&gt;
     &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;0&lt;/td&gt;
    &lt;td&gt;1&lt;/td&gt;
    &lt;td&gt;0&lt;/td&gt;
    &lt;td&gt;1&lt;/td&gt;
    &lt;td&gt;1&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;1&lt;/td&gt;
    &lt;td&gt;0&lt;/td&gt;
    &lt;td&gt;0&lt;/td&gt;
    &lt;td&gt;1&lt;/td&gt;
    &lt;td&gt;1&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;1&lt;/td&gt;
    &lt;td&gt;1&lt;/td&gt;
    &lt;td&gt;1&lt;/td&gt;
    &lt;td&gt;1&lt;/td&gt;
    &lt;td&gt;0&lt;/td&gt;
  &lt;/tr&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Consider this as the master table. How to build this table? &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1.  AND(&amp;amp;):&lt;/strong&gt; If both the bits of the numbers are 1, the output is 1 else 0.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. OR(|):&lt;/strong&gt; If both the bits of the numbers are 0, the output is 0 else 1.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. XOR(^):&lt;/strong&gt; If both the bits of the numbers are different, the output is 1 else 0.&lt;/p&gt;

&lt;p&gt;Let's explore the other operators.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. NOT(~)&lt;/strong&gt; works on single bits. It inverts the value of the bits. If the input is 0 it converts it to 1 and vice versa,&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5. Right Shift(&amp;gt;&amp;gt;):&lt;/strong&gt; Shifts the position of bits to one place towards the right. The significance of the right bit is that it divides the number by 2. For example, let's say we have to right shift the number 12 two times.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Problem:&lt;/strong&gt; 12&amp;gt;&amp;gt;2&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Solution:&lt;/strong&gt; 12 becomes 1100 in Binary &lt;br&gt;&lt;br&gt;
Right shift bits once:  0110 &lt;br&gt;&lt;br&gt;
Right shift bits twice: 0011 &lt;br&gt;&lt;/p&gt;

&lt;p&gt;Hence 12 gets converted to 6 and then 3. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;6. Left shift(&amp;lt;&amp;lt;):&lt;/strong&gt; Shifts the position of bits to one place towards the left. The significance of the left bit is that it multiplies the number by 2. For example, let's say we have to left-shift the number 12 two times.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Problem:&lt;/strong&gt; 12&amp;lt;&amp;lt;2  &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Solution:&lt;/strong&gt; 12 becomes 1100 in Binary &lt;br&gt;&lt;br&gt;
Right shift bits once: 11000 &lt;br&gt;&lt;br&gt;
Right shift bits twice: 110000&lt;/p&gt;

&lt;p&gt;Hence 12 gets converted to 24 and then 48. &lt;/p&gt;
&lt;h2&gt;
  
  
  3. Significance of these operations
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1618148583420%2FYm0c-B-o5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1618148583420%2FYm0c-B-o5.png" alt="image.png"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  a. General Application
&lt;/h3&gt;

&lt;p&gt;Let's say you wanted to write a code where you are constantly multiplying/dividing the term by 2.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;for (int i = 1; i &amp;lt;= N;  i = i * 2)
{
   ------------------
   ------------------
} 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Instead of multiplication, you can directly use the left shift operator in the updation phase.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;for(int i =1; i&amp;lt; = N; i =(i&amp;lt;&amp;lt;1))
{
   ------------------
   ------------------
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  b. Swapping
&lt;/h3&gt;

&lt;p&gt;You can perform swapping without the need for a third variable. The magic is created by the XOR operator.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;int a = 5, b = 2;
a ^= b;
b ^= a;
a ^= b;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  c. Even/Odd
&lt;/h3&gt;

&lt;p&gt;What if I told you that we can completely eliminate the use of the modulo(%) operation to find out whether a number is even or odd. We can achieve this using &lt;strong&gt;Bit Masking&lt;/strong&gt;. Before diving into Bit Masking, I would like to perform a small quiz. What is the pattern among these numbers?&lt;/p&gt;

&lt;p&gt;2 = 10 &lt;br&gt;&lt;br&gt;
4 = 100 &lt;br&gt;&lt;br&gt;
6 = 110 &lt;br&gt;&lt;br&gt;
8 = 1000 &lt;br&gt;&lt;br&gt;
10= 1010 &lt;br&gt;&lt;/p&gt;

&lt;p&gt;1 = 1 &lt;br&gt;&lt;br&gt;
3 = 11 &lt;br&gt;&lt;br&gt;
5 = 101 &lt;br&gt;&lt;br&gt;
7 = 111 &lt;br&gt;&lt;br&gt;
9 = 1001 &lt;br&gt;&lt;/p&gt;

&lt;p&gt;If you notice correctly, you'd observe that the last digit of each even number is 0. Similarly for odd numbers, the last digit is 1. Therefore, to distinguish between even and odd numbers, we just need to figure out whether the last digit of a number is 0/1.&lt;br&gt;
The concept is if we use AND any number with 1, we would receive the last digit of the number.&lt;/p&gt;

&lt;p&gt;For example,&lt;/p&gt;

&lt;p&gt;i.  8 &amp;amp; 1&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1618147031022%2F9p1-uNQuy.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1618147031022%2F9p1-uNQuy.png" alt="image.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;ii. 7 &amp;amp; 1&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1618147063443%2FLco3vliqn.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1618147063443%2FLco3vliqn.png" alt="image.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We can simply compare the result with 0 and verify if our number is even or odd. This process is called Bit Masking. We use 1 as a mask and perform an operation to get the desired output. &lt;/p&gt;

&lt;p&gt;Code snippet for Even and Odd numbers using Bit Manipulation technique:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;int i = 8763;
if((i&amp;amp;1)==0)
System.out.println("Even Number");
else
System.out.println("Odd Number");
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;That's it for today, folks. In the next part of this series, we would discuss Bit Masking Techniques and move on to explore some advanced Bit Manipulation Techniques &amp;amp; Algorithms. &lt;/p&gt;

&lt;p&gt;This article was inspired by the  &lt;a href="https://www.youtube.com/watch?v=N89PN_uyelU&amp;amp;list=PLUcsbZa0qzu3yNzzAxgvSgRobdUUJvz7p&amp;amp;t=0s" rel="noopener noreferrer"&gt;DSA-One series&lt;/a&gt;  by  &lt;a href="https://www.linkedin.com/in/anuj-kumar-sharma-294533138/" rel="noopener noreferrer"&gt;Anuj Kumar Sharma. &lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Bonus Insights by  &lt;a href="https://theinsightfulcoder.com/" rel="noopener noreferrer"&gt;The Insightful Coder&lt;/a&gt; :
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Interested in Building Creative Beginner-Level Python Projects🐍?: Check out the  &lt;a href="https://hashnode.com/series/python-projects-for-beginners-ckk31d9370h0vrus1blfl0a4y" rel="noopener noreferrer"&gt;Python Projects for Beginners Series&lt;/a&gt;😍&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Interested in Building Your Own Artificial Intelligence Projects using Python?: Check out the &lt;a href="https://hashnode.com/series/python-ai-series-ckkft33ux016dwjs11xlqbz4v" rel="noopener noreferrer"&gt;Python AI Series&lt;/a&gt;🧠&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;I'm dropping useful developer resources, interactive quizzes, interviews tips and more on my  &lt;a href="https://www.instagram.com/theinsightfulcoder/" rel="noopener noreferrer"&gt;Instagram&lt;/a&gt;  page 🖼&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Find and Download All My Project Source Codes at My &lt;a href="https://github.com/SaiAshish-Konchada" rel="noopener noreferrer"&gt;Github Repository&lt;/a&gt; 🎁 &lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>beginners</category>
      <category>computerscience</category>
      <category>programming</category>
      <category>algorithms</category>
    </item>
    <item>
      <title>Demystifying Time Complexity &amp; Big O Notation</title>
      <dc:creator>Sai Ashish</dc:creator>
      <pubDate>Mon, 12 Apr 2021 17:12:45 +0000</pubDate>
      <link>https://dev.to/theinsightfulcoder/demystifying-time-complexity-big-o-notation-2f20</link>
      <guid>https://dev.to/theinsightfulcoder/demystifying-time-complexity-big-o-notation-2f20</guid>
      <description>&lt;p&gt;One of the most important concepts in software development is analysing the time complexity of an algorithm. In technical interviews, you'd often find interviewers asking, "What's the time complexity of this algorithm?" or "Can you improve the time complexity?" If you've no idea what time complexity means or what the fuss about Big O is all about, stick till the end to find out!&lt;/p&gt;

&lt;h2&gt;
  
  
  What is Time Complexity?
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1618086630981%2Fi1Xrzpbef.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1618086630981%2Fi1Xrzpbef.png" alt="Time Complexity"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Time complexity is the &lt;strong&gt;time taken&lt;/strong&gt; by an algorithm as a &lt;strong&gt;function of the length of the input&lt;/strong&gt;. In short, it tells the running time or &lt;strong&gt;performance&lt;/strong&gt; of a program as the size of the input is varied.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why do we need to understand Time Complexity?
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1618085877205%2FGCNqIjS2y.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1618085877205%2FGCNqIjS2y.png" alt="Understanding Time Complexity"&gt;&lt;/a&gt;&lt;br&gt;
Time complexity helps us to determines the &lt;strong&gt;scalability&lt;/strong&gt; of an algorithm. Suppose, you're at a party and you want to use an Instagram filter to capture the joyous occasion. Alas, the filter takes years to load. Your smiles turn into a frown as your mood gets ruined. So much for a party, huh?&lt;/p&gt;

&lt;p&gt;As a developer, it is necessary to understand which is the most efficient and optimised method to use in an application. &lt;/p&gt;
&lt;h2&gt;
  
  
  How to compare the time complexity of an algorithm?
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1618085987351%2F2UtWwoe7H.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1618085987351%2F2UtWwoe7H.png" alt="Compare time complexity of algorithm"&gt;&lt;/a&gt;&lt;br&gt;
Let us take an example to understand this problem. Ali and Jack were given a task to write a program to find the sum of &lt;em&gt;n&lt;/em&gt; numbers. Jack is a very hardworking guy who has mastered the fundamentals of a programming language. He doesn't pay attention to anything except programming. Here's how he coded the program:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;int n=10, sum = 0;
for(int i=1; i&amp;lt;=n; i++)
{
     sum = sum + i;
}
System.out.println(sum);
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Ali was smart. He focused on every subject in school and solved problems in a jiffy. When Ali was granted the same problem, he chuckled and used Mathematics to his aid. Here's  how Ali built his program:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;int n=10;
System.out.println((n*(n+1))/2);
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;As you see from the above scenario, Ali was much more efficient as he avoided the shackles of using a loop to calculate his answer. If the size of the input increases, Jack's program will start to freeze and eventually int will overflow to present the wrong answer. Ali's magical line saves time and gives the right answer even for larger numbers.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is Big O?
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1618084695849%2FcgaFO-C_x.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1618084695849%2FcgaFO-C_x.png" alt="image.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Image Source: &lt;a href="https://www.bigocheatsheet.com/" rel="noopener noreferrer"&gt;BigOCheatSheet&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Based on logic, we have understood time complexity and its comparison but we need something very distinct to compare the performance of different algorithms. If we start comparing the different type of sorting techniques by logic, it would get real tedious for our brain to execute the complexity of our problem. To optimise this, there's a superhero called the Big O.&lt;/p&gt;

&lt;p&gt;As per  &lt;a href="https://en.wikipedia.org/wiki/Big_O_notation" rel="noopener noreferrer"&gt;Wikipedia&lt;/a&gt;, Big O or asymptotic notation is a &lt;strong&gt;mathematical function&lt;/strong&gt; that describes the &lt;strong&gt;limiting behaviour&lt;/strong&gt; of a function when the argument tends towards a particular value or infinity.&lt;/p&gt;

&lt;p&gt;Big O basically tells us the &lt;strong&gt;time complexity in mathematical terms&lt;/strong&gt; which can be easily compared. Our superhero Big O comes in different forms and sizes. I'll introduce you to them, right away!&lt;/p&gt;

&lt;h2&gt;
  
  
  Understanding O(1)
&lt;/h2&gt;

&lt;p&gt;O(n) stands for &lt;strong&gt;constant time complexity&lt;/strong&gt;. O(1) represents that no matter the size of the input, it takes the same amount of time to execute. For example,&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;int b = {1,2,3,4,5}
System.out.println(b[0]);
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;No matter the length of the array, the program will require one unit, constant time.&lt;/p&gt;

&lt;h2&gt;
  
  
  Understanding O(n)
&lt;/h2&gt;

&lt;p&gt;O(n) stands for &lt;strong&gt;linear time complexity&lt;/strong&gt;. Linear represents the time takes by the algorithm is directly proportional to the size of the input. One of the most famous examples is the Linear Search algorithm. In linear search, we iterate over each element of the loop until we find a match. In the best-case scenario, the element could be present in the first position itself, thus effectively reducing the time complexity to O(1) as seen above. On the other hand, if the element is present at the end of the array or not at all, the loop has to iterate over all the elements in the array. Hence, the time complexity increases to O(n).&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;int a = 0, n[] = {1,2,3,4,5};
for(int i = 0; i &amp;lt;n.length; i++)
{
     if(n[i]==a)
     {
          System.out.println("Found");
          break;
     }
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; If there are two for loops in a program, the effective time complexity is still considered as O(n) and not O(2n). We typically ignore the constants in front of the variables in such cases, because they both still represent a linear function.&lt;/p&gt;

&lt;h2&gt;
  
  
  Understanding O(logn)
&lt;/h2&gt;

&lt;p&gt;O(logn) also known as &lt;strong&gt;logarithmic time complexity&lt;/strong&gt; denotes the time taken by the program to execute is proportional to the logarithm of the size of the input. The most famous example of this is the Binary Search algorithm. Let's suppose the worst-case scenario in the Binary search algorithm. We keep on halving our search array until we find the element or realise it is not present. In an array of 8 elements it will take maximum of 3 iterations(log28) to execute. If there are 1 million elements, it'll take just 19 iterations. This makes Binary Search so much more powerful than Linear Search.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;int arr[] = {10,20,30,40,50}; 
int l = 0, r = arr.length - 1;
while (l &amp;lt;= r) {
      int m = l + (r - l) / 2;
      if (arr[m] == x)
          return m;
      if (arr[m] &amp;lt; x)
           l = m + 1;
      else
           r = m - 1;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Understanding O(n&lt;sup&gt;2&lt;/sup&gt;)
&lt;/h2&gt;

&lt;p&gt;O(n&lt;sup&gt;2&lt;/sup&gt;) is also known as &lt;strong&gt;Quadratic time complexity&lt;/strong&gt;. It represents that input is proportional to the square of the size of the input. It is most commonly seen in Bubble sort, Insertion sort and Patterns. Nested loops are an easy way to identify the O(n&lt;sup&gt;2&lt;/sup&gt;) complexity. &lt;/p&gt;

&lt;p&gt;As the number of nested loops increases so does the power.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;for(int i = 1; i&amp;lt;=5; i++)
{
     for(int j = 1; j&amp;lt;=i; j++)
     {
         System.out.print(j);
     }
System.out.println();
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; If there are instances of multiple nested loops of different orders only the highest power will contribute to time complexity. For example, if T(n) = 3n&lt;sup&gt;3&lt;/sup&gt; + 2n&lt;sup&gt;2&lt;/sup&gt;+n. The time complexity will be Cubic, O(n&lt;sup&gt;3&lt;/sup&gt;).&lt;/p&gt;

&lt;h2&gt;
  
  
  Understanding O(2&lt;sup&gt;n&lt;/sup&gt;)
&lt;/h2&gt;

&lt;p&gt;O(2&lt;sup&gt;n&lt;/sup&gt;) represents the &lt;strong&gt;exponential function&lt;/strong&gt;. It is opposite to the logarithmic function. This mostly occurs in the case of Recursive functions, like recursive calculation of Fibonacci numbers. Another famous example of this complexity is the Hanoi Tower Problem.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;void solve_hanoi(int N, string from_peg, string to_peg, string spare_peg)
{
    if (N&amp;lt;1) {
        return;
    }
    if (N&amp;gt;1) {
        solve_hanoi(N-1, from_peg, spare_peg, to_peg);
    }
    print "move from " + from_peg + " to " + to_peg;
    if (N&amp;gt;1) {
        solve_hanoi(N-1, spare_peg, to_peg, from_peg);
    }
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Program Source: &lt;a href="https://stackoverflow.com/questions/34915869/example-of-big-o-of-2n" rel="noopener noreferrer"&gt;Stack Overflow&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Understanding O(n!)
&lt;/h2&gt;

&lt;p&gt;O(n!) represents that the time complexity is the function of n &lt;strong&gt;factorial.&lt;/strong&gt; This is the costliest it can get. One of the most classic examples is the Travelling Salesman Problem. Another example of O(n!) is given below:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const nFacRuntimeFunc = (n) =&amp;gt; {
  for(let i=0; i&amp;lt;n; i++) {
    nFacRuntimeFunc(n-1);
  }
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You should at all costs &lt;strong&gt;avoid&lt;/strong&gt; the O(n!) complexity. &lt;/p&gt;

&lt;h2&gt;
  
  
  Let's Recap:
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;O(1)&lt;/strong&gt; - Constant time complexity (Best🎯)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;O(n)&lt;/strong&gt; - Linear time complexity&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;O(log n)&lt;/strong&gt; - Logarithmic time complexity&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;O(n&lt;sup&gt;2&lt;/sup&gt;)&lt;/strong&gt; - Quadratic time complexity&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;O(2&lt;sup&gt;n&lt;/sup&gt;)&lt;/strong&gt; - Exponential time complexity&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;O(n!)&lt;/strong&gt; - Factorial time complexity (Worst😭)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Valuable Resource:  &lt;a href="https://www.bigocheatsheet.com/" rel="noopener noreferrer"&gt;Big O Cheatsheet&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Our superhero deserves a website of his own. I stumbled upon this website called the  &lt;a href="https://www.bigocheatsheet.com/" rel="noopener noreferrer"&gt;BigOCheatSheet.com&lt;/a&gt; made by &lt;a href="https://twitter.com/ericdrowell" rel="noopener noreferrer"&gt;Eric&lt;/a&gt;. It contains an amazing comparison of the time complexity for different data structures and array sorting elements.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1618084611822%2F5039Vbory.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1618084611822%2F5039Vbory.png" alt="Time Complexity of common data structures"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1618084629307%2FBR6c2vUa8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1618084629307%2FBR6c2vUa8.png" alt="Time Complexity of various sorting algorithms"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In today's world, people are learning various frameworks, libraries &amp;amp; technologies without learning time complexity or Data Structures &amp;amp; Algorithms(DSA). If you ask any developer working in the top MNC's, they'll advise you to master the fundamentals and learn DSA as it greatly helps in problem-solving and writing efficient code. With that said, I hope our superhero continues to be our guardian angel forever. Cheers🍻&lt;/p&gt;

</description>
      <category>computerscience</category>
      <category>beginners</category>
      <category>algorithms</category>
      <category>programming</category>
    </item>
    <item>
      <title>Automating Facebook Login Using Python</title>
      <dc:creator>Sai Ashish</dc:creator>
      <pubDate>Tue, 30 Mar 2021 13:22:26 +0000</pubDate>
      <link>https://dev.to/theinsightfulcoder/automating-facebook-login-using-python-48g6</link>
      <guid>https://dev.to/theinsightfulcoder/automating-facebook-login-using-python-48g6</guid>
      <description>&lt;p&gt;In this article, we are going to automate the Facebook login process. We will achieve this using web automation, also known as browser automation. Web automation means automating, that is, performing a task automatically without the need for human effort.&lt;/p&gt;

&lt;p&gt;In this article, you're going to learn:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;1. The Approach of Problem-Solving via Automation 
2. Process of Web Automation
3. How to Use Selenium (Web Automation Tool)
4. How to Investigate the Source Code of a Website and Targeting the Elements We Want to Automate
5. Step by Step Execution of the Automatic Facebook Login Using Python
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  1. The Approach of Problem-Solving via Automation
&lt;/h2&gt;

&lt;p&gt;The first step in problem-solving is to** identify the root of the problem**. The problem is to perform the same login task every morning. To solve this, we need to come up with an elegant method that does this task for us. &lt;/p&gt;

&lt;p&gt;The most feasible solution to automate a program is by building one. I choose ** Python** as my ideal programming language for this task because of its ease and powerful libraries.&lt;/p&gt;

&lt;p&gt;Let's list out the steps we want our program to automate:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Step 1: Open Google 
Step 2: Visit Facebook's Website
Step 3: Click on the input box under Email ID/Phone number
Step 4: Enter credentials
Step 5: Click on the input box under Password
Step 6: Enter the password
Step 7: Click on the login button
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This is the algorithm for our problem statement. Now, we want to search for something that could help us perform this task. &lt;/p&gt;

&lt;p&gt;Open your browser, and search for "How to automate web using Python?" &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--4eFkulDU--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1617019098487/HlNQuwtSk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--4eFkulDU--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1617019098487/HlNQuwtSk.png" alt="How to automate web using Python? Google Search Results" width="880" height="335"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you scroll down, you'd see one word popping more often than others. That's &lt;strong&gt;Selenium&lt;/strong&gt;. The next step should be to explore more about Selenium. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--_DN4JfgD--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1617019251242/DeSX3Kwxnk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--_DN4JfgD--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1617019251242/DeSX3Kwxnk.png" alt="Selenium Web Automation Tool" width="880" height="304"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I googled Selenium and here's what I found. &lt;strong&gt;Selenium automates browsers!&lt;/strong&gt; Selenium is an open-source tool Web automation tool that helps users to control a web browser through a program. That's perfect. The next question was to find a way to use Selenium with Python. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Tj4HVRRd--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1617019416205/B4z2TzrcP.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Tj4HVRRd--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1617019416205/B4z2TzrcP.png" alt="Selenium for Python Google Search Results" width="880" height="459"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Here, I discovered the documentation of Selenium for Python. Here's the  &lt;a href="https://pypi.org/project/selenium/"&gt;link&lt;/a&gt; .&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--yLicbImA--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1617019499484/Ucj1XyI2Td.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--yLicbImA--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1617019499484/Ucj1XyI2Td.png" alt="Installing Selenium in your Python Environment" width="839" height="351"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;On visiting the website, I found the command to install Selenium in my Python Environment. It was pip install selenium.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--JiokPNuy--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1617019701577/PahGLKpJB.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--JiokPNuy--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1617019701577/PahGLKpJB.png" alt="Webdriver for Selenium Python" width="880" height="527"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you scroll down, you'd encounter that Selenium requires something called a driver to interface with the browser. A &lt;strong&gt;Web Driver&lt;/strong&gt; is an open tool used by Selenium that &lt;strong&gt;establishes a connection between you and any website&lt;/strong&gt;. There are different kinds of driver options to choose from in accordance with the browser you want to automate. For this build, I'm going to use the Google Chrome Browser, so, I visit the site listed beside Chrome.&lt;/p&gt;

&lt;p&gt;The site leads to the &lt;strong&gt;ChromeDriver - WebDriver for Chrome&lt;/strong&gt; page. There are different versions of the driver available according to the version of your browser. Check the version of the browser you're using visiting the 3 dots -&amp;gt; Help -&amp;gt; About Google Chrome &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--ZNaZjE7c--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1617020342020/wD7WdQJ8W.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ZNaZjE7c--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1617020342020/wD7WdQJ8W.png" alt="How to find version of Google Chrome" width="655" height="553"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--_B32b6yF--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1617020399169/R9sleXL-r.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--_B32b6yF--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1617020399169/R9sleXL-r.png" alt="Google Chrome Version Check" width="859" height="221"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;As my Chrome version is 89.0.4389.90, I'd select the second option from the current releases of Chrome Driver.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--aKDsH34r--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1617020515431/MJ1dJLinr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--aKDsH34r--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1617020515431/MJ1dJLinr.png" alt="Which version of chrome web driver to install according to Google Chrome Version?" width="797" height="329"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I'm using Windows as my Operating system, so I choose the 5th option from the list. This downloads a zip file named chromedriver_win32.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--t-MnDNGv--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1617020583700/eYHB76Kw5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--t-MnDNGv--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1617020583700/eYHB76Kw5.png" alt="Downloading Google webdriver for chrome" width="880" height="317"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Extract the folder. This unravels an executable file. That's it. Now, we are ready to automate our task.&lt;/p&gt;
&lt;h2&gt;
  
  
  2. Time to Code
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--LwWWhFKW--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1611771833314/Uugrd3XOg.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--LwWWhFKW--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1611771833314/Uugrd3XOg.jpeg" alt="Time to Code, The Insightful Coder" width="880" height="495"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Step by step, we are going to solve each step of the algorithm we created earlier, and voila! — our build would be successful.&lt;/p&gt;
&lt;h3&gt;
  
  
  &lt;strong&gt;Step 1:&lt;/strong&gt; Open Google
&lt;/h3&gt;

&lt;p&gt;By reading the documentation, I noticed this is achieved using the webdriver.Chrome function, which means I've to import webdriver from selenium. To do that, I type:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;# importing the required module
from selenium import webdriver
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;We'll do one more quick step here, which is storing the credentials in variables.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;# store the credentials
user_id = "email_or_phone_number_to_your_facebook_account"
password = "password_to_your_facebook_account"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;We have to create an object of webdriver so that we can use it as a remote control to perform any automation task we wish to. We achieve this using the webdriver.Chrome() function.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Syntax:&lt;/strong&gt;&lt;br&gt;
variable_name = webdriver.Chrome('path_to_chromedriver.exe_file_we_downloaded_earlier')&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;browser = webdriver.Chrome('C:\\webdrivers\\chromedriver.exe')
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;In Windows, add a double backslash as a single backslash denotes escape character. This opens up the Google website.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Step 2:&lt;/strong&gt; Visit Facebook's Website
&lt;/h3&gt;

&lt;p&gt;To open Facebook we will be using the get() method. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Syntax:&lt;/strong&gt;&lt;br&gt;
browser_object.get(link_of_the_webpage_to_be_opened)&lt;/p&gt;

&lt;p&gt;You can imagine the .get as a button on a remote control that opens up any website whose URL we pass to it. To open Facebook, simply pass the URL of facebook's main page.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;browser.get('https://www.facebook.com/')
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  &lt;strong&gt;Step 3:&lt;/strong&gt; Click on the input box under Email ID/Phone number
&lt;/h3&gt;

&lt;p&gt;The next step is to click the input box under Email or phone. This may seem a bit tricky but if you understand the following steps in order, it'd be a piece of cake for you. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--i3l-qDrz--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1617028516260/9s76UUyqD.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--i3l-qDrz--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1617028516260/9s76UUyqD.png" alt="Login/Main page of Facebook.com" width="880" height="416"&gt;&lt;/a&gt;&lt;br&gt;
This is Facebook's main page. We click on the input element to activate it and send our credential to it. To do this first, we have to understand that a webpage is made up of something called HyperText Markup Language(HTML). The HTML decides the structure of a website. The HTML has tags(like parts of a body) and each tag can be accessed via its specific attributes(property). &lt;/p&gt;

&lt;p&gt;Similarly, the input field also has a tag with some attributes. To identify the name of the tag, we will inspect the code of the webpage. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Sv0k9pqk--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1617030531242/Twp6dQAbt.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Sv0k9pqk--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1617030531242/Twp6dQAbt.png" alt="How to inspect the source code of any web page?" width="671" height="562"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--QwEHYP1t--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1617030616254/rFDCeazU7J.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--QwEHYP1t--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1617030616254/rFDCeazU7J.png" alt="How to inspect the source code of any web page using Google Chrome?" width="880" height="428"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Visit the three dots -&amp;gt; More tools -&amp;gt; Developer Tools or simple type Ctrl+Shift+I and the browser opens up a section of the code of the webpage, It may look super scary if you're unfamiliar with this, but don't worry, you don't have to understand it all. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--hqQaNzDn--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1617030671351/u52RKWoi6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--hqQaNzDn--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1617030671351/u52RKWoi6.png" alt="How to inspect the element of the source code of any web page?" width="880" height="379"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Press Ctrl+Shift+C or click on the select button(arrow thingy). Now, if you hover over the web page different parts will start gettings highlighted. We have to click on our target element, in our case, the Email or phone input box. This opens up the corresponding source code to that element. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--tSV3W5dD--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1617030988262/ViifzzzvL.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--tSV3W5dD--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1617030988262/ViifzzzvL.png" alt="How to inspect the attribute id of any element of source code of any web page?" width="880" height="378"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It denotes that it is an input element. Note down the id attribute of the element. It is email. This acts as the unique identifier for that element. In our Python Program, we will find that element using the find_element_by_id() function.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;user_box = browser.find_element_by_id("email")
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This finds the element with the id email and returns an object into the user_box variable.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Step 4:&lt;/strong&gt; Enter credentials
&lt;/h3&gt;

&lt;p&gt;We will pass the email_id or phone stored from the program into the browser using the send_keys() function.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;user_box.send_keys(user_id)  
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  &lt;strong&gt;Step 5:&lt;/strong&gt; Click on the input box under Password
&lt;/h3&gt;

&lt;p&gt;Similarly, repeat the process to find the Password element's id. We get the id of the password input field as pass.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Zubr5xyZ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1617031992753/15WxjgghW.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Zubr5xyZ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1617031992753/15WxjgghW.png" alt="How to inspect the attribute id of any element of source code of any web page?" width="880" height="377"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Get the object of the element using the find_element_by_id() method.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;password_box = browser.find_element_by_id("pass")   
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  &lt;strong&gt;Step 6:&lt;/strong&gt; Enter the password
&lt;/h3&gt;

&lt;p&gt;Pass the password stored earlier in the program using the send_keys() function.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;password_box.send_keys(password) 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  &lt;strong&gt;Step 7:&lt;/strong&gt; Click on the login button
&lt;/h3&gt;

&lt;p&gt;Following the same process for the login button as well, but this time we'll choose the name attribute instead of the id attribute. The reason for that is it is easy to remember and the id seems to be dynamically updated every time the page is loaded, so it wasn't working out. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s---jK-50mU--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1617041236462/b_OWIGvl7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s---jK-50mU--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1617041236462/b_OWIGvl7.png" alt="How to inspect the attribute name of any element of the source code of any web page?" width="880" height="394"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;After locating the element, we'll click it using the .click function()&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;login_box = browser.find_element_by_name("login")      
login_box.click()
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Final Source Code for Automating Facebook Login Using Python:
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--uY0ZOFM9--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1617042203454/63HLgWCip.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--uY0ZOFM9--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1617042203454/63HLgWCip.png" alt="Final Source Code for Automating Facebook Login Using Python" width="880" height="591"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You can download the entire source code from my  &lt;a href="https://github.com/SaiAshish-Konchada/Automation-Code-Files/blob/main/Automatic_Facebook_Login.py"&gt;GitHub Repository&lt;/a&gt;. Be sure to star the repository, it contains a bunch of amazing automation code files.&lt;/p&gt;

&lt;p&gt;And that's a wrap! We have successfully automated the login process of Facebook without the use of any bot and pure web scraping techniques. Using the process, I listed above you can automate any task on any website you wish for. The only things that are going to change are the values of attributes we will be targetting. &lt;/p&gt;

&lt;p&gt;What application would you like me to automate next? Should I build an Instagram Profile Picture Downloader, an Amazon Message Bomber or Whatsapp Automation? Let me know in the comment section below!&lt;/p&gt;

&lt;h2&gt;
  
  
  Bonus Insights by  &lt;a href="https://theinsightfulcoder.com/"&gt;The Insightful Coder&lt;/a&gt; :
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Interested in Building Your Own Artificial Intelligence Projects using Python?: Check out the &lt;a href="https://hashnode.com/series/python-ai-series-ckkft33ux016dwjs11xlqbz4v"&gt;Python AI Series&lt;/a&gt;🧠&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Wanna Discover Some Valuable Tech-Hacks 🛠?: Check out the &lt;a href="https://hashnode.com/series/tech-hacks-for-everybody-ckk3juqc10ihoqps16q0geabj"&gt;Tech-Hacks for Everybody Series&lt;/a&gt;😎&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;I'm also dropping daily value bombs and development insights on my  &lt;a href="https://www.instagram.com/theinsightfulcoder/"&gt;Instagram&lt;/a&gt; Page. Make sure to follow me up 💯&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Find and Download All My Project Source Codes at My &lt;a href="https://github.com/SaiAshish-Konchada"&gt;Github Repository&lt;/a&gt;  🎁&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>python</category>
      <category>computerscience</category>
      <category>programming</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Build &amp; Play the Magic 8 Ball Game Using Python</title>
      <dc:creator>Sai Ashish</dc:creator>
      <pubDate>Sun, 28 Mar 2021 14:17:01 +0000</pubDate>
      <link>https://dev.to/theinsightfulcoder/build-play-the-magic-8-ball-game-using-python-3lb0</link>
      <guid>https://dev.to/theinsightfulcoder/build-play-the-magic-8-ball-game-using-python-3lb0</guid>
      <description>&lt;p&gt;Welcome to &lt;a href="https://hashnode.com/series/python-projects-for-beginners-ckk31d9370h0vrus1blfl0a4y"&gt;Python Projects for Beginners Series&lt;/a&gt;🙋🏻‍♂️&lt;/p&gt;

&lt;p&gt;I'm &lt;a href="https://www.linkedin.com/in/sai-ashish/"&gt;Sai Ashish&lt;/a&gt; and today, I'm going to show you how to build the traditional Magic 8 ball game using Python😍&lt;/p&gt;

&lt;p&gt;How psyched are you for this build? Let's get started 🚀&lt;/p&gt;

&lt;h2&gt;
  
  
  What are we going to learn today?
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;1. What is the Magic 8 Ball game?
2. Internal Mechanism of Magic 8 Ball
3. The Random Module, the Time module &amp;amp; the Pyfiglet Module
4. Basics of Python: Functions &amp;amp; Recursive Function
5. Implementation of Magic 8 Ball Game using Python with a detailed explanation
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  1. What is Magic 8 Ball Game?
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--9BVSZmgA--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1612022890401/h9mzzLvfG.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--9BVSZmgA--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1612022890401/h9mzzLvfG.png" alt="image.png" width="330" height="330"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The Magic 8-Ball is a plastic sphere, made to look like an eight-ball, that is used for fortune-telling or seeking advice. The user asks a yes–no question to the ball, then turns it over to reveal an answer in a window on the ball🎱&lt;/p&gt;

&lt;p&gt;Source:  &lt;a href="https://en.wikipedia.org/wiki/Magic_8-Ball"&gt;Wikipedia&lt;/a&gt; &lt;/p&gt;

&lt;h2&gt;
  
  
  2. Internal Mechanism of Magic 8 Ball
&lt;/h2&gt;

&lt;p&gt;Let me tell you a secret real quick🤫 In reality, the Magic 8 Ball, just picks out random answers from a pool of possible answers embedded into it. There is no actual processing involved. In this build, we are going to achieve this magic using the Random module. &lt;/p&gt;

&lt;h2&gt;
  
  
  3. The Random Module, the Time module &amp;amp; the Pyfiglet Module
&lt;/h2&gt;

&lt;h3&gt;
  
  
  a. The Random Module
&lt;/h3&gt;

&lt;p&gt;To help us build this game, we are going to use an amazing module of Python called random. The random module generates random numbers for us. This gets in real handy as we do not want our computer to be biased.&lt;/p&gt;

&lt;h3&gt;
  
  
  b. The Time Module
&lt;/h3&gt;

&lt;p&gt;The time module provides various time-related functions. We use it to retrieve the system time and display it on the screen. You can access the official documentation form &lt;a href="https://theinsightfulcoder.com/how-to-build-a-digital-time-clock-using-python"&gt;here📄&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  c. The Pyfiglet Module
&lt;/h3&gt;

&lt;p&gt;Before we dive into the build, I'd like to introduce everyone to an aesthetic module of Python, The Pyfiglet Module. &lt;em&gt;Aesthetic module? What do you mean?&lt;/em&gt; &lt;/p&gt;

&lt;p&gt;Yes, aesthetic. The Pyfiglet Module converts ordinary looking text into creative word blocks in just a line of code. An example of this can be seen in the image below:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--DRYLtEwv--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1612023976243/g9WzNqpME.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--DRYLtEwv--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1612023976243/g9WzNqpME.png" alt="Magic 8 Ball Ascii Art" width="605" height="230"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;To install pyfiglet into our system, open your terminal and type the following command:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;pip install pyfiglet
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  4. Time To Code
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--LwWWhFKW--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1611771833314/Uugrd3XOg.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--LwWWhFKW--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1611771833314/Uugrd3XOg.jpeg" alt="Time to Code, The Insightful Coder" width="880" height="495"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The first step is to import the required modules:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;# importing the required libraries
import random
import pyfiglet
import time
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Let's define a function named magic8ball() which greets the players of the game and takes their name as an input.&lt;/p&gt;

&lt;p&gt;We define a function by using the define statement as:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;# defining function magic8ball()
def magic8ball():
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Inside this magic8ball() function, let's print the amazing Magic 8 Ball design we created earlier using the Pyfiglet module.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;# print aestheic text design
print(pyfiglet.figlet_format("Magic 8 Ball"))
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Asking the player for their name:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;# asking for player's name
name = input('Hey there, I am the Magic 8 Ball, What is your name?')
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Greeting the player:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;# greeting the player
print('Hello ' + name + '!')
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Inside this function, let's call another function called magic_questions()&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;# calling the magic_questions() function to ask for question and give magic response
magic_questions()
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The process of calling one function inside of another function is called Recursion.&lt;/p&gt;

&lt;p&gt;Let's define  magic_questions()&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;# defining the function magic_questions()
def  magic_questions():
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Inside the magic_questions() function, we store the 20 default answers originally stored inside of the Magic8Ball inside a variable called answers. The random module will choose one of the answers by itself and display it to the player.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;# list of answers the ball replies
 answers = ["It is certain", "It is decidedly so", "Without a doubt", "Yes, definitely",
               "You may rely on it", "As I see it, yes", "Most Likely", "Outlook Good",
               "Yes", "Signs point to yes", "Reply hazy, try again", "Ask again later",
               "Better not tell you now", "Cannot predict now", "Concentrate and ask 
                again", "Don't count on it", "My reply is no", "My sources say no", "Outlook 
                not so good", "Very Doubtful"]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Now, we want to ask the user to input his question for the purpose of fortune-telling/ advice seeking. Sadly, the answers are random and not related to the questions in any manner. Therefore, we would ask the users for input but wouldn't store it anywhere.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;input('Ask me a question ')
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;To simulate the feeling of a real game, let's add some text and a delay between them so that it seems that the computer is actually thinking and generating the possible answer!&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;# simulating the thinking process
print("Thinking...")
time.sleep(1)
print("Gathering possible answer...")
time.sleep(2)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The answer is picked out at random. We use the randint() function of random to pick out the answers.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;# printing out a random answer from the list of possible answers
print (answers[random.randint(0, len(answers)-1)] )
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;After a delay of 3 seconds, we ask the player if they want to play again. The replay will be taken care of by the Replay() function we are about to define next.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;time.sleep(3)
# calling the Replay to check if the player wants to play again
Replay()
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Defining the function Replay():&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;# defining the Replay function()
def Replay():
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;We ask the player if they want to play again and store the response in lowercase using the lower() function.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;# asking the player's interest in playing again
print ('Do you have another question? [Yes/No] ')
# converting the response to lower case to avoid capitalisation issues
reply = input().lower()
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If the user wants to play again, we redirect him to the magic_questions() function and the game resumes the same from that point. If no, we'd stop the execution of the program using the exit() function. If the user enters anything else, we ask the user to re-enter his choice as it wasn't clear. The benefit of using the lower) function in the above line was that if the player inputs their response but is clumsy about the capitalisation, it could be taken care of.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;# if yes, resume the game again from the question-answer part
if reply == 'yes':
    magic_questions()
# if no, stop the execution of the program
elif reply == 'no':
    exit()
# in case of an invalid response, ask the player to enter a valid choice
else:
    print('Apologies, Please enter Yes or a No.')
    Replay()
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Finally, we call the magic8ball() function to execute our game.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;# calling the magic8ball() function to recursively activate the other functions too
magic8ball()
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Final Source Code for the Magic 8 Ball Build🎱
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--sa94bz4k--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1616935044771/sGCS66L3E.png%3Fauto%3Dcompress" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--sa94bz4k--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1616935044771/sGCS66L3E.png%3Fauto%3Dcompress" alt="Final Source Code for the Magic 8 Ball Build Using Python" width="880" height="1215"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Let's try the game out!&lt;/p&gt;

&lt;h2&gt;
  
  
  Output for the Magic 8 Ball game🎱
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--p2CfXv5p--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1616936013176/4Qiq5hDgi.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--p2CfXv5p--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1616936013176/4Qiq5hDgi.png" alt="Output for the Magic 8 Ball game using Python" width="793" height="604"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;That was demeaning 😂 Atleast, my articles would provide value to the amazing people out there 💯&lt;/p&gt;

&lt;p&gt;In this build, we've extensively used the power of recursion. We've divided our program into small chunks, each to carry out a particular task. In addition, we've recursively called functions within functions to kind of automate the flow of our program. Instead of a loop, we directly call the magic_questions() function if the player wants to play again.  &lt;/p&gt;

&lt;p&gt;You can directly download the Source Code to this build can be downloaded from my  &lt;a href="https://github.com/SaiAshish-Konchada/Python-Projects-for-Beginners/blob/main/Magic%208%20Ball/magic8ball.py"&gt;GitHub Repository&lt;/a&gt;. &lt;/p&gt;

&lt;p&gt;And while you're at it, consider giving this blog the maximum love you can and I promise to give you such value bombs every week 💣 Until then, take care 🙋🏻‍♂️&lt;/p&gt;

&lt;h3&gt;
  
  
  If you liked this article, I'm sure you'd love these too:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://theinsightfulcoder.com/5-python-projects-that-can-be-built-under-5-minutes"&gt;5 Python Projects That Can Be Built Under 5 Minutes&lt;/a&gt; 🔢&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://theinsightfulcoder.com/build-a-message-bomber-using-python-in-just-6-lines-of-code"&gt;Build a Message Bomber Using Python in Just 6 Lines of Code&lt;/a&gt; 📧&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://theinsightfulcoder.com/how-to-build-a-guessing-number-game-using-python"&gt;How to Build a Guessing Number Game Using Python&lt;/a&gt; 🤔&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://theinsightfulcoder.com/how-to-build-a-digital-time-clock-using-python"&gt;How to Build a Digital Time Clock Using Python&lt;/a&gt; ⏲&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://theinsightfulcoder.com/how-to-build-an-alarm-clock-using-python"&gt;How to Build an Alarm Clock Using Python&lt;/a&gt; ⏳&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://theinsightfulcoder.com/how-to-build-an-url-shortener-and-expander-using-python"&gt;How to Build an URL Shortener &amp;amp; Expander Using Python&lt;/a&gt; 🔗&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>beginners</category>
      <category>computerscience</category>
      <category>python</category>
      <category>programming</category>
    </item>
    <item>
      <title>8 Websites That You Should Definitely Check Out Once</title>
      <dc:creator>Sai Ashish</dc:creator>
      <pubDate>Sat, 20 Mar 2021 18:55:43 +0000</pubDate>
      <link>https://dev.to/theinsightfulcoder/8-websites-that-you-should-definitely-check-out-once-1838</link>
      <guid>https://dev.to/theinsightfulcoder/8-websites-that-you-should-definitely-check-out-once-1838</guid>
      <description>&lt;p&gt;We are often so bored out of our minds that nothing seems pleasant anymore 😴 To save you from that misery, I've compiled a set of 8 websites to visit to lift up your spirits 👻 So, gear up because some of them are going to blow your mind 🤯&lt;/p&gt;

&lt;h2&gt;
  
  
  1. &lt;a href="https://thispersondoesnotexist.com/" rel="noopener noreferrer"&gt;This Person Does Not Exist &lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1616245771984%2FBh_DIwOU4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1616245771984%2FBh_DIwOU4.png" alt="This Person Does Not Exist"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This website generates pictures of people who do not exist in real life. Yes, you heard it right. This website uses Artificial Intelligence to generate images of fake people. Just hit refresh and voila! —a new image is generated. Imagine, the pranks you can pull off with this one! You can experience this from  &lt;a href="https://thispersondoesnotexist.com/" rel="noopener noreferrer"&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;If you like this website, you'd probably also like  &lt;a href="https://www.whichfaceisreal.com/" rel="noopener noreferrer"&gt;Which Face is Real?&lt;/a&gt;. In this game, you'd be given a set of pictures and you'll have to identify the real person from the AI-generated one. &lt;/p&gt;

&lt;p&gt;&lt;em&gt;P.S. I lost 3 out of 5 times&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  2.  &lt;a href="https://archive.org/" rel="noopener noreferrer"&gt;Internet Archive&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1616245799509%2FrZfZbvjRd.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1616245799509%2FrZfZbvjRd.png" alt="Internet Archive"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Internet Archive is a non-profit library of millions of free books, movies, software, music, websites, and more. It has almost every resource you ever require. Check it out  &lt;a href="https://archive.org/" rel="noopener noreferrer"&gt;here&lt;/a&gt;  &lt;/p&gt;

&lt;h2&gt;
  
  
  3.  &lt;a href="https://temp-mail.org/en/" rel="noopener noreferrer"&gt;Temp-mail&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1616245823280%2FqJlabOw5W.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1616245823280%2FqJlabOw5W.png" alt="Temp-mail"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Ever wanted to access a site but required a prerequisite to first create an account. Don't worry, we have you covered. With Temp Mail, you can create a temporary mail with which you can log in to many websites. Temp Mail provide a secure, anonymous, free, disposable email address and you can also read the incoming emails as well. You can create a temp mail from &lt;a href="https://temp-mail.org/en/" rel="noopener noreferrer"&gt;here&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  4.  &lt;a href="https://reallygoodemails.com/" rel="noopener noreferrer"&gt;Really Good Email&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1616245847761%2FL8caq41gh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1616245847761%2FL8caq41gh.png" alt="Really Good Email"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Really Good Email has more than 7k amazing email designs for you to use to stand out from others. They've email design for eCommerce platforms and fashion to brand email designs from Apple, Pinterest and many others. Do have a look at this resource  &lt;a href="https://reallygoodemails.com/" rel="noopener noreferrer"&gt;here&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  5.  &lt;a href="https://www.unscreen.com/" rel="noopener noreferrer"&gt;Unscreen&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1616245880066%2F20PfV6lFl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1616245880066%2F20PfV6lFl.png" alt="Unscreen"&gt;&lt;/a&gt;&lt;br&gt;
With Unscreen you can remove any video background 100% and free. You don't need to pick pixels, or remove layers. Everything is automatic and hassle-free. You can try it out  &lt;a href="https://www.unscreen.com/" rel="noopener noreferrer"&gt;here&lt;/a&gt; &lt;/p&gt;

&lt;h2&gt;
  
  
  6.  &lt;a href="https://www.photopea.com/" rel="noopener noreferrer"&gt;PhotoPea&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1616245950774%2F7LbhIX3jc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1616245950774%2F7LbhIX3jc.png" alt="PhotoPea"&gt;&lt;/a&gt;&lt;br&gt;
Photopea is your online photoshop. You can do pretty much everything like editing photos, apply various filters and effects, text, transformations and more. You can access the website from  &lt;a href="https://www.photopea.com/" rel="noopener noreferrer"&gt;here&lt;/a&gt;  &lt;/p&gt;

&lt;h2&gt;
  
  
  7. &lt;a href="http://justflipacoin.com/" rel="noopener noreferrer"&gt;JustFlipACoin&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1616246000822%2FIrJAs3z5H.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1616246000822%2FIrJAs3z5H.png" alt="JustFlipACoin"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Ran out of coins at the nearest vending machine? Or want to make life decisions? Try Just Flip A Coin. Just Flip A Coin simulates the tossing of a coin and gives you an unbiased decision in seconds. So, the next time you don't have a change, flip the coin  &lt;a href="http://justflipacoin.com/" rel="noopener noreferrer"&gt;here &lt;/a&gt;. &lt;/p&gt;

&lt;h2&gt;
  
  
  8. &lt;a href="http://www.windows93.net/" rel="noopener noreferrer"&gt;Windows93.net&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1611313636842%2FLF44cvOTM.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1611313636842%2FLF44cvOTM.gif" alt="Windows93.net"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This is my go-to website when I feel bored or down. This site ravels the whole Windows 93 in a clean interface. You can play all the Flash games, open files, edit, save them and more. The whole Windows 93 at the tip of your fingers 👆🏻 I highly recommend you to visit this site and play around. One of my favourite storylines is the Star Wars one. And do check out the totally not a virus dolphin 😂 Experience Windows 93 now by clicking on the globe &lt;a href="http://www.windows93.net/" rel="noopener noreferrer"&gt;🌐&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;That's it folks💯 If you liked this article, smash the like button and do let me know which website you enjoyed the most!  &lt;/p&gt;

&lt;h3&gt;
  
  
  Bonus Insights by  &lt;a href="https://theinsightfulcoder.com/" rel="noopener noreferrer"&gt;The Insightful Coder&lt;/a&gt; :
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Interested in Building Creative Beginner-Level Python Projects🐍?: Check out the  &lt;a href="https://hashnode.com/series/python-projects-for-beginners-ckk31d9370h0vrus1blfl0a4y" rel="noopener noreferrer"&gt;Python Projects for Beginners Series&lt;/a&gt;😍&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Interested in Building Your Own Artificial Intelligence Projects using Python?: Check out the &lt;a href="https://hashnode.com/series/python-ai-series-ckkft33ux016dwjs11xlqbz4v" rel="noopener noreferrer"&gt;Python AI Series&lt;/a&gt;🧠&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Wanna Interact With Me 🙋🏻‍♂️? Connect With Me on Your Favourite Platform &lt;a href="https://theinsightfulcoder.com/contact-me" rel="noopener noreferrer"&gt;Here&lt;/a&gt;  🤝🏻&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Find and Download All My Project Source Codes at My &lt;a href="https://github.com/SaiAshish-Konchada" rel="noopener noreferrer"&gt;Github Repository&lt;/a&gt; 🎁&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>productivity</category>
    </item>
    <item>
      <title>How to build an URL Shortener &amp; Expander using Python</title>
      <dc:creator>Sai Ashish</dc:creator>
      <pubDate>Tue, 16 Mar 2021 12:38:47 +0000</pubDate>
      <link>https://dev.to/theinsightfulcoder/create-your-very-own-url-shortener-expander-using-python-4nfd</link>
      <guid>https://dev.to/theinsightfulcoder/create-your-very-own-url-shortener-expander-using-python-4nfd</guid>
      <description>&lt;p&gt;Welcome to the  &lt;a href="https://hashnode.com/series/python-projects-for-beginners-ckk31d9370h0vrus1blfl0a4y" rel="noopener noreferrer"&gt;Python Projects for Beginners Series&lt;/a&gt; 🙋🏻‍♂️&lt;/p&gt;

&lt;p&gt;I'm  &lt;a href="https://www.linkedin.com/in/sai-ashish/" rel="noopener noreferrer"&gt;Sai Ashish&lt;/a&gt; and today, I'm going to show you how to build an URL Shortener &amp;amp; Expander using Python😍&lt;/p&gt;

&lt;p&gt;How cool is that? Let's get started 🚀&lt;/p&gt;

&lt;h2&gt;
  
  
  What are we going to learn today?
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;1. What is a URL?
2. Understanding the URL structure
3. Why do we shorten or expand an URL?
4. Basics of Python: Conditional Statements, Type Casting, Functions
5. The Pyshorteners module
6. Implementation of the URL Shortener &amp;amp; Expander with detailed explanation
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  1. What is a URL?
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1612002587678%2F0L2BkoqzP.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1612002587678%2F0L2BkoqzP.png" alt="What is a URL? "&gt;&lt;/a&gt;&lt;br&gt;
A Uniform Resource Locator(URL) is a web address which specifies the location of a particular file on the internet. That particular file could be the HTML webpage itself or the CSS style sheet, images, video embeds etc.&lt;/p&gt;
&lt;h2&gt;
  
  
  2. Understanding the URL Structure
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1615895528506%2FlzM1TDWS6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1615895528506%2FlzM1TDWS6.png" alt="Understanding/ What is the URL Structure"&gt;&lt;/a&gt;&lt;br&gt;
Typically a URL has 5 parts:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. The Scheme&lt;/strong&gt; &lt;br&gt;&lt;br&gt;
The Scheme tells the web servers which protocol to use while accessing a page on a website. The most common examples are http and https, while there are quite a few other such as ftp and mailto. The Insightful Coder uses the https: protocol, indicating the  &lt;a href="https://developer.mozilla.org/en-US/docs/Web/HTTP" rel="noopener noreferrer"&gt;Hyper Text Transfer Protocol&lt;/a&gt;  with a  &lt;a href="https://www.ssl.com/faqs/faq-what-is-ssl/" rel="noopener noreferrer"&gt;Secure Sockets layer&lt;/a&gt; . &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. The Subdomain&lt;/strong&gt; &lt;br&gt;&lt;br&gt;
The Subdomain is an additional part to the domain name. For example, blog, shop or offers provides the website’s blog, shop or offers page.  It is used to indicate that a website has more than one part apart from the main page. At The Insightful Coder, we only have the second-level domain.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. The Second-level domain&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
The Second-level domain is the name of the website. theinsightfulcoder is the second-level domain of our website.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. The Top-level domain&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
The Top-level domain or TLD specifies the entity a website gets registered on the internet. The most commonly used TLD are .com, .org, .net, .dev, .in etc. As you can see, The Insightful Coder has a TLD of .com&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5. The Subdirectory&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
The Subdirectory specifies the page you're currently on. For eg, for this article the subdirectory is &lt;em&gt;/create-your-very-own-url-shortener-and-expander-using-python&lt;/em&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  3. Why do we shorten or expand a URL?
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1615895761774%2F0WYL1OkcQ.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1615895761774%2F0WYL1OkcQ.png" alt="image.png"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  a. URL Shortener:
&lt;/h3&gt;

&lt;p&gt;A URL shortener is a tool to shorten a URL. &lt;/p&gt;

&lt;p&gt;Which URL would you rather prefer &lt;em&gt;&lt;a href="http://somerandomkeywords.randomdomainname.tld/unecessary-long-post-slug-uggh" rel="noopener noreferrer"&gt;http://somerandomkeywords.randomdomainname.tld/unecessary-long-post-slug-uggh&lt;/a&gt;!&lt;/em&gt; or &lt;em&gt;&lt;a href="https://theinsightfulcoder.com" rel="noopener noreferrer"&gt;https://theinsightfulcoder.com&lt;/a&gt;&lt;/em&gt;?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;We use URL shortening for:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Beautification:&lt;/strong&gt; A shortened URL is a beautiful URL. A shortened URL looks neat and clean, easy to understand and hence, can generate more traffic to your website.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Easy to remember:&lt;/strong&gt; A short URL is easier to remember than a long one. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Word of Mouth Communication:&lt;/strong&gt; Suppose you want to share the name of your website with a friend, a colleague or a recruiter. Or you want to print the name of your website on a card or display it during a presentation or video conference. Which URL would you choose?  With a shorter URL you can leverage word of mouth communication. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Social media marketing:&lt;/strong&gt; Social Media such as Instagram or Twitter provide a strict number of characters or links you can use to showcase your URL. A shorter URL gives the users the chance to focus on what's important.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;More Clicks = More Traffic = Better page visibility:&lt;/strong&gt; URL Shortening becomes a major factor to get clicks website. More clicks = More traffic = Better page visibility. &lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
  
  
  b. URL Expander
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1615895833498%2FDsq3r64N9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1615895833498%2FDsq3r64N9.png" alt="image.png"&gt;&lt;/a&gt;&lt;br&gt;
A URL expander is a tool used to expand a URL.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;We use URL expanding for:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;While shortening a URL has many benefits, spammers and hackers have found a convenient way to redirect a shortened URL to a spammy or malicious website. To be aware of such malpractices and which website you're visiting, it is a good practice to check where the shortened URL points at.&lt;/p&gt;
&lt;h2&gt;
  
  
  Time to Code:
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1611771833314%2FUugrd3XOg.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1611771833314%2FUugrd3XOg.jpeg" alt="Time to Code by The Insightful Coder"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You can access the exclusive theory for this build  &lt;a href="https://github.com/SaiAshish-Konchada/Python-Projects-for-Beginners/tree/main/URL%20Shortener%20&amp;amp;%20Expander" rel="noopener noreferrer"&gt;here&lt;/a&gt;📄&lt;/p&gt;

&lt;p&gt;For this build, we would be using the pyshorteners module. As per the official  &lt;a href="https://pyshorteners.readthedocs.io/en/latest/" rel="noopener noreferrer"&gt;documentation&lt;/a&gt; , Pyshorteners is a Python lib to help you short and expand urls using the most famous URL Shorteners availables.&lt;/p&gt;

&lt;p&gt;The Pyshorteners module provides a variety of different services to choose from. Some of them are Adf.ly, Bit.ly, Cutt.ly, Git.io, Po.st, Short.cm, Tiny.cc, TinyURL.com, Tiny.cc.&lt;/p&gt;

&lt;p&gt;To install the pyshorteners module, run the following command in the terminal:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;pip install pyshorteners
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;For our build, we will be using tinyurl but you are free to choose any service you like to.&lt;/p&gt;

&lt;p&gt;The first step is to import Shorteners from the pyshorteners module. We implement it as:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;#importing the required library
from pyshorteners import Shortener
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Let's store an instance of the shortener in a variable.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;s = Shortener()
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Now, we can just use &lt;em&gt;s&lt;/em&gt; to access the functionalities of Shortener().&lt;/p&gt;

&lt;p&gt;Next, we want to ask the user if he wants to expand a URL or shorten it.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;choice = int(input("Enter 1 for link shortener and 2 for link expander: "))
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Let's define a function, &lt;em&gt;short()&lt;/em&gt; to execute link shortener.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;def short():
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Next, we want the link to be shortened.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;link = input("Enter the link to be shortened: ")
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Pass this link to tinyurl's short function.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;shortened_link = s.tinyurl.short(link)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Let's give our users the short link.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;print(" The Shortened Link is: " + shortened_link)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Similarly, let's define a function for link expander. The only difference being, instead of using short(), use the expand() function.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;def expand():
       link = input("Enter the link to be expanded: ")
       expanded_link = s.tinyurl.expand(link)
       print("The Expanded link is: " + expanded_link)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If the user chose 1, we call the &lt;em&gt;short()&lt;/em&gt; function, the &lt;em&gt;expand()&lt;/em&gt; function if 2 and an error message for any other input.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;if choice == 1:
    short()
elif choice == 2:
    expand()
else:
    print("Wrong Entry. Please try again.")
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The Final Source Code is given below:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1612000123783%2FI4whpt5DZ.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1612000123783%2FI4whpt5DZ.png" alt="The Final Source Code for URL Shortener and Expander"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Code in Action 💪🏻:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1612000134692%2FAgIc5Hwla.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1612000134692%2FAgIc5Hwla.png" alt="URL Shortener using python"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1612000159805%2FM9rmG6vbf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1612000159805%2FM9rmG6vbf.png" alt="URL Expander using python"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We did it 🥳 We have made our own URL Shortener &amp;amp; Expander using Python! How amazing is that? As a gift for staying till now, you get access to my &lt;a href="https://github.com/SaiAshish-Konchada/Python-Projects-for-Beginners" rel="noopener noreferrer"&gt;Python For Beginners Series Repository&lt;/a&gt;  😍 This repository contains all the source code you'd need to get started as a Python Developer 🐍.&lt;/p&gt;

&lt;p&gt;You can also download the source code to this project &lt;a href="https://github.com/SaiAshish-Konchada/Python-Projects-for-Beginners/tree/main/URL%20Shortener%20%26%20Expander" rel="noopener noreferrer"&gt;here&lt;/a&gt;. Do hit the twinkle star, if this article provided value to you 🔥&lt;/p&gt;

&lt;p&gt;And while you're at it, consider giving this blog the maximum love you can and I promise to give you such value bombs every week 💣 Until then, take care 🙋🏻‍♂️&lt;/p&gt;

&lt;h2&gt;
  
  
  Bonus Insights by  &lt;a href="https://theinsightfulcoder.com/" rel="noopener noreferrer"&gt;The Insightful Coder&lt;/a&gt; :
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Interested in Building Your Own Artificial Intelligence Projects using Python?: Check out the &lt;a href="https://hashnode.com/series/python-ai-series-ckkft33ux016dwjs11xlqbz4v" rel="noopener noreferrer"&gt;Python AI Series&lt;/a&gt;🧠&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Wanna Discover Some Valuable Tech-Hacks 🛠?: Check out the &lt;a href="https://hashnode.com/series/tech-hacks-for-everybody-ckk3juqc10ihoqps16q0geabj" rel="noopener noreferrer"&gt;Tech-Hacks for Everybody Series&lt;/a&gt;😎&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;I'm also dropping daily value bombs and development insights on my  &lt;a href="https://www.instagram.com/theinsightfulcoder/" rel="noopener noreferrer"&gt;Instagram&lt;/a&gt; Page. Make sure to follow me up 💯&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Find and Download All My Project Source Codes at My &lt;a href="https://github.com/SaiAshish-Konchada" rel="noopener noreferrer"&gt;Github Repository&lt;/a&gt;  🎁&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>beginners</category>
      <category>computerscience</category>
      <category>python</category>
      <category>programming</category>
    </item>
    <item>
      <title>How to Build a Guessing Number Game Using Python</title>
      <dc:creator>Sai Ashish</dc:creator>
      <pubDate>Fri, 12 Mar 2021 11:05:54 +0000</pubDate>
      <link>https://dev.to/theinsightfulcoder/how-to-build-a-guessing-number-game-using-python-5977</link>
      <guid>https://dev.to/theinsightfulcoder/how-to-build-a-guessing-number-game-using-python-5977</guid>
      <description>&lt;p&gt;Welcome to &lt;a href="https://hashnode.com/series/python-projects-for-beginners-ckk31d9370h0vrus1blfl0a4y" rel="noopener noreferrer"&gt;Python Projects for Beginners Series&lt;/a&gt;🙋🏻‍♂️&lt;/p&gt;

&lt;p&gt;I'm &lt;a href="https://www.linkedin.com/in/sai-ashish/" rel="noopener noreferrer"&gt;Sai Ashish&lt;/a&gt; and today, we are going to build a simple Guessing Number Game using Python. You will be given 3 chances. All you have to do is guess a number between 1 to 10 (included) and if you guess the number correctly, you win 🏆&lt;/p&gt;

&lt;p&gt;Simple enough? Let's get started?🚀&lt;/p&gt;

&lt;h2&gt;
  
  
  Through this project, you're going to learn about:
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;1. The Random Module
2. Basic concepts of Python: type casting, conditional statements,
   iterative statements and string interpolation
3. Implementation of the guessing the number game with detailed explanation
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You can access the basic Python concepts required for this build from  &lt;a href="https://github.com/SaiAshish-Konchada/Python-Projects-for-Beginners/tree/main/Guess%20the%20number%20game" rel="noopener noreferrer"&gt;here&lt;/a&gt;💣 &lt;/p&gt;

&lt;h2&gt;
  
  
  Step 1: Modules Required:
&lt;/h2&gt;

&lt;p&gt;To help us build this game, we are going to use an amazing module of Python called &lt;strong&gt;Random.&lt;/strong&gt; The random module generates random numbers for us. This gets in real handy as we do not want our computer to be biased.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 2: Time to Code!
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1611771833314%2FUugrd3XOg.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1611771833314%2FUugrd3XOg.jpeg" alt="The Insightful Coder: Time to Code"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The first step is to import the random module:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import random
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Now, we want the computer to choose a random number between 1 and 10. To set these limits, we make use of the randint() method of python.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Syntax of randint() is given as:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;&lt;code&gt;randint(lower limit , upper limit)&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;For Our Case:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;number = random.randint(1,10)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Let's give the player 3 chances to guess the lucky number. To do that, we would require a loop that would repeat our game 3 times.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;for i in range(0,3):
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Inside our loop, we would like to ask the player for a number using the input() function. As python accepts string by default, we would convert the string into a number using function int(). The conversion of one data type into another is known as type casting or type conversion.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;user = int(input("Guess the lucky number"))
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Next, we would compare if the number guessed by the user equals the number generated by the computer. To compare, we use the 'if' statement and check for equality using the == operator.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;if user == number:
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If the number guessed is correct, we display "Hurray!!" using the print statement.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;print("Hurray!!")
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;We would also like to display the lucky number. We would implement this concept using a mechanism called f-string or literal string interpolation. &lt;/p&gt;

&lt;p&gt;Interpolation or interpolate means insert (something of a different nature) into something else. Here, we insert the value of the variables inside the statement of the string we are going to display.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;#syntax for f-string or string interpolation
name = 'Ashish'
age = 20
print(f"Hello, My name is {name} and I'm {age} years old."

#output is generated as the value of variable replaced with contents of {}
Hello, My name is Ashish and I'm 20 years old.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;In our game, we use interpolation as:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;print(f"You guessed the number right, it's {number}")
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Now, if the player has 3 unsuccessful attempts, the game gets over and the number is displayed on the screen as:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;if user != number:
    print(f"Your guess is incorrect, the number is {number}"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The Final Source Code Is Displayed Below:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1611258527222%2F-BwCgOnvM.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1611258527222%2F-BwCgOnvM.png" alt="Final Source Code for Guessing Game Using Python"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The Output if You're Lucky Indeed😍&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1611258932421%2Fov1uahMvJ.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1611258932421%2Fov1uahMvJ.png" alt="Output Scenario 2 for Guessing Game Using Python"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Well, Better Luck Next Time😢&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1611258853305%2FdcDxucNsk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1611258853305%2FdcDxucNsk.png" alt="Output Scenario 2 for Guessing Game Using Python"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;There you go! You have now built your very own guessing game with just 10 lines of code👩🏻‍💻 As a gift for staying till now, you get access to my &lt;a href="https://github.com/SaiAshish-Konchada/Python-Projects-for-Beginners" rel="noopener noreferrer"&gt;Python For Beginners Series Repository&lt;/a&gt;🎁 This repository contains all the source code you'd need to get started as a Python Developer 🐍&lt;/p&gt;

&lt;p&gt;You can also download the source code to this project &lt;a href="https://github.com/SaiAshish-Konchada/Python-Projects-for-Beginners/tree/main/Guess%20the%20number%20game" rel="noopener noreferrer"&gt;here&lt;/a&gt;. Do hit the twinkle star, if this article provided value to you 🔥&lt;/p&gt;

&lt;p&gt;While the game looks simple and boring, it's actually very addictive😅 &lt;br&gt;
Want to take it even further? As a challenge, try building a GUI for your game🚀&lt;/p&gt;

&lt;p&gt;And while you're at it, consider giving this blog the maximum love you can and I promise to give you such value bombs every week 💣 Until then, take care 🙋🏻‍♂️&lt;/p&gt;

&lt;h2&gt;
  
  
  Bonus Insights by  &lt;a href="https://theinsightfulcoder.com/" rel="noopener noreferrer"&gt;The Insightful Coder&lt;/a&gt; :
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Interested in Building Your Own Artificial Intelligence Projects using Python?: Check out the &lt;a href="https://hashnode.com/series/python-ai-series-ckkft33ux016dwjs11xlqbz4v" rel="noopener noreferrer"&gt;Python AI Series&lt;/a&gt;🧠&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Wanna Discover Some Valuable Tech-Hacks 🛠?: Check out the &lt;a href="https://hashnode.com/series/tech-hacks-for-everybody-ckk3juqc10ihoqps16q0geabj" rel="noopener noreferrer"&gt;Tech-Hacks for Everybody Series&lt;/a&gt;😎&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;I'm also dropping daily value bombs and development insights on my  &lt;a href="https://www.instagram.com/theinsightfulcoder/" rel="noopener noreferrer"&gt;Instagram&lt;/a&gt; Page. Make sure to follow me up 💯&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Find and Download All My Project Source Codes at My &lt;a href="https://github.com/SaiAshish-Konchada" rel="noopener noreferrer"&gt;Github Repository&lt;/a&gt;  🎁#for_our_case&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>beginners</category>
      <category>programming</category>
      <category>computerscience</category>
      <category>python</category>
    </item>
    <item>
      <title>5 Python Projects That Can Be Built Under 5 Minutes</title>
      <dc:creator>Sai Ashish</dc:creator>
      <pubDate>Tue, 09 Mar 2021 16:59:33 +0000</pubDate>
      <link>https://dev.to/theinsightfulcoder/5-python-projects-that-can-be-built-under-5-minutes-1cdf</link>
      <guid>https://dev.to/theinsightfulcoder/5-python-projects-that-can-be-built-under-5-minutes-1cdf</guid>
      <description>&lt;p&gt;Welcome to the  &lt;a href="https://hashnode.com/series/python-projects-for-beginners-ckk31d9370h0vrus1blfl0a4y" rel="noopener noreferrer"&gt;Python Projects for Beginners Series&lt;/a&gt; 🙋🏻‍♂️&lt;/p&gt;

&lt;p&gt;I'm  &lt;a href="https://www.linkedin.com/in/sai-ashish/" rel="noopener noreferrer"&gt;Sai Ashish&lt;/a&gt;  and today, we are going to code 5 Python Projects that can be built in under 5 minutes 🤯&lt;/p&gt;

&lt;p&gt;I hope you're psyched because this is going to be amazing 💯&lt;/p&gt;

&lt;h2&gt;
  
  
  What Are We Going to Build?
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;1. Notification Generator 🔢 
2. Check Your Battery Percentage 🔋
3. Take a Screenshot 🖼
4. Figlet Generator 🔠
5. ConvertText to Speech 🗣
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  What Are We Going to Learn Today?
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;1. How to effectively use modules in our python programs
2. Basics of Python: Functions
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Project 1: Notification Generator 🔢
&lt;/h2&gt;

&lt;p&gt;As the name suggests, a notification generator generates a notification(a message) about a particular task, reminder or anything you require. In today's build, we would be generating a pop-up notification on a Windows device.&lt;/p&gt;

&lt;p&gt;Apart from the obvious, you can integrate this snippet of code into any of your applications. For example, in  &lt;a href="https://theinsightfulcoder.com/how-to-build-an-alarm-clock-using-python" rel="noopener noreferrer"&gt;How to Build an Alarm Clock using Python&lt;/a&gt;, you can also generate a notification along with your favourite song. Or suppose you wanted to get an alert whenever your battery percentage is below 35 or get reminders, this is the tool for you.&lt;/p&gt;

&lt;h3&gt;
  
  
  Let's Have a Look at Our Build:
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1615287211039%2F1noLX5aTw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1615287211039%2F1noLX5aTw.png" alt="Notification Generator Using Python"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Module Used:
&lt;/h3&gt;

&lt;p&gt;For this build, we require the win10toast module. win10toast is an easy-to-use Python library for displaying Windows 10 Toast(Pop-up) Notifications. The official document of the module can be accessed from &lt;a href="https://pypi.org/project/win10toast/" rel="noopener noreferrer"&gt;here&lt;/a&gt;. &lt;/p&gt;

&lt;p&gt;To install the win10toast module, go to the terminal and run,&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;pip install win10toast
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;That's it. You're all ready for the build now. &lt;/p&gt;

&lt;h3&gt;
  
  
  Time to Code!
&lt;/h3&gt;

&lt;p&gt;The first step is to import the win10toast module into our programming environment. For this, we use the import statement as,&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;from win10toast import ToastNotifier
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Next, we define a function named windows_popup that takes three parameters as input — title, content and duration.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;def windows_popup(title,content,duration=10):
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Functions help break our program into smaller and modular chunks. Moreover,  it avoids repetition and makes the code reusable.&lt;/p&gt;

&lt;p&gt;In our function, we code two statements,&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;toast=ToastNotifier()
toast.show_toast(title,content,duration=duration)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;We create an instance of the ToastNotifier class and store it inside toast variable. Imagine the instance as a remote control to your program. You can now use any buttons on the remote control to perform the task needed.&lt;/p&gt;

&lt;p&gt;We call the show_toast function and pass the input parameters as seen. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Parameters:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;title:&lt;/strong&gt; the title of the notification. it appears in bold. Example: Reminder &lt;br&gt;&lt;br&gt;
&lt;strong&gt;content:&lt;/strong&gt; the content of the notification. Example: Close down your desktop and go for a walk!&lt;br&gt;&lt;br&gt;
&lt;strong&gt;duration:&lt;/strong&gt; the duration in seconds you want the notification to be shown on the screen&lt;br&gt;&lt;/p&gt;

&lt;p&gt;Finally, we call the function as:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;windows_popup("Reminder", "Go and get a life!")
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Final Source Code for Notification Generator is seen below:
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1615290608859%2FM139Ql1_F.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1615290608859%2FM139Ql1_F.png" alt="Final Source Code for Notification Generator Using Python"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You can directly download the source code for Notification Generator from my &lt;a href="https://github.com/SaiAshish-Konchada/Python-Projects-for-Beginners/blob/main/5%20Python%20Projects%20in%205%20mins/Windows%20Notification.py" rel="noopener noreferrer"&gt;Github Respository&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Project 2: Check Your Battery Percentage 🔋
&lt;/h2&gt;

&lt;p&gt;In this build, we generate the battery percentage of our device. &lt;/p&gt;

&lt;h3&gt;
  
  
  Module Used:
&lt;/h3&gt;

&lt;p&gt;For this build, we use the psutil module. psutil is a cross-platform library for process and system monitoring in Python. The official documentation of the psutil module can be found  &lt;a href="https://pypi.org/project/psutil/" rel="noopener noreferrer"&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;To install psutil into our system, type in the terminal the following:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;pip install psutil
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Time to Code!
&lt;/h3&gt;

&lt;p&gt;As always, import the psutil module into our environment.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import psutil
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Gain the remote control by creating an instance of the sensors_battery() class in the psutil module.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;battery = psutil.sensors_battery()
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Gain the battery percentage information into variable percent as follows:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;percent = str(battery.percent)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;To display the battery percent on the screen, type:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;print("Battery Percent= " + percent + "%")
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Final Source Code for Battery Percentage Checker:
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1615280988308%2FqfcrYJIC0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1615280988308%2FqfcrYJIC0.png" alt="Final Source Code for Battery Percentage Checker Using Python"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You can directly download the Battery Percentage Checker code from my  &lt;a href="https://github.com/SaiAshish-Konchada/Python-Projects-for-Beginners/blob/main/5%20Python%20Projects%20in%205%20mins/Battery%20Percentage.py" rel="noopener noreferrer"&gt;Github Repository&lt;/a&gt; too. &lt;/p&gt;

&lt;p&gt;To &lt;strong&gt;test&lt;/strong&gt; your coding skills, &lt;strong&gt;try generating a notification when the battery percentage falls below 35%&lt;/strong&gt;. Comment your code in the comment box below!  &lt;/p&gt;

&lt;h2&gt;
  
  
  Project 3: Take a Screenshot 🖼
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Modules Required:
&lt;/h3&gt;

&lt;p&gt;For this build we require the Pyautogui and the time module.&lt;/p&gt;

&lt;p&gt;PyAutoGUI is a python module that lets you control your mouse and keyboard using a program. PyAutoGUI also lets you automate your everyday tasks and can play games, login into emails, and more. You can access the official documentation of Pyautogui module from  &lt;a href="https://pyautogui.readthedocs.io/en/latest/" rel="noopener noreferrer"&gt;here.&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;To install PyAutoGUI in your system, open your terminal and run:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;pip install pyautogui
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The time module provides various time-related functions. We use it to retrieve the system time and display it on the screen. You can access the official documentation from &lt;a href="https://docs.python.org/3/library/time.html" rel="noopener noreferrer"&gt;here&lt;/a&gt; &lt;/p&gt;

&lt;h3&gt;
  
  
  Time to Code!
&lt;/h3&gt;

&lt;p&gt;Importing the required modules into our python environment:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import pyautogui
import time
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;We use the time.sleep method to switch the application from our python environment to the screen we want to take a screenshot from.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;time.sleep(3)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;To take the screenshot, we use pyautogui's screenshot method and store it inside the img variable.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;img = pyautogui.screenshot()
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;To save the image, we use the save method as:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;img.save(r"image.png")
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; This command will save the image into the same directory as the location of the python file you're running from. &lt;/p&gt;

&lt;h3&gt;
  
  
  Final Source Code for Screenshot Taker is as follows:
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1615281083523%2F8Kcd6JxTy.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1615281083523%2F8Kcd6JxTy.png" alt="Screenshot Taker Using Python"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You can directly download the source code of the Screenshot Taker build from  &lt;a href="https://github.com/SaiAshish-Konchada/Python-Projects-for-Beginners/blob/main/5%20Python%20Projects%20in%205%20mins/Screenshot.py" rel="noopener noreferrer"&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Project 4: Figlet Generator 🔠
&lt;/h2&gt;

&lt;p&gt;The Figlet Generator Converts ordinary text into a creative figure letter design(ASCII Art Font) as shown below:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1615295031876%2FIlBNhjXYS.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1615295031876%2FIlBNhjXYS.png" alt="Figlet output image"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Modules Required:
&lt;/h3&gt;

&lt;p&gt;For this build, we require the PyFiglet module. You can access the official documentation of Pyfiglet module from  &lt;a href="https://pypi.org/project/pyfiglet/0.7.4/" rel="noopener noreferrer"&gt;here&lt;/a&gt;.  The PyFiglet module can be installed by using:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;pip install pyfiglet
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Time to Code!
&lt;/h3&gt;

&lt;p&gt;The first step, is to import the Pyfiglet module&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import pyfiglet 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;To convert your word into ASCII Block Art format we use the figlet_format function. We store the result into a variable called result. For slant font, we set the fomn to slant. For normla block, just omit that paramter and enter only the text in double quotes.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;result = pyfiglet.figlet_format("Sai Ashish", font = "slant")
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Display your creativity using thr print statement:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;print(result) 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Final Source Code for Figlet Generator:
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1615295943054%2Fwfmo44t5k.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1615295943054%2Fwfmo44t5k.png" alt="Final Source Code for Figlet Generator:"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You can directly download the source code from my &lt;a href="https://github.com/SaiAshish-Konchada/Python-Projects-for-Beginners/blob/main/5%20Python%20Projects%20in%205%20mins/Figlet.py" rel="noopener noreferrer"&gt;Github Repository&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Project 5: Convert Text to Speech 🗣
&lt;/h2&gt;

&lt;p&gt;Last but not the last and my most favorite build among all, the Text to Speech Generator. &lt;/p&gt;

&lt;h3&gt;
  
  
  Module Required:
&lt;/h3&gt;

&lt;p&gt;For this amazing build, we require the pyttsx3 module. pyttsx3 is a text-to-speech conversion library in Python. Unlike alternative libraries, it works offline, and is compatible with both Python 2 and 3.You can check the official documentation from  &lt;a href="https://pypi.org/project/pyttsx3/" rel="noopener noreferrer"&gt;here&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;To install pyttsx3 into our system, go to the terminal and type:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;pip install pyttsx3
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Time to Code!
&lt;/h3&gt;

&lt;p&gt;We import the pyttsx3 module into our environment using:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import pyttsx3
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;To get the remote control, we initialise pyttsx3 as:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;engine = pyttsx3.init()
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;After gaining the instance, we use the say method to tell the engine to speak the sentence provided to it.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;engine.say("Hello Everyone")
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Finally, we use the runAndWait command to run the command.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;engine.runAndWait()
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Final Source Code for Converting Text to Speech:
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1615281332431%2FPmolIqy6E.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1615281332431%2FPmolIqy6E.png" alt=" Final Source Code for Converting Text to Speech:"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You can directly download the Text to Speech Build from my  &lt;a href="https://github.com/SaiAshish-Konchada/Python-Projects-for-Beginners/blob/main/5%20Python%20Projects%20in%205%20mins/Text%20to%20Speech.py" rel="noopener noreferrer"&gt;Github Repository&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;That's it, folks! We have successfully learnt 5 short yet interesting builds that can be implemented in under 5 minutes. These builds are a very good stepping step for any beginner in Python. If this blog provided value to you smash the like button and subscribe to the newsletter to never miss another blog update 💯&lt;/p&gt;

&lt;h2&gt;
  
  
  Bonus Insights by  &lt;a href="https://theinsightfulcoder.com/" rel="noopener noreferrer"&gt;The Insightful Coder&lt;/a&gt; :
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Interested in Building Your Own Artificial Intelligence Projects using Python?: Check out the &lt;a href="https://hashnode.com/series/python-ai-series-ckkft33ux016dwjs11xlqbz4v" rel="noopener noreferrer"&gt;Python AI Series&lt;/a&gt;🧠&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Wanna Discover Some Valuable Tech-Hacks 🛠?: Check out the &lt;a href="https://hashnode.com/series/tech-hacks-for-everybody-ckk3juqc10ihoqps16q0geabj" rel="noopener noreferrer"&gt;Tech-Hacks for Everybody Series&lt;/a&gt;😎&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;I'm also dropping daily value bombs and development insights on my  &lt;a href="https://www.instagram.com/theinsightfulcoder/" rel="noopener noreferrer"&gt;Instagram&lt;/a&gt; Page. Make sure to follow me up 💯&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Find and Download All My Project Source Codes at My &lt;a href="https://github.com/SaiAshish-Konchada" rel="noopener noreferrer"&gt;Github Repository&lt;/a&gt;  🎁&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>beginners</category>
      <category>programming</category>
      <category>computerscience</category>
      <category>python</category>
    </item>
  </channel>
</rss>
