<?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: Mohamed Sellami</title>
    <description>The latest articles on DEV Community by Mohamed Sellami (@mohamedsellami).</description>
    <link>https://dev.to/mohamedsellami</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%2F455418%2F4d2686df-6a47-4807-8e2c-296815384818.jpg</url>
      <title>DEV Community: Mohamed Sellami</title>
      <link>https://dev.to/mohamedsellami</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/mohamedsellami"/>
    <language>en</language>
    <item>
      <title>Why we learn algorithms!?</title>
      <dc:creator>Mohamed Sellami</dc:creator>
      <pubDate>Sat, 31 Jul 2021 14:33:10 +0000</pubDate>
      <link>https://dev.to/mohamedsellami/why-we-learn-algorithms-439k</link>
      <guid>https://dev.to/mohamedsellami/why-we-learn-algorithms-439k</guid>
      <description>&lt;p&gt;&lt;strong&gt;You may have wondered before why do I need to learn algorithms? You can solve problems without learning any algorithms, so why do you need to learn them!...Let's find out what algorithms are and why they are important!&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;First, let's talk about the meaning of algorithms. Algorithm is a word that refers to a well-defined set of instructions that can be followed to perform a particular task. Algorithm can be found in many fields, we can think of a recipe for preparing a particular food as an algorithm, it is a set of instructions that can be followed to prepare a food.&lt;/p&gt;

&lt;p&gt;But the algorithms designed for a computer to execute them are different from the algorithms designed for humans, Humans can read between the lines or understand something a little mysterious. But computers can't do that, so algorithms designed for computers must be correct, precise, and unambiguous. A small mistake in the algorithm or ambiguity in a particular instruction can lead to unexpected results.&lt;/p&gt;

&lt;p&gt;Algorithm consists of 3 basic structures:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;&lt;em&gt;Sequence:&lt;/em&gt;&lt;/strong&gt; An algorithm contains a sequential set of instructions.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;em&gt;Conditions:&lt;/em&gt;&lt;/strong&gt; Sometimes the instructions are not enough on their own so that we need a condition. If the condition is true, the computer executes some instructions, and if it is not, the computer executes other instructions. This is known as &lt;em&gt;decision making&lt;/em&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;em&gt;Repetition:&lt;/em&gt;&lt;/strong&gt; Sometimes we need to repeat some instructions several times until a certain condition is met.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For example, this is a simple algorithm to sum all numbers from 0 to n (n is a positive integer):&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;set result to 0&lt;/li&gt;
&lt;li&gt;set count to 0&lt;/li&gt;
&lt;li&gt;if count is less than n 

&lt;ul&gt;
&lt;li&gt;add one to count&lt;/li&gt;
&lt;li&gt;add count to result&lt;/li&gt;
&lt;li&gt;repeat step 3&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;print result
&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%2Fozdrjk70z3pnf98rkgee.png" alt="algorithm visualization"&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  Now that we know what an algorithm means, let's answer our question why learn it!?
&lt;/h3&gt;

&lt;p&gt;Algorithm is a way of thinking, it's teach how to solve problems and how to think like a computer. This is what we need to learn in programming, we need to learn how to think and how to solve problems and not just how to write code how to use languages and other technologies, in the end, languages ​​and technologies are just tools for implementing ideas and solutions.&lt;/p&gt;

&lt;p&gt;To understand better why algorithms are important, let's think of algorithms like game play strategies. &lt;br&gt;
Liam and Olivia compete in chess, but they both don't know how to play chess, so they are taught the rules of the game and how to move the pieces. But Olivia has studied some strategies for playing and Liam just learned the rules and how to move the pieces.&lt;br&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%2F1q6j7k7pox5850ajc5ia.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%2F1q6j7k7pox5850ajc5ia.png" alt="Liam and Olivia and chess"&gt;&lt;/a&gt;&lt;br&gt;
Now who do you think has the most chance of winning?&lt;/p&gt;

&lt;p&gt;Well, Olivia would be much more likely to win than Liam. Because Olivia has learned how to think, not just how to move pieces.&lt;/p&gt;

&lt;p&gt;It's almost the same in programming, developers who have learned algorithms will solve problems faster than developers who have only learned to use technologies. Maybe if you are dealing with small programs and small data you will not feel the importance of algorithms, but if you start dealing with complex and large programs and large data, algorithms will inevitably become very important.&lt;/p&gt;

</description>
      <category>algorithms</category>
      <category>programming</category>
      <category>codequality</category>
      <category>problemsolving</category>
    </item>
    <item>
      <title>Why does adding to the beginning of an array require more work than adding to the end of an array!?
</title>
      <dc:creator>Mohamed Sellami</dc:creator>
      <pubDate>Fri, 30 Jul 2021 13:00:48 +0000</pubDate>
      <link>https://dev.to/mohamedsellami/why-does-adding-to-the-beginning-of-an-array-need-more-work-than-adding-to-the-end-of-an-array-1fni</link>
      <guid>https://dev.to/mohamedsellami/why-does-adding-to-the-beginning-of-an-array-need-more-work-than-adding-to-the-end-of-an-array-1fni</guid>
      <description>&lt;p&gt;&lt;strong&gt;If you decide to add an item to the beginning of an array or in the middle, you will need to do more work than adding an item to the end of an array...let's discover why!&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;First, let's quickly find out what an &lt;em&gt;array&lt;/em&gt; is!&lt;br&gt;
An array is a sorted data structure, it consists of a collection of elements arranged in a certain way. Each element has a value and an index, if you want to access a specific element, you can do it using its index. In general, indexes start at 0, so if you have an array with four elements, indexes start from 0 to 3. Arrays are a good choice if you want your data to be ordered.&lt;/p&gt;

&lt;p&gt;Let's imagine the array is like a bunch of boxes with toys inside, and for some reason, the boxes have to be in order. Each box is labelled with its index and have a picture of the toy inside it. The toy company received four new toys, a robot, a rubber duck, a car and blocks and they were arranged and given indexes 0, 1, 2, 3(respectively).&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--rejmev80--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bb4ijd92n1ytrvcn0uwf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--rejmev80--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bb4ijd92n1ytrvcn0uwf.png" alt="boxes"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;After one day the company received a new box contain a ball, and the box needs to be placed at the end of the boxes(After the box that contains the blocks).&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--hnNV5iLh--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/gfgl872bj5t4sibpeef6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--hnNV5iLh--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/gfgl872bj5t4sibpeef6.png" alt="add new box at the end of the boxes"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The worker responsible for arranging the boxes only needs to put the box at the end and give it the index of the last box + 1, so the last box(that contain blocks) has an index of 3, the new box will have an index of 3 + 1 which is 4. This is a quick and easy process!&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--o0U5cBy4--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/o81soy1icrbr54yz7880.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--o0U5cBy4--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/o81soy1icrbr54yz7880.png" alt="add new box"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The next day the ball was sold, so the ball box has been removed from the end and this is also a quick and easy process.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--xDjwVmY2--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7vnjyef9gkhn9env82fg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--xDjwVmY2--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7vnjyef9gkhn9env82fg.png" alt="remove a box from the end"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;On the same day, the company received a box contain a teddy bear and for some reason, this must be placed at the beginning of the boxes(before the box that contains the robot).&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--xS6g3A6m--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8o96ggbhgycvpauktzk0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--xS6g3A6m--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8o96ggbhgycvpauktzk0.png" alt="add a new box at the beginning"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;So let's place the new box before the box that contains the robot.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--C_Jd5j6K--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ferwmestcd7i23319pwy.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--C_Jd5j6K--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ferwmestcd7i23319pwy.png" alt="adding new box"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;OOPS! All the indexes now are disordered, the robot box is no longer at index 0, the rubber duck box is no longer at index 1, the car box is no longer at index 2 and the blocks box is no longer at index 3. So the worker now is not happy and she needs to do some extra work!&lt;br&gt;
She needs to reindex each box, starting from the first box with an index of 0 until the last box with an index of 4. &lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--t1-ihWtO--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hdqmf12j9hfu6omvfaz3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--t1-ihWtO--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hdqmf12j9hfu6omvfaz3.png" alt="reindex the boxes"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This problem will always occur if we try to add or remove a box from the beginning or from any other position except at the end. Imagine if the company sold the rubber duck box and the worker needs to remove that box this is what happens.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--gn0hywf9--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4fskupt8nrk71axyd3z0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--gn0hywf9--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4fskupt8nrk71axyd3z0.png" alt="remove the third box"&gt;&lt;/a&gt;&lt;br&gt;
Now the worker need to reindex the third and the fourth box.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--8fhl2Z-u--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/u5i3ypxg82pfzkxvbkds.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--8fhl2Z-u--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/u5i3ypxg82pfzkxvbkds.png" alt="reindex the third and the fourth box"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This problem can become very large as the array size increases for example if you are dealing with arrays that have a size of more than 1000 elements. Fortunately, you don't need to do all of this work if you are working with arrays in your program, some programming languages have built-in methods to do all this work for you, for example in JavaScript you can add an item to the beginning of an array using &lt;code&gt;unshift()&lt;/code&gt; and to add it at the end you can use &lt;code&gt;push()&lt;/code&gt;, and if you want to remove an item from the beginning you can use &lt;code&gt;shift()&lt;/code&gt; and from the end you can  use &lt;code&gt;pop()&lt;/code&gt;, or if you want to add or remove item from any other position you can use &lt;code&gt;splice()&lt;/code&gt;.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;let array = ["robot", "ruber duck", "car", "blocks"];

//add "teddy bear" at the beginning
array.unshift("teddy bear");
console.log(array);  //["teddy bear", "robot", "ruber duck", "car", "blocks"]

//remove "teddy bear"
array.shift();
console.log(array); //["robot", "ruber duck", "car", "blocks"]

//add "ball" at the end
array.push("ball");
console.log(array); //["robot", "ruber duck", "car", "blocks", "ball"]

//remove "ball"
array.pop();
console.log(array); //["robot", "ruber duck", "car", "blocks"]

//add "teddy bear" in the middle
array.splice(2, 0, 'teddy bear');
console.log(array); //["robot", "ruber duck", "teddy bear", "car", "blocks"]

//remove "teddy bear"
array.splice(2, 1);
console.log(array); //["robot", "ruber duck", "car", "blocks"]

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  Time complexity(Big O notation)
&lt;/h4&gt;

&lt;p&gt;If you are familiar with big O notation, the big O notation of adding or removing elements from the beginning or any position of an array except the end is O(n) - linear time-, so &lt;code&gt;shift()&lt;/code&gt; &lt;code&gt;unshift()&lt;/code&gt; and &lt;code&gt;splice()&lt;/code&gt; have time complexity of O(n), n represents the size of the array, as n grow the running time increases, so this process gets slower as the array gets bigger, for example it is so much slower if we want to add an element to the beginning of an array of size one million.&lt;br&gt;
On the other hand, adding or removing item from the end is so much faster and the big O notation of this process is O(1) -constant time-, so &lt;code&gt;push()&lt;/code&gt; and &lt;code&gt;pop()&lt;/code&gt; have time complexity of O(1), as n grow the running time will remain the same, adding an element to the end of an array of size 4 will be as fast as adding an element to the end of an array of size million.&lt;/p&gt;

</description>
      <category>datastructures</category>
      <category>array</category>
      <category>programming</category>
      <category>codenewbie</category>
    </item>
    <item>
      <title>take a break!</title>
      <dc:creator>Mohamed Sellami</dc:creator>
      <pubDate>Fri, 28 Aug 2020 14:44:45 +0000</pubDate>
      <link>https://dev.to/mohamedsellami/take-break-2ppa</link>
      <guid>https://dev.to/mohamedsellami/take-break-2ppa</guid>
      <description>&lt;p&gt;We often hear advice such as work hard, sleep a little and advice similar to this, but little talk about breaks. We become like machines, and we only run for work and if we take a break we feel guilty. So let's talk a little bit about your break!&lt;/p&gt;

&lt;p&gt;I decided to write this article because last week it was a little difficult. Last week I felt very frustrated, I lost the desire to do anything, I was feeling a lot of pressure in my brain, I was about to take over and quit learning programming that I had started 5 months ago, learning every day without stopping, I deprived myself of almost everything except for learning programming, I did not watch any movies, I did not go out for a walk, I did not meet my friends, I reduced my sleep hours significantly, I even shut down social networking sites and forbade myself from taking a break because I thought it was just a waste of time. The result was that during the past week I was feeling close to depression, so I finally decided to take a break, and this was the best decision. After the break, I went back to learning programming with more focus and more energy.&lt;/p&gt;

&lt;h3&gt;
  
  
  why breaks is so important?
&lt;/h3&gt;

&lt;p&gt;break is not just entertainment, it has many more benefits than you can imagine. Here are some benefits of taking a break:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Breaks help you to process and retain information&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;You’ll get a better sense of the bigger picture&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;You’ll be more creative&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Breaks can help you cultivate healthier habits&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Taking regular breaks helps you be more productive&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;you can read more details about this benefits on this article : &lt;a href="https://www.ciphr.com/advice/taking-breaks/"&gt;https://www.ciphr.com/advice/taking-breaks/&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Plan your breaks time as well as you plan your work time:
&lt;/h3&gt;

&lt;p&gt;When you plan for tomorrow, set times for breaks and do what you love in your breaks, watching a movie, spending quality time with your family, going for a walk, and in your breaks time forget everything related to work Just have fun. we are humans and not machines and we deserve some breaks.&lt;/p&gt;

</description>
      <category>productivity</category>
      <category>healthydebate</category>
      <category>codenewbie</category>
    </item>
    <item>
      <title>fonts and emotions...why you should choose fonts carefully</title>
      <dc:creator>Mohamed Sellami</dc:creator>
      <pubDate>Sat, 22 Aug 2020 18:36:26 +0000</pubDate>
      <link>https://dev.to/mohamedsellami/fonts-and-emotions-why-you-should-choose-fonts-carefully-4khd</link>
      <guid>https://dev.to/mohamedsellami/fonts-and-emotions-why-you-should-choose-fonts-carefully-4khd</guid>
      <description>&lt;p&gt;when we start designing our websites we start search about the right fonts that make our website look beautiful and attractive. But fonts can do more than just make our website look beautiful, it makes the user feel certain emotions and this plays a big role in improving the user experience. So let's find out what are the best cases when we can use some types of fonts!&lt;/p&gt;

&lt;h3&gt;
  
  
  - serif fonts:
&lt;/h3&gt;

&lt;p&gt;small, decorative lines, tend to viewed as traditional and formal. It gives the feeling of something reliable ,practical ,sophisticated,stable, respectable,timeless,formal and traditional.you can use it on logo and titles.&lt;/p&gt;

&lt;h3&gt;
  
  
  - sans-serif:
&lt;/h3&gt;

&lt;p&gt;don't have decorative lines, often thought of as contemporary and modern. It gives the feeling of something clean, humanist, geometric,universal, simple, sensible, straightforward, easy to read and neutral . you can use it on body text and titles.&lt;/p&gt;

&lt;h3&gt;
  
  
  - script fonts:
&lt;/h3&gt;

&lt;p&gt;generally convey an elegant feel and are often used for wedding invitations or greeting cards. for the web it's usually reserved for headlines or small decorative text details. It give the feeling of something elegant, classic, feminine, personal, pretty and stylish.&lt;/p&gt;

&lt;h3&gt;
  
  
  - monospace fonts:
&lt;/h3&gt;

&lt;p&gt;each character uses the same amount of horizontal space, each character is the same width, are often used for displaying code.&lt;/p&gt;

&lt;h3&gt;
  
  
  - Times New Roman:
&lt;/h3&gt;

&lt;p&gt;is often used for legal documents.&lt;/p&gt;

&lt;h3&gt;
  
  
  - comic sans:
&lt;/h3&gt;

&lt;p&gt;you can use it for children article.&lt;/p&gt;

&lt;p&gt;this was the most common fonts types and when we can use them and what the emotions that relate to it.I hope this was helpful, thank you.&lt;/p&gt;

</description>
      <category>css</category>
      <category>codenewbie</category>
      <category>design</category>
    </item>
    <item>
      <title>after 5 months of learning programming... 3 mistakes i did you should avoid them</title>
      <dc:creator>Mohamed Sellami</dc:creator>
      <pubDate>Thu, 20 Aug 2020 10:51:41 +0000</pubDate>
      <link>https://dev.to/mohamedsellami/after-5-months-of-learning-programming-3-mistakes-i-did-you-should-avoid-them-3c9m</link>
      <guid>https://dev.to/mohamedsellami/after-5-months-of-learning-programming-3-mistakes-i-did-you-should-avoid-them-3c9m</guid>
      <description>&lt;p&gt;i started learning programming 5 months ago, i learned Html css and Javascript and now i can build website using this three. I am so happy of the result until now, but i made 3 big mistakes in my learning path that slowed my learning, so if you are newbie or you want to start learning here are 3 mistakes you should avoid.&lt;/p&gt;

&lt;h3&gt;
  
  
  - don't have a road map:
&lt;/h3&gt;

&lt;p&gt;when i started learning programming i didn't have any road map to follow, i just search for programming courses i choose one and i started learning html then css then python. when i finished my first course i didn't know what the next step so i started another course then another then another and i found my self in each time start from zero until i saw a video in youtube that talked about road map so i made mine, and the most important thing you need to do before make a road map is to chose if you will be a front-end or a back-end. by the way if you started as a front-end or back-end that doesn't mean you will be forever just front-end or back-end you can developed your self and become a full-stack developer, in your beginning you need just to focus in one thing.&lt;/p&gt;

&lt;h3&gt;
  
  
  - don't have an idea about how computers and websites work before learning programming:
&lt;/h3&gt;

&lt;p&gt;when i started i didn't have any idea about how computers and websites works and because of that i had some difficulties in understanding how programming languages work. so before you start learning programming take a time to understand the basic of how computers and websites working and also how the internet work these will help you a lot in understanding programming.&lt;/p&gt;

&lt;h3&gt;
  
  
  - moving fast:
&lt;/h3&gt;

&lt;p&gt;when i started my first course i just moved fast i learned html then css then python and after that i find my self didn't understand yet html and css, so i started again learned html then css then javascript and again i moved fast and i didn't understand very well the basics. so i decided to comeback again and learn deeply and slowly, i learned html but in this time i didn't just watch one course and move, in this time i watched many courses, i read book, documentation and i did some practice and when i found my self comfortable with html i moved to css then when i found my self Comfortable with css i moved to JavaScirpt and in this time i found my self had a good understanding of basics and i can start build websites.&lt;/p&gt;

&lt;p&gt;I hope this was helpful, and I wish you all the best in your learning path.&lt;/p&gt;

</description>
      <category>codenewbie</category>
      <category>100daysofcode</category>
      <category>beginners</category>
      <category>productivity</category>
    </item>
  </channel>
</rss>
