<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/"
    xmlns:atom="http://www.w3.org/2005/Atom" xmlns:media="http://search.yahoo.com/mrss/" version="2.0">
    <channel>
        
        <title>
            <![CDATA[ Computers - freeCodeCamp.org ]]>
        </title>
        <description>
            <![CDATA[ Browse thousands of programming tutorials written by experts. Learn Web Development, Data Science, DevOps, Security, and get developer career advice. ]]>
        </description>
        <link>https://www.freecodecamp.org/news/</link>
        <image>
            <url>https://cdn.freecodecamp.org/universal/favicons/favicon.png</url>
            <title>
                <![CDATA[ Computers - freeCodeCamp.org ]]>
            </title>
            <link>https://www.freecodecamp.org/news/</link>
        </image>
        <generator>Eleventy</generator>
        <lastBuildDate>Sun, 24 May 2026 16:30:51 +0000</lastBuildDate>
        <atom:link href="https://www.freecodecamp.org/news/tag/computers/rss.xml" rel="self" type="application/rss+xml" />
        <ttl>60</ttl>
        
            <item>
                <title>
                    <![CDATA[ How Does a CPU Work Internally? From Transistors to Instruction Set Architecture ]]>
                </title>
                <description>
                    <![CDATA[ The CPU (Central Process Unit) is the brain of a computer, and the main connection between software and hardware. It makes it possible to operate software on hardware. However, how does it work in deep detail? And how can it connect programs to certa... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/how-does-cpu-work-internally/</link>
                <guid isPermaLink="false">66ba5326f4ac8da2b2c2e847</guid>
                
                    <category>
                        <![CDATA[ Computers ]]>
                    </category>
                
                    <category>
                        <![CDATA[ cpu ]]>
                    </category>
                
                    <category>
                        <![CDATA[ hardware ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Tiago Capelo Monteiro ]]>
                </dc:creator>
                <pubDate>Wed, 10 Jul 2024 19:14:05 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/news/content/images/2024/07/1.jpg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>The CPU (Central Process Unit) is the brain of a computer, and the main connection between software and hardware. It makes it possible to operate software on hardware.</p>
<p>However, how does it work in deep detail? And how can it connect programs to certain computer hardware?</p>
<p>This article aims to make you understand this connection by deeply explaining how a CPU works. This topic is often familiar only to those with a background in computer hardware design from college.</p>
<p>Often, many computer science graduates never have a class in advanced digital logic. So even very experienced programmers may lack an understanding of how a CPU actually processes information.</p>
<p>Although we won't be designing <a target="_blank" href="https://www.homemade-circuits.com/how-to-make-logic-gates-using-transistors/">logic gates from transistors</a> or <a target="_blank" href="https://www.techspot.com/article/1830-how-cpus-are-designed-and-built-part-2/">CPU components from logic gates</a>, we will cover the key concepts needed to understand how a CPU processes data created by a program written in a programming language.</p>
<p>We will see:</p>
<ul>
<li><a class="post-section-overview" href="#heading-analogy-introduction-to-what-makes-cpus-work">Analogy: Introduction to What Makes CPUs Work</a></li>
<li><a class="post-section-overview" href="#heading-the-memory-hubs-understanding-ram-and-rom">The Memory Hubs: Understanding RAM and ROM</a></li>
<li><a class="post-section-overview" href="#heading-the-roadways-of-data-navigating-the-cpu-data-path">The Roadways of Data: Navigating the CPU Data Path</a></li>
<li><a class="post-section-overview" href="#heading-traffic-controllers-the-role-of-state-machines-in-cpus">Traffic Controllers: The Role of State Machines in CPUs</a></li>
<li><a class="post-section-overview" href="#heading-daily-routines-the-fetch-execute-cycle-explained">Daily Routines: The Fetch-Execute Cycle Explained</a></li>
<li><a class="post-section-overview" href="#heading-the-rulebook-decoding-the-instruction-set-architecture-isa">The Rulebook: Decoding the Instruction Set Architecture (ISA)</a></li>
<li><a class="post-section-overview" href="#heading-from-programming-languages-to-machine-code">From programming languages to machine code</a></li>
<li><a class="post-section-overview" href="#heading-city-challenges-addressing-cpu-problems">City Challenges: Addressing CPU Problems</a></li>
<li><a class="post-section-overview" href="#heading-conclusion-better-control-units-and-data-parts">Conclusion: Better control units and data parts</a></li>
</ul>
<p>I will use the Intel 8008 as a reference. </p>
<h2 id="analogy">Analogy: Introduction to What Makes CPUs Work</h2>

<p>To understand deeply how a computer works, let's imagine a city as our real-life scenario. We'll compare computer elements to parts of this city.</p>
<p>This way, you get a clearer view of different CPU parts and why they are important. Afterwards, we will look in depth to each of the components</p>
<h3 id="heading-the-memory-hubs-understanding-ram-and-rom">The Memory Hubs: Understanding RAM and ROM</h3>
<p>RAM (Random access memory) is like a city public library: it stores books and information for people to borrow and return as needed.</p>
<p>In a computer, the RAM loads data and instructions from the computer memory needed by the CPU to process data.</p>
<p>ROM (read Only Memory) is like a historical archive in the city: It only stores records that will never change and never be borrowed from the public.</p>
<h3 id="heading-the-roadways-of-data-navigating-the-cpu-data-path">The Roadways of Data: Navigating the CPU Data Path</h3>
<p>The CPU data path is the network of roads in the city. The buses and registers of the CPU data path act like the city's road network.</p>
<p>Just as roads help cars and people move, the CPU data path guarantee the data travels in a efficient manner in the CPU</p>
<h3 id="heading-traffic-controllers-the-role-of-state-machines-in-cpus">Traffic Controllers: The Role of State Machines in CPUs</h3>
<p>States machines act as the traffic control systems.</p>
<p>The traffic control system manages the flow of vehicles, and the states machines manage the flow of data according to the instructions provided to the CPU.</p>
<h3 id="heading-daily-routines-the-fetch-execute-cycle-explained">Daily Routines: The Fetch-Execute Cycle Explained</h3>
<p>The fetch-execute cycle is the daily commute for city residents.</p>
<p>Every day, people decide where they are going, travel there, perform their tasks and return home. This process is always repeated.</p>
<p>In the same way, the CPU fetches instructions, decodes them, and executes them in a repetitive cycle.</p>
<h3 id="heading-the-rulebook-decoding-the-instruction-set-architecture-isa">The Rulebook: Decoding the Instruction Set Architecture (ISA)</h3>
<p>The instruction set architecture is like the city transportation law.</p>
<p>The city transportation law shows what is legal to do in the city in relation to the transportation of people.</p>
<p>The instruction set architecture is the set of rules and instructions that the CPU can execute.</p>
<h2 id="memory">The Memory Hubs: Understanding RAM and ROM</h2>

<p><img src="https://www.freecodecamp.org/news/content/images/2024/07/3.jpg" alt="Image" width="600" height="400" loading="lazy">
<em>Photo by Valentine Tanasovich: https://www.pexels.com/photo/black-and-gray-computer-motherboard-2588757/</em></p>
<p><a target="_blank" href="https://www.freecodecamp.org/news/how-to-access-and-read-ram-contents/">RAM stands for Random Access Memory and can be used to read and write data.</a></p>
<p>The CPU gets data from the computer memory to the RAM first to avoid long waiting times.</p>
<p>Then, it uses the data from the RAM to complete the instructions.</p>
<p>They are used in computers and in many electronic devices due to the memory being volatile. It means that the data is only there while the computer is turned on, making it ideal for temporal storage while the device works.</p>
<p>ROM stands for Read Only Memory. In there, there only exist data added during computer manufacturing.</p>
<p>They are widely used in <a target="_blank" href="https://www.freecodecamp.org/news/what-is-firmware/">firmware</a> for devices, BIOS and small embedded systems.</p>
<p>This is because ROM is non-volatile memory. This means that it remains in memory when the device is powered off, making it very important for permanent data storage.</p>
<h2 id="roadways">The Roadways of Data: Navigating the CPU Data Path</h2>

<p><img src="https://www.freecodecamp.org/news/content/images/2024/07/4.png" alt="Image" width="600" height="400" loading="lazy">
<em>Photo by Rogeer Marques: https://www.pexels.com/photo/close-up-shot-of-a-chip-processor-11272008/</em></p>
<p>The CPU data path is a complex digital circuit with many components that work with one another, such as:</p>
<ul>
<li><strong>Arithmetic Logic Unit (ALU):</strong> Performs arithmetic and logical operations inside the CPU data part.</li>
<li><strong>Registers:</strong> Small, fast storage locations for temporary data retrieved from the RAM.</li>
<li><strong>Buses:</strong> Data, control and address buses are wires used inside the CPU data path to transfer information.</li>
</ul>
<p>While CPUs have changed a lot since the Intel 8008, these are some of the components that still serve as the foundation for all CPUs.</p>
<p>Thanks to them, it is possible to let data flow, but not control the actual flow. This is the job of the control unit in the CPU, created in the Intel 8008 as state machines.</p>
<h2 id="traffic">Traffic Controllers: The Role of State Machines in CPUs</h2>

<p><a target="_blank" href="https://www.freecodecamp.org/news/state-machines-basics-of-computer-science-d42855debc66/">A state machine is a system that transitions between different states in order to perform tasks.</a></p>
<p>They are composed of a number of states and transitions. They were used in the Intel 8008 to create the control unit due to its structure and effective way to manage the sequence of operations needed to process instructions</p>
<p>Each of the states can activate one or many CPU components to process a certain assembly instruction.</p>
<p>This way, certain CPU data path parts are activated for an instruction to be completed.</p>
<p>Additionally, thanks to these state machines, the CPU is complete and can perform all instructions a user wants in a continuous loop called the fetch-execute cycle.</p>
<h2 id="fetch">Daily Routines: The Fetch-Execute Cycle Explained</h2>

<p>The state machine in the CPU controls how the CPU data path works together to perform a given instruction.</p>
<p>Nowadays, every computer receives millions of instructions per second. This way, the state machines act as a loop to get the instructions and execute them.</p>
<p>This process is known as the fetch-execute cycle, where the CPU retrieves and executes instructions:</p>
<ul>
<li><strong>Fetch:</strong> The CPU fetches the instruction from memory.</li>
<li><strong>Decode:</strong> The fetched instruction is decoded to determine the required action.</li>
<li><strong>Execute:</strong> The decoded instruction is executed using the appropriate CPU components.</li>
<li><strong>Write-back:</strong> The result of the execution is written back to memory or a register.</li>
</ul>
<p>In the fetch stage, the control unit tells the RAM to give the next instruction to the CPU.</p>
<p>In the decode stage, the CPU interprets the instruction, and in the execution stage, it performs the operation. Afterwards, the write-back stage ensures the result is stored correctly.</p>
<p>This cycle continues while the PC is on. This way, in modern processors, processing billions of instructions per second.</p>
<h3 id="heading-but-what-about-data-from-the-keyboard-or-mouse">But What About Data from the Keyboard or Mouse?</h3>
<p>This data does not come from RAM but is handled through a mechanism called interrupts. While the CPU runs instructions, it can detect when data comes from peripherals.</p>
<p>If this happens, the CPU stops its current task and prioritizes the instructions from the peripherals. Afterwards, the CPU resumes its previous tasks.</p>
<p>There are many ways to manage interrupts, with some of the most popular being:</p>
<ol>
<li><strong>Polled Interrupts</strong>: The CPU periodically checks if an interrupt has occurred.</li>
<li><strong>Vectored Interrupts</strong>: The interrupting device directs the CPU to the appropriate interrupt service routine.</li>
<li><strong>Prioritized Interrupts</strong>: Interrupts are assigned different priority levels, ensuring critical tasks are handled first.</li>
</ol>
<p>This way, with these mechanisms, the CPU maintains its performance while interacting the peripherals.</p>
<h2 id="instruction">The Rulebook: Decoding the Instruction Set Architecture (ISA)</h2>

<p>With the control unit, the complete CPU and RAM, it is possible to perform many instructions.</p>
<p>But what instructions can be performed on a given CPU? And how many? This is what the Instruction Set Architecture (ISA) solves.</p>
<p>The ISA defines a set of instructions that a certain CPU can execute. It is what allows programmers to understand what a processor can and cannot do without having to understand all the digital logic hardware inside it.</p>
<p>This way, it acts as an interface between software and hardware.</p>
<p><strong>Key Aspects of ISA:</strong></p>
<ul>
<li><strong>Instruction Types:</strong> Includes arithmetic, logical, control, and data transfer instructions.</li>
<li><strong>Addressing Modes:</strong> Methods for specifying operands of instructions.</li>
<li><strong>Registers:</strong> The set of registers available for use by instructions.</li>
</ul>
<p><strong>Common ISAs:</strong></p>
<ul>
<li><strong>x86:</strong> Widely used in desktop and server processors.</li>
<li><strong>ARM:</strong> Dominant in mobile and embedded devices due to its power efficiency.</li>
<li><strong>RISC-V:</strong> An open standard ISA designed for a wide range of applications.</li>
</ul>
<p>Each CPU often has its own version of the instruction-set architecture. And the instruction set architecture is very often defined with the assembly programming languages.</p>
<p>This is why there are so <a target="_blank" href="https://www.freecodecamp.org/news/what-are-assembly-languages/">many versions</a> of the assembly programming language.</p>
<p>Since each CPU has its own hardware specifications, each will have similar components to other CPUs and, thus, similar assembly programming languages associated.</p>
<p>The choice of ISA impacts the CPU's design, performance, and compatibility with software.</p>
<p>For instance, the complexity of x86 allows for powerful desktop applications, while ARM's simplicity favors energy-efficient mobile devices.</p>
<h2 id="programming">From Programming Languages to Machine Code</h2>

<p><img src="https://www.freecodecamp.org/news/content/images/2024/07/3-1.jpg" alt="Image" width="600" height="400" loading="lazy">
<em>Photo by luis gomes: https://www.pexels.com/photo/close-up-photo-of-programming-of-codes-546819/</em></p>
<p>While each processor has its own assembly language, managing code in assembly and writing code in assembly to make big programs can be complex.</p>
<p>It is very complicated, and may lead to wasting time on correcting things and details instead of, in a faster and easier way, managing the development of a program and actually developing it.</p>
<p>To solve this problem, many programming languages were created from assembly. We write the code in the programming languages, and it is then converted to assembly.</p>
<p>This way, instead of spending time on details, it is possible to focus on more important things like system development and algorithm design.</p>
<p>This is the process by which most programming languages convert their code into assembly:</p>
<ol>
<li>Convert the code to assembly code through either a compiler or interpreter.</li>
<li>The assembly code is then converted to raw machine code and executed by the CPU.</li>
<li>A specific loop in the CPU's state machine is completed.</li>
<li>Afterward, the CPU fetches and executes the next instruction.</li>
</ol>
<p>Let's see two examples of programming languages doing this!</p>
<h3 id="heading-c-programming-language">C Programming Language</h3>
<p>The C programming language was created from assembly in the early 1970s. It was created to provide a higher-level language for efficient system-level programming that also allows hardware manipulation.</p>
<p>With a compiler, the C code is converted to assembly and then processed by the complete CPU.</p>
<p>Thanks to this conversion, by writing programs in the C programming language, we can address many problems in a more efficient manner, such as:</p>
<ul>
<li>Memory management errors</li>
<li>Buffer overflows</li>
<li>Manual optimization issues</li>
</ul>
<p>Nowadays, even for simpler tasks, the assembly code converted from C compiler is far more efficient and reliable than a human writing the assembly code.</p>
<p>If you want to learn more about the C compiler you can check out:</p>
<div class="embed-wrapper"><div class="embed-loading"><div class="loadingRow"></div><div class="loadingRow"></div></div><a class="embed-card" href="https://www.freecodecamp.org/news/what-is-a-compiler-in-c/">https://www.freecodecamp.org/news/what-is-a-compiler-in-c/</a></div>
<h3 id="heading-python-programming-language">Python Programming Language</h3>
<p>The Python programming language was created from C in the late 1980s.</p>
<p>Its goal was to provide a user-friendly, high-level programming language that emphasizes readability and simplicity, allowing for rapid application development.</p>
<p>In Python, an interpreter converts the Python code to bytecode line by line.</p>
<p>And this bytecode is converted to machine code in the CPU and processed in the fetch-execute cycle.</p>
<p>This way, it is possible for people to program in an easier way and focus on bigger programs, such as:</p>
<ul>
<li>Artificial intelligence models</li>
<li>Web apps</li>
<li>Data analysis</li>
<li>Scientific computing</li>
</ul>
<p>However, the challenge with the CPUs in all programming languages is that it processes data sequentially.</p>
<h2 id="problems">City Challenges: Addressing CPU Problems</h2>

<p><img src="https://www.freecodecamp.org/news/content/images/2024/07/4-1.jpg" alt="Image" width="600" height="400" loading="lazy">
<em>Photo by Peng LIU: https://www.pexels.com/photo/timelapse-photography-of-vehicle-on-concrete-road-near-in-high-rise-building-during-nighttime-169677/</em></p>
<p>The traditional one core CPU processes data sequentially, instruction after instruction. This becomes a limitation if we have many instructions to process.</p>
<p>This is what GPUs (Graphics processing units) came to fix.  Thanks to GPUs, we can process instructions in parallel, thereby reducing computing time significantly.</p>
<p>With these parallel processing capabilities, it is possible to achieve a much faster computation and improved efficiency in a wide range of applications.</p>
<h2 id="conclusion">Conclusion: Better Control Units and Data Parts</h2>

<p><img src="https://www.freecodecamp.org/news/content/images/2024/07/5.jpg" alt="Image" width="600" height="400" loading="lazy">
<em>Photo by Miguel Á. Padriñán: https://www.pexels.com/photo/green-circuit-board-343457/</em></p>
<p>In addition to modern CPUs being multicore, advancements in control units and data paths play a critical role in improving processor performance. </p>
<p>Control units are often designed using microprogramming or hardwired control units. </p>
<p>Microprogramming offers greater flexibility and easier updates to the control logic, while hardwired control units provide faster performance by directly implementing control signals.</p>
<p>Another significant advancement is the exploration of new materials for transistors in logic gates. </p>
<p>Instead of relying solely on silicon, researchers are investigating alternative materials to create faster and more efficient processors.</p>
<p>As technology continues to advance, understanding these fundamental concepts will remain essential for both enthusiasts and professionals in the field.</p>
<p>Keeping up with these developments ensures the continued innovation and improvement of CPU design and functionality.</p>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ How Do Numerical Conversions Work in Computer Systems? Explained With Examples ]]>
                </title>
                <description>
                    <![CDATA[ Computers perform complex calculations when carrying out their assigned tasks. At the very core, the calculations boil down to operations like comparisons, assignments, and addition. Have you ever wondered how they are performed under the hood and wh... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/how-do-numerical-conversions-work/</link>
                <guid isPermaLink="false">66578856935992fb202d9272</guid>
                
                    <category>
                        <![CDATA[ Computers ]]>
                    </category>
                
                    <category>
                        <![CDATA[ data ]]>
                    </category>
                
                    <category>
                        <![CDATA[ MathJax ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Zaira Hira ]]>
                </dc:creator>
                <pubDate>Wed, 29 May 2024 19:56:06 +0000</pubDate>
                <media:content url="https://cdn.hashnode.com/res/hashnode/image/upload/v1715271341530/60608a00-2e63-434e-91e8-c766b171f6f7.png" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>Computers perform complex calculations when carrying out their assigned tasks. At the very core, the calculations boil down to operations like comparisons, assignments, and addition.</p>
<p>Have you ever wondered how they are performed under the hood and why they are important? At a fundamental level, a computer works by performing various numerical conversions.</p>
<p>In this article, you'll learn the following concepts:</p>
<ul>
<li><p>The importance of numerical systems in computers.</p>
</li>
<li><p>Types of numerical systems.</p>
</li>
<li><p>Numerical conversion techniques.</p>
</li>
<li><p>Application of different numerical systems.</p>
</li>
<li><p>Mini exercises to keep you engaged along the way.</p>
</li>
</ul>
<h2 id="heading-types-of-numerical-systems">Types of Numerical Systems</h2>
<p>Numerical conversion is the process of converting numbers from one numeral system to another. In computer systems, the common numeral systems include decimal (base-10), binary (base-2), hexadecimal (base-16), and octal (base-8).</p>
<h3 id="heading-but-what-is-a-base">But What Is a Base?</h3>
<p>In mathematics and computer science, the term "base" refers to the number of unique digits or symbols used in a positional numeral system. Each digit's value is multiplied by the base raised to the power of its position in the number, starting from the rightmost digit, which represents the units place.</p>
<p>Here's an explanation of the commonly encountered numeral systems:</p>
<ol>
<li><p><strong>Base-2 (Binary)</strong>:</p>
<ul>
<li><p>Base-2, or binary, uses only two symbols: 0 and 1.</p>
</li>
<li><p>Each digit's value is a power of 2, with positions increasing from right to left.</p>
</li>
</ul>
</li>
<li><p><strong>Base-10 (Decimal)</strong>:</p>
<ul>
<li><p>Base-10, or decimal uses ten symbols from 0 to 9.</p>
</li>
<li><p>Each digit's value is a power of 10, with positions increasing from right to left.</p>
</li>
</ul>
</li>
<li><p><strong>Base-8 (Octal)</strong>:</p>
<ul>
<li><p>Base-8, or octal, uses eight symbols: 0 to 7.</p>
</li>
<li><p>Each digit's value is a power of 8, with positions increasing from right to left.</p>
</li>
</ul>
</li>
<li><p><strong>Base-16 (Hexadecimal)</strong>:</p>
<ul>
<li><p>Base-16, or hexadecimal, uses sixteen symbols: 0 to 9 and A to F (representing 10 to 15).</p>
</li>
<li><p>Each digit's value is a power of 16, with positions increasing from right to left.</p>
</li>
<li><p>Below is a table showing the mapping of hexadecimal numbers from 10 with alphabets.</p>
</li>
</ul>
</li>
</ol>
<div class="hn-table">
<table>
<thead>
<tr>
<td>Character</td><td>Hexadecimal</td></tr>
</thead>
<tbody>
<tr>
<td>A</td><td>10</td></tr>
<tr>
<td>B</td><td>11</td></tr>
<tr>
<td>C</td><td>12</td></tr>
<tr>
<td>D</td><td>13</td></tr>
<tr>
<td>E</td><td>14</td></tr>
<tr>
<td>F</td><td>15</td></tr>
</tbody>
</table>
</div><p>This notation is commonly used to simplify the representation of binary-coded values.</p>
<h2 id="heading-importance-of-understanding-numerical-systems-in-computers">Importance of Understanding Numerical Systems in Computers</h2>
<p>Learning numeral conversions in computer science is essential for several reasons:</p>
<ol>
<li><p><strong>Understanding Data Representation</strong>: Computers store and manipulate data using binary (base-2) representation. Knowing how to convert between numeral systems helps in understanding how data is stored and processed at the fundamental level.</p>
</li>
<li><p><strong>Addressing Memory</strong>: Memory addresses in computers are frequently represented in hexadecimal format. Knowing how to convert between decimal and hexadecimal is crucial for understanding memory management and for debugging.</p>
</li>
<li><p><strong>Networking and Communication</strong>: In networking, IP addresses and MAC addresses are often represented in hexadecimal format. Understanding hexadecimal conversion is thus comes in handy for networking professionals.</p>
</li>
<li><p><strong>Cryptography</strong>: In cryptography, hexadecimal numbers are frequently used to represent keys, cipher texts, and other cryptographic data. Understanding numeral conversions helps in understanding cryptographic operations.</p>
</li>
</ol>
<h2 id="heading-conversion-techniques">Conversion Techniques</h2>
<p>In this section, you'll learn techniques to convert one number system to another.</p>
<h3 id="heading-decimal-to-binary">Decimal to Binary</h3>
<p><strong>Step-by-Step Conversion Process:</strong></p>
<ol>
<li><p><strong>Divide the number by 2:</strong> The first step is to divide the number by 2 and record the remainder.</p>
</li>
<li><p><strong>Divide the quotient by 2 repetitively:</strong> Divide the quotient from step 1 and record the remainder. Continue to divide and record the remainder till 1 remains as the quotient.</p>
</li>
<li><p><strong>Find the solution in reverse order:</strong> Starting from the last quotient that would be <code>1</code>, go upwards to get the final answer.</p>
</li>
</ol>
<p><strong>Example Conversion:</strong></p>
<p>Let's say you want the binary equivalent of <code>17</code>, then the process would be like this:</p>
<div class="hn-table">
<table>
<thead>
<tr>
<td>Operation</td><td>Result</td><td>Remainder</td></tr>
</thead>
<tbody>
<tr>
<td>17/2</td><td>8</td><td>1 ⬆️</td></tr>
<tr>
<td>8/2</td><td>4</td><td>0 ⬆️</td></tr>
<tr>
<td>4/2</td><td>2</td><td>0 ⬆️</td></tr>
<tr>
<td>2/2</td><td>1 ➡️</td><td>0 ⬆️</td></tr>
</tbody>
</table>
</div><p>To find the final answer, follow the arrows. Start from the bottom where the result is <code>1</code> and go upwards. You'll get <code>10001</code>.</p>
<p>So,</p>
<p>$$17_{10} = 10001_{2}$$</p><p>Let's try a bigger number <code>55</code></p>
<div class="hn-table">
<table>
<thead>
<tr>
<td>Operation</td><td>Result</td><td>Remainder</td></tr>
</thead>
<tbody>
<tr>
<td>55/2</td><td>27</td><td>1 ⬆️</td></tr>
<tr>
<td>27/2</td><td>13</td><td>1 ⬆️</td></tr>
<tr>
<td>13/2</td><td>6</td><td>1 ⬆️</td></tr>
<tr>
<td>6/2</td><td>3</td><td>0 ⬆️</td></tr>
<tr>
<td>3/2</td><td>1 ➡️</td><td>1 ⬆️</td></tr>
</tbody>
</table>
</div><p>So,</p>
<p>$$55_{10} = 110111_{2}$$</p><h4 id="heading-now-your-turn">Now, your turn:</h4>
<p>What is <code>67</code> in binary?</p>
<details><summary>Show Answer</summary><div data-type="detailsContent"><code>67</code> in binary is <code>1000011</code>.</div></details>

<h3 id="heading-binary-to-decimal">Binary to Decimal</h3>
<p><strong>Step-by-Step Conversion Process:</strong></p>
<ol>
<li><p><strong>Write down the binary number</strong>: Separate each bit for clarity.</p>
</li>
<li><p><strong>Map each bit with its corresponding power of 2</strong>: Start from <code>2^0</code> on the right and increase the exponent by <code>1</code> as you move left.</p>
</li>
<li><p><strong>Multiply each bit by its corresponding power of 2</strong>: If the bit is 1, multiply it by the power of 2 for that position. If the bit is 0, the result is 0 for that position.</p>
</li>
<li><p><strong>Sum all the products</strong>: Add all the results from step 3 to get the decimal equivalent.</p>
</li>
</ol>
<p><strong>Example Conversion:</strong></p>
<p>For <code>101</code>, the conversion would be like this:</p>
<p>$$\begin{align} &amp;1\times2^2 + 0\times2^1 + 1\times2^0 \newline &amp;= 4 + 0 + 1 \newline &amp;= 5 \end{align}$$</p><p>So,</p>
<p>$$101_{2} = 5_{10}$$</p><p>Let's convert <code>1011001</code> to decimal:</p>
<p>$$\begin{align} &amp;1\times2^6+0\times2^5+1\times2^4+1\times2^3+0\times2^2+0\times2^1+1\times2^0\newline &amp;= 64+0+16+8+0+0+1 \newline &amp;= 89 \end{align}$$</p><p>So,</p>
<p>$$1011001_{2} = 89_{10}$$</p><h3 id="heading-binary-to-hexadecimal">Binary to Hexadecimal</h3>
<p><strong>Step-by-Step Conversion Process:</strong></p>
<ol>
<li><p><strong>Make pairs of 4:</strong> Segregate the given binary number into 4 bits each, starting from the rightmost bit.</p>
</li>
<li><p><strong>Pad in 0 to the left-most pair if the bits do not count to 4:</strong> If the leftmost part doesn't make 4 bits, add zeros to the left of it to complete the count.</p>
</li>
<li><p><strong>Find equivalent decimal number as explained previously:</strong> Use binary to decimal conversion.</p>
</li>
</ol>
<p><strong>Example Conversion:</strong></p>
<p>Let's convert <code>10010010</code> to hexadecimal.</p>
<ol>
<li><p>Split the bits into sections of 4 bits each, starting from the rightmost bit:</p>
<ul>
<li><p><code>10010010</code> = [<code>1001][0010]</code></p>
</li>
<li><p>Padding was not needed here as each section is 4 bits long.</p>
</li>
</ul>
</li>
<li><p>Convert binary to decimal:</p>
</li>
</ol>
<p>$$\begin{align} &amp;[1001][0010]\newline &amp;=[1\times2^3 + 0\times2^2 + 0\times2^1 + 1\times2^0] [0\times2^3 + 0\times2^2 + 1\times2^1 + 1\times2^0] \newline &amp;=[8+0+0+1][0+0+1+1] = [9][2] \end{align}$$</p><p>So,</p>
<p>$$10010010_{2} = 92_{16}$$</p><p>Let's run another example. But first,</p>
<p>Recall that, the numbers 10 - 15 are represented as follows in hexadecimal:</p>
<div class="hn-table">
<table>
<thead>
<tr>
<td>Character</td><td>Hexadecimal</td></tr>
</thead>
<tbody>
<tr>
<td>A</td><td>10</td></tr>
<tr>
<td>B</td><td>11</td></tr>
<tr>
<td>C</td><td>12</td></tr>
<tr>
<td>D</td><td>13</td></tr>
<tr>
<td>E</td><td>14</td></tr>
<tr>
<td>F</td><td>15</td></tr>
</tbody>
</table>
</div><p>Let's convert <code>11010011011</code> to hexadecimal.</p>
<ol>
<li><p>Divide the bits into groups of 4, starting from the right.</p>
<ul>
<li>[110][1001][1011]</li>
</ul>
</li>
<li><p>Add padding of <code>0</code> to the leftmost section.</p>
<ul>
<li>[0110][1001][1011]</li>
</ul>
</li>
<li><p>Convert the bits to decimal using the binary-to-decimal method.</p>
</li>
</ol>
<p>$$\begin{align} &amp;[0110][1001][1011]\newline &amp;=[0\times2^3+1\times2^2+1\times2^1+0\times2^0]\ [1\times2^3+0\times2^2+0\times2^1+1\times2^0]\ [1\times2^3+0\times2^2+1\times2^1+1\times2^0]\newline &amp;=[6][9][11]\newline &amp;=[6][9][B] \end{align}$$</p><ol start="4">
<li><p>As <code>11</code> maps to <code>B</code> in hexadecimal, replace <code>11</code> with <code>B</code> .</p>
<p> $$[6][9][11] =[6][9][B]$$</p>
</li>
</ol>
<p>So,</p>
<p>$$11010011011_{2} = 69B_{16}$$</p><h3 id="heading-hexadecimal-to-binary">Hexadecimal to Binary</h3>
<p><strong>Step-by-Step Conversion Process:</strong></p>
<p><strong>Example Conversion:</strong></p>
<ol>
<li><p><strong>Identify Each Hexadecimal Digit</strong>: Break down the hexadecimal number into individual digits.</p>
</li>
<li><p><strong>Convert Each Hexadecimal Digit to Binary</strong>: Each hexadecimal digit corresponds to a unique four-bit binary sequence.</p>
</li>
</ol>
<h3 id="heading-example-conversion"><strong>Example Conversion:</strong></h3>
<p>Let's convert the hexadecimal number <code>2F3</code> to binary.</p>
<ol>
<li><p><strong>Identify Each Hexadecimal Digit</strong>:</p>
<ul>
<li><p><code>2</code></p>
</li>
<li><p><code>F</code></p>
</li>
<li><p><code>3</code></p>
</li>
</ul>
</li>
<li><p><strong>Convert Each Hexadecimal Digit to Binary</strong>:</p>
<ul>
<li><p><code>2</code> in binary: <code>0010</code></p>
</li>
<li><p><code>F</code> is <code>15</code> in decimal and in binary: <code>1111</code></p>
</li>
<li><p><code>3</code> in binary: <code>0011</code></p>
</li>
</ul>
</li>
<li><p><strong>Combine the Binary Sequences</strong>:</p>
<ul>
<li><code>2F3</code> in binary: <code>0010 1111 0011</code></li>
</ul>
</li>
</ol>
<p>So, the hexadecimal number <code>2F3</code> converts to <code>001011110011</code> in binary.</p>
<h3 id="heading-octal-to-binary">Octal to Binary</h3>
<p><strong>Step-by-Step Conversion Process:</strong></p>
<p><strong>Example Conversion:</strong></p>
<p>To convert an octal number to binary, each octal digit (0-7) is converted to a three-bit binary number because the largest octal digit (7) can be represented using three bits (111).</p>
<h3 id="heading-step-by-step-conversion-process"><strong>Step-by-Step Conversion Process:</strong></h3>
<ol>
<li><p><strong>Identify Each Octal Digit</strong>: Break down the octal number into individual digits.</p>
</li>
<li><p><strong>Convert Each Octal Digit to Binary</strong>: Use the same decimal-to-binary conversion method.</p>
</li>
<li><p><strong>Combine the Binary Sequences</strong>: Each sequence should be 3 bits, pad zeros to the left if needed. Concatenate the three-bit binary sequences to form the final binary number.</p>
</li>
</ol>
<h3 id="heading-example-conversion-1"><strong>Example Conversion:</strong></h3>
<p>Let's convert the octal number <code>157</code> to binary.</p>
<ol>
<li><p><strong>Identify Each Octal Digit</strong>:</p>
<ul>
<li><p><code>1</code></p>
</li>
<li><p><code>5</code></p>
</li>
<li><p><code>7</code></p>
</li>
</ul>
</li>
<li><p><strong>Convert Each Octal Digit to Binary</strong>:</p>
<ul>
<li><p><code>1</code> in binary: <code>001</code></p>
</li>
<li><p><code>5</code> in binary: <code>101</code></p>
</li>
<li><p><code>7</code> in binary: <code>111</code></p>
</li>
</ul>
</li>
<li><p><strong>Combine the Binary Sequences</strong>:</p>
<ul>
<li><code>157</code> in binary: <code>001 101 111</code></li>
</ul>
</li>
</ol>
<p>So, the octal number <code>157</code> converts to <code>001101111</code> in binary.</p>
<h3 id="heading-binary-to-octal">Binary to Octal</h3>
<p>To convert a binary number to an octal, group the binary digits into sets of three, starting from the right to the left. You can pad that group with leading zeros if the left-most group isn't 3 digits.</p>
<h3 id="heading-step-by-step-conversion-process-1"><strong>Step-by-Step Conversion Process:</strong></h3>
<ol>
<li><p><strong>Pad the Binary Number with Leading Zeros</strong> (if necessary) to make the number of digits in groups of three:</p>
<ul>
<li><p>Binary: <code>11010011</code></p>
</li>
<li><p>Padded Binary: <code>011 010 011</code></p>
</li>
</ul>
</li>
<li><p><strong>Group the Binary Digits into Sets of Three</strong>:</p>
<ul>
<li>Groups: <code>011 010 011</code></li>
</ul>
</li>
<li><p><strong>Convert Each Group of Three Binary Digits to Its Octal Equivalent</strong>:</p>
<ul>
<li>Use the same method as binary to decimal.</li>
</ul>
</li>
<li><p><strong>Combine the Octal Digits</strong>: Form the final octal number by combining the octal digits.</p>
</li>
</ol>
<h3 id="heading-example-conversion-2"><strong>Example Conversion:</strong></h3>
<p>Let's convert the binary number <code>11010011</code> to octal.</p>
<ol>
<li><p><strong>Pad the Binary Number with Leading Zeros</strong> (if necessary):</p>
<ul>
<li><p>Binary: <code>11010011</code></p>
</li>
<li><p>Padded Binary: <code>011 010 011</code></p>
</li>
</ul>
</li>
<li><p><strong>Group the Binary Digits into Sets of Three</strong>:</p>
<ul>
<li>Groups: <code>011 010 011</code></li>
</ul>
</li>
<li><p><strong>Convert Each Group of Three Binary Digits to Its Octal Equivalent</strong>:</p>
<ul>
<li><p><code>011</code> (binary) = <code>3</code> (octal)</p>
</li>
<li><p><code>010</code> (binary) = <code>2</code> (octal)</p>
</li>
<li><p><code>011</code> (binary) = <code>3</code> (octal)</p>
</li>
</ul>
</li>
<li><p><strong>Combine the Octal Digits</strong>:</p>
<ul>
<li><code>11010011</code> in octal: <code>323</code></li>
</ul>
</li>
</ol>
<p>So, the binary number <code>11010011</code> converts to <code>323</code> in octal.</p>
<h2 id="heading-applications-of-numerical-conversions">Applications of Numerical Conversions</h2>
<p>In this section, you'll learn about two common applications of numerical conversions.</p>
<h3 id="heading-file-permissions">File permissions</h3>
<p>Octal notation is commonly used in file permission management in Unix-like operating systems. In Unix systems, each file has associated permissions that determine who can read, write, or execute the file. These permissions are represented by a 3-digit octal number, where each digit corresponds to a specific set of permissions: <code>owner</code>, <code>group</code>, and <code>others</code>.</p>
<p>Each digit in the octal representation is composed of three bits, with each bit representing a specific permission:</p>
<ul>
<li><p>The first digit represents permissions for the file owner.</p>
</li>
<li><p>The second digit represents permissions for the group associated with the file.</p>
</li>
<li><p>The third digit represents permissions for others (users not in the owner group).</p>
</li>
</ul>
<p>The mapping of permissions to bits is as follows:</p>
<ul>
<li><p>Read permission corresponds to the value <code>4.</code></p>
</li>
<li><p>Write permission corresponds to the value <code>2</code>.</p>
</li>
<li><p>Execute permission corresponds to the value <code>1</code>.</p>
</li>
</ul>
<p>To calculate the octal representation of permissions, you sum the values of the granted permissions. For example:</p>
<ul>
<li>If a file has read and write permissions for the owner, read-only permissions for the group, and no permissions for others, the octal representation would be <code>640</code>.</li>
</ul>
<p>Here's the breakdown:</p>
<div class="hn-table">
<table>
<thead>
<tr>
<td>Permission</td><td>Owner</td><td>Group</td><td>Others</td></tr>
</thead>
<tbody>
<tr>
<td>Read = 4</td><td>Yes</td><td>Yes</td><td>No</td></tr>
<tr>
<td>Write = 2</td><td>Yes</td><td>No</td><td>No</td></tr>
<tr>
<td>Execute = 1</td><td>No</td><td>No</td><td>No</td></tr>
<tr>
<td></td><td>4 +2 + 0 = 6</td><td>4 +0 + 0 = 4</td><td>0</td></tr>
</tbody>
</table>
</div><ul>
<li><p>The owner has read (4) + write (2) permissions, resulting in 6.</p>
</li>
<li><p>The group has read (4) permissions only.</p>
</li>
<li><p>Others have no permissions, which corresponds to 0.</p>
</li>
</ul>
<p>So, the permissions for the file in octal representation are <code>640</code>.</p>
<p><strong>Quiz:</strong></p>
<details><summary>What does the permission 777 show?</summary><div data-type="detailsContent">Read, write and execute for all- users, groups and others.</div></details>

<p>This octal representation of permissions provides a concise and efficient way to manage file permissions in Unix systems, allowing for easy understanding and manipulation of access rights.</p>
<p>To learn more about file permissions, you can read my other article <a target="_blank" href="https://www.freecodecamp.org/news/linux-chmod-chown-change-file-permissions/">here</a>.</p>
<h3 id="heading-color-codes">Color codes</h3>
<p>You might have noticed that the notation <code>#ffffff</code>, <code>#c3c400</code> are prevalent in various digital contexts, such as web design, graphics editing software, and programming. As you might have guessed, this is a hexadecimal representation. As an example, see this palette from <a target="_blank" href="https://colorhunt.co/palette/ffff80ffaa80ff5580ff0080">Colorhunt</a>:</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1715250432475/ccab919f-3796-441a-89e7-60fc3a85e01c.png" alt="ccab919f-3796-441a-89e7-60fc3a85e01c" class="image--center mx-auto" width="634" height="205" loading="lazy"></p>
<p>Here we have a hexadecimal value of the color followed by the equivalent RGB value.</p>
<p>Hexadecimal color codes represent colors in the RGB model using pairs of hexadecimal digits for each color component (red, green, and blue). Each pair corresponds to an 8-bit value, ranging from <code>00</code> to <code>FF</code>, where <code>00</code> represents the lowest intensity(black) and <code>FF</code> represents the highest intensity(white).</p>
<p>For instance, <code>#FF0000</code> stands for red, <code>#00FF00</code> stands for green, and <code>#0000FF</code> stands for blue.</p>
<p><strong>QUIZ:</strong></p>
<details><summary>If red and green makes yellow in RGB model, what would be the hex equivalent?</summary><div data-type="detailsContent">#ffff00</div></details>

<h2 id="heading-conclusion">Conclusion</h2>
<p>By the end of this article, you should be comfortable with carrying out most of the common conversions. In this article, you:</p>
<ul>
<li><p>Explored the importance of numerical conversions in computers.</p>
</li>
<li><p>Explored numeral systems like binary, decimal, hexadecimal, and octal.</p>
</li>
<li><p>Learned conversion techniques between these systems.</p>
</li>
<li><p>Understood some practical applications of numeral systems in computing.</p>
</li>
</ul>
<h2 id="heading-next-steps">Next steps</h2>
<p>You can code a decimal to binary converter in JavaScript by following <a target="_blank" href="https://www.freecodecamp.org/learn/javascript-algorithms-and-data-structures-v8/learn-recursion-by-building-a-decimal-to-binary-converter/step-1">this</a> step-by-step guide.</p>
<p>I hope you found this article helpful. I would love to connect with you on any of these <a target="_blank" href="https://zaira_.bio.link/">platforms</a>.</p>
<p>See you in the next tutorial, happy coding 😁</p>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ Computer Basics for Absolute Beginners ]]>
                </title>
                <description>
                    <![CDATA[ You have to start somewhere when learning about computers. We just published a comprehensive video course on the freeCodeCamp.org channel designed to help you develop a solid foundation in computer and technology skills. This course is for anyone who... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/computer-basics-beginners/</link>
                <guid isPermaLink="false">66b2015ea8b92c9329236425</guid>
                
                    <category>
                        <![CDATA[ Computers ]]>
                    </category>
                
                    <category>
                        <![CDATA[ youtube ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Beau Carnes ]]>
                </dc:creator>
                <pubDate>Thu, 02 Feb 2023 19:21:25 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/news/content/images/2023/02/maxresdefault.jpeg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>You have to start somewhere when learning about computers.</p>
<p>We just published a comprehensive video course on the freeCodeCamp.org channel designed to help you develop a solid foundation in computer and technology skills.</p>
<p>This course is for anyone who is brand new to working with computers or for those who want to fill in some gaps about their computer knowledge. </p>
<p>In this course, you will learn the basics of computers, from what they are to how they work and how to use them. We'll start by introducing you to the fundamental concepts, such as the different buttons and ports on a computer and the basic parts that make up a computer. You'll also learn about the different components inside a computer and get to know laptop computers.</p>
<p>We will also delve into the various operating systems and applications that run on computers, and guide you through the process of setting up a desktop computer, connecting it to the internet, and understanding the concept of the cloud.</p>
<p>In addition to learning how to use a computer, we'll also teach you how to protect your computer and keep it running smoothly. You'll learn how to clean your computer, create a safe workspace, and understand the security features of your web browser. You'll also learn about internet safety, including how to protect yourself from spam and phishing scams, as well as how to understand digital tracking.</p>
<p>Finally, we'll take a closer look at the two most popular operating systems, Windows and Mac OS X. We'll guide you through the basics of the desktop interface and show you how to get started with your browser.</p>
<p>By the end of this course, you'll have a strong understanding of the basic concepts of computers and technology and be equipped with the skills you need to navigate the digital world with confidence. So, whether you're brand new to computers or looking to fill in some gaps in your knowledge, this course is the perfect place to start.</p>
<p>Watch the course on the <a target="_blank" href="https://www.youtube.com/watch?v=y2kg3MOk1sY">freeCodeCamp.org YouTube channel</a> (1-hour watch).</p>
<div class="embed-wrapper">
        <iframe width="560" height="315" src="https://www.youtube.com/embed/y2kg3MOk1sY" style="aspect-ratio: 16 / 9; width: 100%; height: auto;" title="YouTube video player" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen="" loading="lazy"></iframe></div>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ Computer Skills for Résumé – Software Skill Proficiency Guide ]]>
                </title>
                <description>
                    <![CDATA[ Having strong computer skills is necessary for almost any job. That knowledge can set you apart from others who don't possess it. But what are the most necessary computer skills to have? And when you acquire those skills, how do you showcase them eff... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/computer-skills-for-resume-software-skill-proficiency-guide/</link>
                <guid isPermaLink="false">66b1e3dd8f7b9fe685bd612e</guid>
                
                    <category>
                        <![CDATA[ beginners guide ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Computers ]]>
                    </category>
                
                    <category>
                        <![CDATA[ resume ]]>
                    </category>
                
                    <category>
                        <![CDATA[ software development ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Dionysia Lemonaki ]]>
                </dc:creator>
                <pubDate>Mon, 28 Mar 2022 15:15:56 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/news/content/images/2022/03/pexels-janko-ferlic-590493.jpg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>Having strong computer skills is necessary for almost any job. That knowledge can set you apart from others who don't possess it.</p>
<p>But what are the most necessary computer skills to have? And when you acquire those skills, how do you showcase them effectively to prospective employers?</p>
<p>In this article, you will learn about some of the most important
computer skills and software programs needed in the workplace. </p>
<p>You will also learn some of the most basic tasks you need to be able to complete to be competent in those programs. </p>
<p>Lastly, you will see some of the dos and don'ts for listing computer skills on your résumé.</p>
<p>Here is what we will cover:</p>
<ol>
<li><a class="post-section-overview" href="#thewhy">Why computer literacy is important</a></li>
<li><a class="post-section-overview" href="#guide">Software skills guide</a><ul>
<li><a class="post-section-overview" href="#osit">Knowledge of operating systems and of basic IT troubleshooting</a></li>
<li><a class="post-section-overview" href="#browsers">Knowledge of web Browsers and web searching skills</a></li>
<li><a class="post-section-overview" href="#management">Knowledge of Project Management Software</a></li>
<li><a class="post-section-overview" href="#communication">Knowledge of communication software</a></li>
<li><a class="post-section-overview" href="#email">Knowledge of Email and digital calendar management software</a></li>
<li><a class="post-section-overview" href="#word">Knowledge of Word Processing Software</a></li>
<li><a class="post-section-overview" href="#spreadsheet">Knowledge of spreadsheet software</a></li>
<li><a class="post-section-overview" href="#presentation">Knowledge of presentation software</a></li>
<li><a class="post-section-overview" href="#graphicdesign">Knowledge of graphic design software</a></li>
<li><a class="post-section-overview" href="#coding">Knowledge of coding tools and databases</a></li>
</ul>
</li>
<li><a class="post-section-overview" href="#how">How to Include Computer Skills on Résumé</a></li>
</ol>
<h2 id="heading-why-computer-literacy-is-important">Why Computer Literacy is Important  <a></a></h2>
<p>We live in a digital world, and that doesn't seem to be changing any time soon.</p>
<p>On the contrary, each year, technological advancements and breakthroughs occur.</p>
<p>Despite the rapid growth of the Internet and technologies surrounding it, more than a third of the world's population doesn't have access to the Internet and has never used it. </p>
<p>Having access to it and owning a personal computer is a privilege in and of itself.</p>
<p>Many people also still lack the digital skills needed to use the Internet.</p>
<p>At the same time, there are unfulfilled jobs due to a lack of a skilled workforce.</p>
<p>The work we do – and will do in the future – relies heavily on digital media and tools.</p>
<p>So, basic computer skills are considered the bare minimum requirement by employers, with computer skills often being the top requirement listed in job postings.</p>
<p>And no matter the industry you are in, you will need computer skills.</p>
<p>Whether you work in healthcare, retail, finance, as an administrative assistant, or the HR department of a company, digital competency will be helpful.</p>
<p>Digital literacy will give you a higher chance of getting career opportunities and achieving growth in the modern workplace.</p>
<h2 id="heading-software-skills-guide">Software Skills Guide <a></a></h2>
<p>Before continuing, I want to give a disclaimer.</p>
<p>In the sections to come,  I will go over some of the most used software programs utilized in office jobs.</p>
<p>Depending on your job, or the career you want to transition into, you may not need knowledge of all of this.</p>
<p>For example, if you are an administrative assistant, you probably won't use the command line for your day-to-day tasks.</p>
<p>If you are a software developer, you won't necessarily be writing Excel formulas.</p>
<p>That said, knowledge of computer software will put you one step forward compared to someone lacking that knowledge.</p>
<p>So, even if you're not in tech, you can still benefit from using the command line to make repetitive manual tasks quicker. And if you are a software developer, you won't be writing only code all day. You will probably use a word processor for documentation and will need to know how to create presentations.</p>
<p>Another thing to add is that the list is quite long, with many programs included. It's not intended to be an exhaustive list. Instead, it's for providing a general idea of what could help make you more productive and competitive.</p>
<p>Learning all the software will take time, and you don't need to learn everything all at once. But you never know when this knowledge will come in useful. So, if you want to improve your computer knowledge, you can start slow and add one more tool to your toolbox each time.</p>
<p>With that out the way, let's see some of the most used software programs in the workplace.</p>
<h3 id="heading-knowledge-of-operating-systems-and-of-basic-it-troubleshooting">Knowledge of Operating Systems and of Basic IT Troubleshooting  <a></a></h3>
<p>The first step to digital literacy is having a well-rounded understanding of operating systems.</p>
<p>There is no need to become an IT expert if that is not your goal, but instead, know their basic functionalities.</p>
<p>The <a target="_blank" href="https://www.freecodecamp.org/news/what-is-an-os-operating-system-definition-for-beginners/">Operating System (OS for short)</a> manages all of the software and hardware on a computer and allows you to interact with the computer in the first place.</p>
<p>The three most widely used operating systems are:</p>
<ul>
<li>The Windows Operating System, which is owned by Microsoft.</li>
<li>macOS, which is owned by Apple.</li>
<li>Linux, which is an open-source operating system. In contrast to Windows and macOS, Linux is not proprietary software. No one company owns it. Anyone with the knowledge can contribute, make changes and improvements, and help maintain it.</li>
</ul>
<p>In addition, it helps to have some at least basic IT troubleshooting skills. This knowledge will help you find solutions when you get stuck, and help you solve problems by yourself.</p>
<p>For example, some basic computer troubleshooting skills are:</p>
<ul>
<li>Recognizing network icons and knowing if the WiFi is on or off.</li>
<li>Knowing what to do when a computer program has frozen. </li>
<li>Knowing how to handle crashes.</li>
<li>Knowing when and how to reboot the system. </li>
<li>Knowing how to restart the computer or interact with Task Manager to handle unresponsive programs.</li>
<li>Knowing what to do when the computer doesn't power up.</li>
<li>Knowing how to solve issues with USB memory sticks and external hard drives.</li>
<li>Knowing how to speed up a slow computer.</li>
<li>Knowing how to perform basic network diagnostics.</li>
<li>Knowing when to update system and when a routine maintenance is needed.</li>
<li>knowing about user account management.</li>
</ul>
<p>You'll use a GUI (Graphic User Interface) to make your way around a computer. </p>
<p>The different buttons and dropdown menus, the pointing and mouse clicks, and the different icons you see on your screen make GUIs easy to use.</p>
<p>However, there may be times when you will need to use a Command Line Interface (or CLI for short).</p>
<p>A CLI is a text-based program. You type commands in a prompt using keyboard navigation only and save significant time when performing repetitive tasks.</p>
<p>On Windows, the software program is called Command Prompt, and on macOS, it is called Terminal.</p>
<p>A shell (such as Bash or Zsh shell) is the interface between you, the user, and the computer's operating system.</p>
<p>You type commands in one of the CLI applications. The shell reads, processes, and interprets the commands and instructs the Operating System to perform the task.</p>
<p>Knowing your way around the command line will help you save considerable time. Some basic command line skills to have are:</p>
<ul>
<li>General system commands.</li>
<li>How to create and delete files and folders.</li>
<li>How to view contents of files and folders.</li>
<li>How to open programs.</li>
<li>How to use a command-line text editor, such as Vim, Emacs or Nano, to write to files.</li>
<li>How to manage current working processes.</li>
</ul>
<h3 id="heading-knowledge-of-web-browsers-and-web-searching-skills">Knowledge of Web Browsers and Web Searching Skills <a></a></h3>
<p>Knowing how to quickly and effectively find meaningful information to help you solve a problem, or to enable you to conduct research for a project, is a valuable skill to have.</p>
<p>For this purpose, you must know how to use a Web browser correctly.</p>
<p>Web browsers are application software that locates and presents to users the information requested on the World Wide Web.</p>
<p>Some of the most popular web browsers are:</p>
<ul>
<li>Google Chrome, developed by Google.</li>
<li>Firefox Mozilla, developed by Firefox.</li>
<li>Microsoft Edge, developed by Mircosoft.</li>
<li>Safari, developed by Apple.</li>
</ul>
<p>To use web browsers productively, here are some of the skills you need:</p>
<ul>
<li>Make sure you use modern and updated web browsers instead of older and unsupported ones.</li>
<li>Know the navigational buttons. Go back to the previous page, refresh the current page, create a file and open the page in a new tab or window, and know your way around the browser's menu for extra functionalities, to name a few.</li>
<li>Enter URLs (short for Uniform Resource Locator). URLs are a unique web address that you put into the browser's address bar.</li>
<li>Know how to read a URL by understanding its different parts and recognizing when a website might be sketchy.</li>
<li>Perform searches by using keywords and perform basic Internet research.</li>
<li>Know how to apply filters for advanced searching techniques.</li>
<li>Make use of tabbed browsing. With modern browsers, you can open, manage and switch between many web pages simultaneously – in the same browser window.</li>
<li>Know how to restore tabs.</li>
<li>Create and manage bookmarks with the browser's built-in bookmark manager. Bookmarks is another name for 'your favorites' – the websites you would like to save and keep for future reference. You can create folders and subfolders for a more organized bookmarking system.</li>
<li>Know how to manage and delete browsing history on your system.</li>
<li>Know about browser security and privacy issues. The first step is knowing the <a target="_blank" href="https://www.freecodecamp.org/news/what-is-https-http-vs-https-meaning-and-how-it-works/">difference between HTTP and HTTPS</a>, especially when making financial transactions across the internet. Next is using Incognito mode for protecting sensitive data when sharing a computer with someone else or using a public computer.</li>
<li>Know how to clear browser cache and cookies to improve load time, save space, and reduce bandwidth.</li>
<li>Know how to install extensions that have additional browser functionalities.</li>
</ul>
<h3 id="heading-knowledge-of-project-management-software">Knowledge of Project Management Software <a></a></h3>
<p>When you become part of a team, you will probably need to use project management software.</p>
<p>Project management software is an interactive collaboration tool used for project task management and delegation.</p>
<p>They help keep teams organized, productive, and efficient, no matter their size.</p>
<p>Some of the most commonly used project management software are:</p>
<ul>
<li>Trello</li>
<li>Asana</li>
<li>Jira</li>
<li>Google Tasks</li>
<li>Evernote</li>
<li>Notion</li>
</ul>
<p>You can also use project management software for your personal projects.</p>
<p>They can help keep you motivated and visually see the progress you are making, all in one place.</p>
<p>The most common features to know when using such applications are:</p>
<ul>
<li>How to create a custom workspace for the team.</li>
<li>How to plan, organize, and schedule projects.</li>
<li>How to create a visual roadmap and timeline with kanban boards and user stories, to visualize the bigger picture of the project, and what the workflow will look like during the different stages of the project.</li>
<li>How to create and view lists with tasks that need to get done.</li>
<li>How to color code and label tasks to better organize and prioritize them into groups.</li>
<li>How to update and edit the current status of tasks. Track progress of projects throughout the life of the project for all team members to stay up to date.</li>
<li>How to mark and check off completed tasks as completed.</li>
<li>Collaboration between team members. Individual team members can comment, add notes and their input regarding significant project updates, set reminders, all on the same page.</li>
<li>How to allocate and assign tasks to team members. Easily visualize the assignments that each team member is working on.</li>
<li>How to track time spent on each task and manage deadlines to ensure on-time delivery.</li>
<li>How to create internal reports and project documentation.</li>
<li>How to create and share project meeting notes.</li>
<li>How to create and share a knowledge hub and wiki, with a curated dashboard of a library with resources related to the project.</li>
<li>How to share accomplishments and project milestones.</li>
<li>How to keep track of achievements that you can use as a reference in one-to-ones and reviews.</li>
<li>How to keep track of budgeting, monitor the project's spending, and schedule invoices.</li>
</ul>
<h3 id="heading-knowledge-of-communication-software">Knowledge of Communication Software <a></a></h3>
<p>When you are part of a team, you need to communicate clearly and precisely with the rest of the team members.</p>
<p>Communication tools enhance a team's productivity, which in turn leads to better products and services.</p>
<p>These days, more people work remotely and teams are distributed theoughout different corners of the world and across different timezones. Because of this, teams rely on dedicated communication tools to collaborate, talk to each other, and stay in touch, no matter where they are.</p>
<p>Each team has its own communication style, but regardless of their preferences you would be expected to know how to use a digital communication medium.</p>
<p>These fall into different categories:</p>
<ul>
<li>Real time instant messaging platforms, which are a substitute for emails and provide faster exchanges with more communication features to choose from.</li>
<li>Voice calling platforms.</li>
<li>Video conferencing platforms to host meetings.</li>
</ul>
<p>Some of the most popular ones used are:</p>
<ul>
<li>Microsoft Teams</li>
<li>Skype</li>
<li>Zoom</li>
<li>Google Meet</li>
<li>Slack</li>
<li>Discord</li>
<li>Loom</li>
</ul>
<p>Some of the features you would need to know how to use are:</p>
<ul>
<li>How to privately message someone for direct communication.</li>
<li>How to create group messaging chats that are either public or private.</li>
<li>How to create and utilize custom channels for specific projects or topics.</li>
<li>How to record meetings and talks. In this case, all participants need to be aware of the recording.</li>
<li>How to host an educational webinar.</li>
<li>How to share your screen to work through problems.</li>
<li>How to utilise the 'raise your hand' feature.</li>
<li>Know keyboard shortcuts for muting/unmuting yourself and turning your camera on/off.</li>
</ul>
<h3 id="heading-knowledge-of-email-and-digital-calendar-management-software">Knowledge of Email and Digital Calendar Management Software <a></a></h3>
<p>Emails are a fast way to communicate with your colleagues and send messages across the internet.</p>
<p>You need to know how to compose concise and well-organized emails using an email provider.</p>
<p>The most commonly used email software applications are:</p>
<ul>
<li>Microsoft Outlook</li>
<li>Google Gmail</li>
</ul>
<p>The basic knowledge you would need includes the following:</p>
<ul>
<li>Setting up an email account.</li>
<li>Formatting, sending, and receiving emails.</li>
<li>Sending an email to multiple people at once.</li>
<li>Attaching document files, images, and voice messages to your emails.</li>
<li>Using the address book for your contacts.</li>
<li>Starring emails for organizing emails in a separate folder.</li>
<li>Creating folders and sorting through emails.</li>
<li>Creating labels and filters to search through specific keywords to maximize productivity.</li>
<li>Knowing how to file, prioritize, and group emails for easier access and time efficiency.</li>
<li>Forwarding emails.</li>
<li>Idenitfying phishing emails.</li>
</ul>
<p>Your email account will be in-sync with a digital calendar program.</p>
<p>For example, Gmail uses Google Calendar and Outlook uses the Outlook Calendar.</p>
<p>Knowledge of Calendly, a scheduling application, is helpful too.</p>
<p>You can connect it to your email account for scheduling appointments, meetings, and appointments.</p>
<p>The skills you need to have when using digital calendars are:</p>
<ul>
<li>Knowing how to block out your time and set up your availability.</li>
<li>Sharing your calendar with a link so other team members can arrange events and meetings with you.</li>
<li>Scheduling and arranging meetings.</li>
<li>Inviting attendees.</li>
<li>Canceling events.</li>
</ul>
<h3 id="heading-knowledge-of-word-processing-software">Knowledge of Word Processing Software <a></a></h3>
<p>Knowing how to write in an engaging way and format text documents is a necessary skill, no matter your industry.</p>
<p>You may need to write blogs and articles for the company's website. You may be in charge of writing and publishing the company's newsletter. You may need to compose and frequently update documentation on internal tools used in the company. You may need to write formal reports to stakeholders.</p>
<p>Whatever the case, knowing how to use a word processor is a must.</p>
<p>Some of the most commonly used word processors are:</p>
<ul>
<li>Microsoft Word</li>
<li>Google Docs</li>
<li>OpenOffice Writer</li>
<li>LibreOffice</li>
<li>Dropbox Paper</li>
</ul>
<p>Here are some of the basic skills to have when using a word processor:</p>
<ul>
<li>Know how to create a new document and insert, edit, modify, copy, cut, and delete text. Know how to enable automatic saving to ensure you don't lose any work by accident.</li>
<li>Know how to open an already created document.</li>
<li>Know how to merge documents.</li>
<li>Know how to change page view layout.</li>
<li>Know how to utilize spell and grammar checker for correcting spelling errors and typos.</li>
<li>Know how to create hyperlinks.</li>
<li>Choose the correct font depending on the occasion.</li>
<li>Know how to format and emphasize text. Knowledge of keyboard shortcuts (such as copy/cut/pasting, how to undo and redo work) to improve your touch typing speed.</li>
<li>Know how to organize and split the text into sections with headings, subheadings, and indented paragraphs. </li>
<li>For large documents, know how to create a table of contents so others can easily navigate to different sections.</li>
<li>Know how to select, move and center align text.</li>
<li>Know how to use pre-existing templates and create new ones.</li>
<li>Utilize the find and replace feature.</li>
<li>Collaborate with other team members by highlighting text and leaving comments in the document's sidebar with suggestions.</li>
<li>Know how to share and protect documents by setting up password protection.</li>
<li>Know how to save the document in different file formats (such as saving the document as a PDF).</li>
<li>Know how to set up and print documents.</li>
<li>Know how to insert columns.</li>
<li>Know how to insert and format tables, text boxes, charts, graphs, and visual elements into text documents to visualize data.</li>
<li>Know how to create, edit and format complex tables with data.</li>
<li>Know how to import graphs and embed other documents (such as Excel worksheets).</li>
<li>Know how to insert images and bookmarks.</li>
<li>Know how to create, sort, and filter Mail Merges.</li>
</ul>
<h3 id="heading-knowledge-of-spreadsheet-software">Knowledge of Spreadsheet Software <a></a></h3>
<p>Many jobs require you to be comfortable working with smaller or even larger datasets.</p>
<p>You need to know how to store and organize data in a tabular format.</p>
<p>In this way, you'll be able to analyze and perform calculations on the data.</p>
<p>Some of the most commonly used spreadsheet softwares are:</p>
<ul>
<li>Microsoft Excel</li>
<li>Google Sheets</li>
<li>Apple Numbers</li>
<li>LibreOffice Calc</li>
</ul>
<p>Here are some of the basic skills to have when using spreadsheet software:</p>
<ul>
<li>Know how to perform data entry by setting up, creating, modifying, formatting, and saving worksheets.</li>
<li>Know how to manage multiple worksheets.</li>
<li>How how to merge cells.</li>
<li>Know how to highlight columns based on conditions you set using conditional formatting.</li>
<li>Know how to filter columns.</li>
<li>Know how to create graphs and charts</li>
<li>Know how to perform arithmetic calculations using functions. For example, know how to add individual values and find the total sum using SUM, Or being familiar with finding the average in a range of numbers using AVERAGE. Or, knowing how to find the highest and lowest number in range using MIN and MAX, respectively.</li>
<li>Know how to use advanced functions <a target="_blank" href="https://www.freecodecamp.org/news/vlookup-in-excel/">such as VLOOKUP</a> (or Vertical Lookup) to search columns.</li>
<li><a target="_blank" href="https://www.freecodecamp.org/news/excel-vba-tutorial/">Know basic VBA</a> (which is short for Visual Basic Application) to create Excel Macros. Know how to work with macros commands to create custom functions that automate repetitive and time-consuming manual tasks.</li>
<li>Know how to create pivot tables and charts to visualize, compare and present large amounts of data using visualizations. Know how to generate reports with your findings.</li>
</ul>
<h3 id="heading-knowledge-of-presentation-software">Knowledge of Presentation Software <a></a></h3>
<p>Knowing how to put together a presentation is a valuable skill to have.</p>
<p>You may need to give a presentation in front of a few team members and update them on the progress of a project. You may need to deliver a more formal presentation to stakeholders, or you may even need to give a talk at a large conference in front of experts in your field.</p>
<p>Either way, knowing how to create engaging slides will be necessary.</p>
<p>Some of the most popular presentation software programs are:</p>
<ul>
<li>Microsoft PowerPoint</li>
<li>Google Slides</li>
<li>Keynote</li>
<li>Canva</li>
</ul>
<p>Here are some of the basic skills to have when using presentation software:</p>
<ul>
<li>Know how to select pre-built templates and color schemes and customize them by adding content into the slide.</li>
<li>Know how to design and format custom templates.</li>
<li>Know how to add slide transitions.</li>
<li>Insert charts, graphs, diagrams, and tables with data into slides.</li>
<li>Create icons, animations, transitions, and a mixture of static and motion graphics.</li>
<li>Know how to insert Clip Art.</li>
<li>Add notes to each slide</li>
<li>Make slides interactive by inserting hyperlinks.</li>
<li>Know how to insert media such as pictures, pieces of music, audio and sound effects, gifs, short video clips, or full videos uploaded from the computer or embedded from Youtube.</li>
</ul>
<h3 id="heading-knowledge-of-graphic-design-software">Knowledge of Graphic Design Software <a></a></h3>
<p>Knowledge of design software is not exclusive to designers.</p>
<p>You may need to create visual content for an email marketing campaign, create a poster for a company event, or you may want to add detailed and visually appealing infographics to a presentation. You may want to prepare and edit photos or create mockups to improve the User Experience of a company's website.</p>
<p>Some of the most popular design software are:</p>
<ul>
<li>Adobe Photoshop</li>
<li>Adobe Illustrator</li>
<li>Adobe InDesign</li>
<li>Adobe After Effects</li>
<li><a target="_blank" href="https://www.freecodecamp.org/news/how-to-use-figma-to-design-websites/">Figma</a></li>
<li>Sketch</li>
</ul>
<p>Each of these programs above <a target="_blank" href="https://www.freecodecamp.org/news/adobe-xd-vs-sketch-vs-figma-vs-invision/">have a different use case</a>.</p>
<p>In general, here are some of the basic skills to have when using graphic design software:</p>
<ul>
<li>Know how to import assets and set up a document from scratch correctly, with the appropriate width, height, size, and display setting for the project.</li>
<li>Know how to open already existing image files.</li>
<li>Know how to create and manipulate 3D objects and how to add visual effects from pre-existing and built-in styles.</li>
<li>Know how to manipulate images, both static and moving, and add visual effects with animations</li>
<li>Know how to prepare and get documents ready for print production.</li>
<li>Know how to save and export files in the correct format and prepare them for other programs.</li>
<li>Know how to make documents ready for use on the Web.</li>
<li>Know how to create and manipulate interactive media.</li>
<li>Know how to do basic photo editing, retouching, and enhancement and manipulate images by cropping and moving them.</li>
<li>Know how to create graphs, charts, infographics, and interactive PDFs.</li>
<li>Know how to create wireframes, prototypes and mockups, and User Interfaces for web design projects.</li>
<li>Know how to create logos, icons, and artwork.</li>
</ul>
<h3 id="heading-knowledge-of-coding-tools-and-databases">Knowledge of Coding Tools and Databases <a></a></h3>
<p>Coding can help you solve problems and communicate with computers using a language that computers understand. And databases are programs for storing data and that allow programmers to retrieve the data using queries.</p>
<p>Even if you are not working as a developer, <a target="_blank" href="https://www.freecodecamp.org/news/what-is-coding/">knowing the basics of coding</a> can help make repetitive aspects of your job much easier.</p>
<p>Besides that, coding is one of the most fundamental technical skills you can have in the 21st century, not to mention that there is a high demand for applicants that know how to code.</p>
<p>Here are some of the basic skills to have for coding and interacting with databases:</p>
<ul>
<li>Knowledge of text editors and using the smart features available for writing source code. 
-Knowledge of code editors with IDE-like features – where IDE is short Integrated Development environment – such as Visual Studio Code, for writing and editing source code, compiling and running source code, using the built-in terminal and debugging, all under the same roof.</li>
<li><a target="_blank" href="https://www.freecodecamp.org/news/git-and-github-for-beginners/">Knowledge of the Git version control software</a> to keep track of project changes and for collaboration. Create, push to, pull from, and clone a repository.</li>
<li>Knowledge of more advanced Git commands, such as for merging and branching.</li>
<li>Depending on the task at hand, knowledge of a programming language. If you need to work on the visual parts of a website users interact with (otherwise known as the client-side), learn frontend technologies such as HTML, CSS, and JavaScript. If the task involves working on the logic side of things (or the server-side), analyzing data, and automating repetitive and time-consuming tasks, learn a server-side scripting programming language like Python.</li>
<li>Knowledge of <a target="_blank" href="https://www.freecodecamp.org/news/the-linux-commands-handbook/">Linux commands and working with a Linux environment</a>. Know how to set up a Virtual Machine and run Linux on your local computer.</li>
<li><a target="_blank" href="https://www.freecodecamp.org/news/learn-sql-free-relational-database-courses-for-beginners/">Know SQL</a> (short for Structured Query Language) to interact with Relational Databases (such as Oracle Database, MySQL, and PostgreSQL). Know how to write basic SQL commands to perform CRUD (short for Create Read Update Delete) operations to query the database and manipulate the data stored.</li>
</ul>
<h2 id="heading-how-to-include-computer-skills-on-resume">How to Include Computer Skills on Résumé <a></a></h2>
<p>Below are some key points to consider when including computer skills on your résumé:</p>
<ul>
<li>You could create a separate dedicated section, such as a sidebar on the résumé, reserved for only listing your computer skills by including a list with bulleted points.</li>
<li>Include computer skills that set you apart from other applicants and are only relevant to the position. 
Just a note: don't list Microsoft Word as a computer skill if you are applying for a software developer role. 
Microsoft Word may be a tool you use for your daily work, but employers assume you already have that knowledge, and it's not what they are interested in seeing from your résumé.</li>
<li>List skills you have familiarity with and are comfortable using. Employers will probably ask questions based on the skills and technologies you added, so don't mislead and be direct about your exact level of proficiency.</li>
<li>List relevant courses and diplomas/certifications you have taken to advance your skills.</li>
<li>Do not list your skills accompanied by a metric bar with a percentage of how proficient you are. 
For example, don't include 'I am 78% proficient in JavaScript'. Something like that could easily lead to confusion.</li>
<li>Be specific. For example, don't just include 'Advanced knowledge in Microsoft Excel'. Instead, provide some examples of what you can do with Excel, such as naming the advanced functions and formulas you are proficient in.</li>
<li>Instead of just only listing skills, focus on mentioning achievements, milestones, metrics, and how your computer skills helped a company. Employers are interested in seeing how your computer skills helped improve your team's productivity and increased sales and revenue in your previous jobs. 
For example, you could mention a task you automated by writing a Python script which saved significant time for your team.</li>
<li>Make sure to keep it brief and get your point across in a concise way. Recruiters and employers don't spend much time going through résumés, so relevant information needs to stand out easily and in a summarized way.</li>
<li>You can include links to articles, a conference talk you gave, a workshop you hosted, or a YouTube channel you have, where you explain technical topics in your field. This way, you show to prospective employers that you are engaged in your community, and you have the knowledge and expertise they are looking for.</li>
</ul>
<p><a target="_blank" href="https://www.freecodecamp.org/news/how-to-write-a-developer-resume-recruiters-will-read/">Here's a guide to writing a résumé</a> that hiring managers will actually read.</p>
<h2 id="heading-conclusion">Conclusion</h2>
<p>Hopefully, now you have a better understanding of what computer skills you should have if you're job hunting in today's market. We went over what you need to know to utilize software programs effectively, and how to present those skills clearly to employers.</p>
<p>Thank you for reading!</p>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ Computer Not Recognizing Headphones – Windows 10 PC Headphone Tutorial ]]>
                </title>
                <description>
                    <![CDATA[ What if you plug in your headphones to listen to your favorite music, watch a movie, or do something else and your computer fails to recognize the headphones? That's frustrating.  Your computer not recognizing your headphones is a fairly common issue... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/computer-not-recognizing-headphones-windows-10-pc-headphone-tutorial/</link>
                <guid isPermaLink="false">66adf088f452caf50fb1fdd8</guid>
                
                    <category>
                        <![CDATA[ Computers ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Windows 10 ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Kolade Chris ]]>
                </dc:creator>
                <pubDate>Tue, 23 Nov 2021 15:47:53 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/news/content/images/2021/11/headphone-g4c19bbfbe_1280-1.png" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>What if you plug in your headphones to listen to your favorite music, watch a movie, or do something else and your computer fails to recognize the headphones? That's frustrating. </p>
<p>Your computer not recognizing your headphones is a fairly common issue in Windows 10 PCs. </p>
<p>It could be caused by a corrupt or outdated driver, faulty USB ports (if your headset uses USB), an error in the connection (in case of Bluetooth, for example), or an issue with the headphones themselves.</p>
<p>In this guide, I will walk you through 4 different ways you can fix this issue in Windows 10 PCs.</p>
<h2 id="heading-what-to-try-first-if-your-computer-isnt-recognizing-headphones">What to Try First if Your Computer Isn't Recognizing Headphones</h2>
<p>If your headphones use Bluetooth, you should make sure Bluetooth is enabled on your computer. </p>
<p>Some computers have power on lights for Bluetooth, so make sure they are on.</p>
<p>If the headphones connect to your computer through USB and you get this error, try out another USB drive, or another computer. </p>
<p>If the headphones work on one computer and fail to work on another, the solutions discussed in the remaining parts of this article are for you. </p>
<h2 id="heading-how-to-fix-a-headphones-error-by-updating-your-computers-audio-driver">How to Fix a Headphones Error by Updating Your Computer's Audio Driver</h2>
<p><strong>Step 1</strong>: Right-click on Start and select "Device Manager".
<img src="https://www.freecodecamp.org/news/content/images/2021/11/ss-1-12.jpg" alt="ss-1-12" width="600" height="400" loading="lazy"></p>
<p><strong>Step 2</strong>: Expand Audio Inputs and outputs, right-click on your audio device, and select "Update driver".
<img src="https://www.freecodecamp.org/news/content/images/2021/11/ss-2-10.jpg" alt="ss-2-10" width="600" height="400" loading="lazy"></p>
<p><strong>Step 3</strong>: Choose "Search automatically for updated driver software".
<img src="https://www.freecodecamp.org/news/content/images/2021/11/ss-3-11.jpg" alt="ss-3-11" width="600" height="400" loading="lazy"></p>
<p><strong>Step 4</strong>: Allow your computer to search the internet for driver updates. It will be automatically installed for you.</p>
<h2 id="heading-how-to-fix-a-headphones-error-by-setting-the-headphone-as-the-default-audio-output-device">How to Fix a Headphones Error by Setting the Headphone as the Default Audio Output Device</h2>
<p><strong>Step 1</strong>: Press the <code>WIN</code> (Windows logo key) on your keyboard and search for "control panel". Then hit <code>ENTER</code> to open the first search result – which is usually Control Panel.
<img src="https://www.freecodecamp.org/news/content/images/2021/11/ss-4-2-.jpg" alt="ss-4-2-" width="600" height="400" loading="lazy"></p>
<p><strong>Step 2</strong>: Change the Control Panel view to large icons at the top right corner, and then click on “Sound”.
<img src="https://www.freecodecamp.org/news/content/images/2021/11/ss-5-10.jpg" alt="ss-5-10" width="600" height="400" loading="lazy"></p>
<p><strong>Step 3</strong>: If your headphones aren't showing up in the list under the Playback tab, right-click and choose "Show disabled devices". Then click on your headset name from the list of audio devices.</p>
<p><strong>Step 4</strong>: Make sure your headphone is been used as the default device. If not, select click on it and select "Set Default".
<img src="https://www.freecodecamp.org/news/content/images/2021/11/ss-6-1.png" alt="ss-6-1" width="600" height="400" loading="lazy"></p>
<h2 id="heading-how-to-fix-a-headphones-error-by-turning-off-audio-enhancements">How to Fix a Headphones Error by Turning off Audio Enhancements</h2>
<p><strong>Step 1</strong>: Right-click on Start and select "Run".
<img src="https://www.freecodecamp.org/news/content/images/2021/11/ss-7-7.jpg" alt="ss-7-7" width="600" height="400" loading="lazy"></p>
<p><strong>Step 2</strong>: Type in "control" and hit <code>ENTER</code>.
<img src="https://www.freecodecamp.org/news/content/images/2021/11/ss-8-4.jpg" alt="ss-8-4" width="600" height="400" loading="lazy"></p>
<p>That’s another way to open the Control Panel.</p>
<p><strong>Step 3</strong>: Make sure you change view mode to large icons in the top right corner.</p>
<p><strong>Step 4</strong>: Select Sound.
<img src="https://www.freecodecamp.org/news/content/images/2021/11/ss-5-10.jpg" alt="ss-5-10" width="600" height="400" loading="lazy"></p>
<p><strong>Step 5</strong>: Right-click on your headphones and select "Properties".
<img src="https://www.freecodecamp.org/news/content/images/2021/11/ss-9-4.jpg" alt="ss-9-4" width="600" height="400" loading="lazy"></p>
<p><strong>Step 6</strong>: Click on the Enhancements tab and uncheck "Disable all sound effects".</p>
<p><strong>Step 7</strong>: Click "Apply", and then "Ok".
<img src="https://www.freecodecamp.org/news/content/images/2021/11/ss-10-4.jpg" alt="ss-10-4" width="600" height="400" loading="lazy"></p>
<p>The reason why this solution works is that enabling audio enhancements on your computer interferes with headphones functionality – which might stop them from working properly in the long run.</p>
<p>I hope the fixes explained in this guide help make your headphones work again.</p>
<p>Thanks a lot for reading and have a nice time.</p>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ What is a PC? Computer Definition and Computer Basics for Beginners ]]>
                </title>
                <description>
                    <![CDATA[ Computers have revolutionized our lives. They help us get repetitive tasks done quickly and accurately. And they are tireless and do not fear complexity. Computers are able to process data and perform operations at a rate of millions per second. They... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/what-is-a-pc-computer-definition-and-computer-basics-for-beginners/</link>
                <guid isPermaLink="false">66b1e4d888a49cff617991e7</guid>
                
                    <category>
                        <![CDATA[ beginners guide ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Computers ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Dionysia Lemonaki ]]>
                </dc:creator>
                <pubDate>Wed, 10 Nov 2021 18:35:08 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/news/content/images/2021/11/niclas-illg-wzVQp_NRIHg-unsplash.jpg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>Computers have revolutionized our lives.</p>
<p>They help us get repetitive tasks done quickly and accurately. And they are tireless and do not fear complexity.</p>
<p>Computers are able to process data and perform operations at a rate of millions per second. They can get a task done much faster compared to the time it would a human to complete the same task.</p>
<p>Having access to a personal computer also gives you the opportunity to use the plethora of information and free resources available on the web. This in turn can help you learn new skills and possibly improve your quality and standard of life.</p>
<p>But what are computers, exactly – and more specifically what is a PC?</p>
<p>In this article you'll learn the basics of computers: what they are, the different kinds of computers available, and how they work.</p>
<h2 id="heading-what-is-a-computer-a-definition-for-beginners">What is a computer? A definition for beginners</h2>
<p>Most of us use computers everyday. </p>
<p>You can use them for work – when you want to edit a word document, attend a video conference, or send an important e-mail.</p>
<p>You an also use them for entertainment purposes – such as browsing through social media or playing a video game.</p>
<p>And now more than ever, many people use computers to consume educational content and gain new skills.</p>
<p>They are so popular in our day to day lives, but do we ever stop to think what they <em>actually</em> are? Or how they work to accomplish various tasks at high speeds? Or what parts they're made of?</p>
<p>A computer is a tool that accepts some input and can then easily manipulate and process the different kinds of data it receives. It performs complex calculations and produces some output. That output can also be stored for later retrieval and use.</p>
<p>Specifically, a computer is an electronic device, or machine, that follows certain specified rules and completes a standard set of functions such as:</p>
<ul>
<li>Creating information</li>
<li>Taking data as input from an external resource</li>
<li>Processing the data into something useful </li>
<li>Storing all kinds of information and instructions into memory and retrieving them when required or requested</li>
<li>Generating some kind of output</li>
</ul>
<p>When we're trying to define what a computer is and how it works, we often use the analogy of a human brain.</p>
<p>We can think of our brains more advanced and sophisticated computers. And they are actually cabable of much more and are far more complex than computers. </p>
<p>But human mental processing and the way we handle information is kind of similar to how computers do it. Our brains also receive input, transmit information, and produce output based on the input they receive.</p>
<h2 id="heading-how-computers-function">How Computers Function</h2>
<p>Every computer is comprised of both <strong>hardware</strong> and <strong>software</strong>.</p>
<p>Hardware is all the physical parts that a computer is built from and is what makes a computer a computer.</p>
<p><strong>Hardware</strong> are the physical components you can touch, and they are located on both the outside and the inside of a computer.</p>
<p>These are also the parts that perform all the operations and execute instructions.</p>
<p><strong>Software</strong> is made up of all the digital parts – the components you <em>cannot</em> see or touch in a computer.</p>
<p>Software are collections of programs that tell the hardware components what to do and how to behave. They give the hardware the instructions it needs to execute in order to get things done.</p>
<p>Programs are a set of instructions in the form of 0s and 1s (or binary code). They are commands that need to be executed in sequential, logical order.</p>
<h3 id="heading-the-basic-hardware-and-software-of-a-computer">The basic hardware and software of a computer</h3>
<p>Some of the <strong>hardware</strong> components you can find on the <em>outside</em> of a computer are:</p>
<ul>
<li>The computer case, also known as the tower, which contains the important hardware pieces that are found on the inside of a computer. This external physical part stores the internal circuits and digital structures of a computer.</li>
<li>Output devices such as:<ul>
<li>A monitor, which is a screen, used for displaying and outputting visual information. </li>
<li>A set of speakers, which translate digital signals to sound. </li>
<li>A printer, which outputs information on pieces of paper.</li>
</ul>
</li>
<li>Input devices such as:<ul>
<li>A keyboard used for typing text and characters – essentially for entering any written information.</li>
<li>A mouse for clicking, pointing, and selecting approriate data.</li>
<li>A microphone.</li>
</ul>
</li>
</ul>
<p>Some of the most important <em>internal</em> pieces of hardware are mentioned below:</p>
<ul>
<li>The motherboard. It's the main circuit board which connects all the important hardware components together.</li>
<li>The CPU (short for Central Processing Unit). Every computer has a CPU. It is also known as a processor and is often referred to as the 'brain' of a computer, since it processes large amounts of information at a high speed. It carries out arithmetic and logical functions.</li>
<li>The GPU (short for Graphics Processing Unit). It renders and manipulates images, graphics, videos, and all kinds of visual data.</li>
<li>RAM ( short for Random Access Memory), or the main memory. It's a volatile, short-term type of memory that only stores information temporarily while a computer is powered by electricity. It is used when you open and are using an application or file. When the power turns off, any files you created or updates you made and didn't save will be lost and are hard to retrieve.</li>
<li>HDD (short for Hard Disk Drive) and SSD (short for Solid State Drive), are storage devices and are non-volatile. This means that they store and save data permanently, even when the computer is shut down and there is no power supply.</li>
<li>A power supply unit. All components require electricity in order to operate and function correctly. The power supply connects to some type of power source, whether it's a power outlet or a battery.</li>
</ul>
<p>Some important <strong>software</strong> components are packages that contain programs for word and number processing and giving presentations such as the Microsoft Office Suite.</p>
<p>Other examples of software are e-mail programs such as Google's Gmail, web browsers such as Google Chrome, Mozilla Firefox and Apple Safari, and productivity/note-taking tools such as the Notion app, to name a few.</p>
<p>The most important piece of software for computers, however, is the <em>operating system</em>.</p>
<p>It controls all functions on a computer and manages both the hardware and software components.</p>
<p>It's the interface between software and hardware – the way that those two communicate with one another and the way you interact with a computer.</p>
<p>The most popular operating systems commonly used today are Microsoft's Windows OS and Apple OS. Linux is also a very popular operating system among developers.</p>
<h2 id="heading-different-types-of-computers">Different Types of Computers</h2>
<p>The hardware and software components mentioned above are universal to all computers.</p>
<p>Even so, there are a variety of different types of computers.</p>
<p>Nowadays there are so many devices available – and each one has different sizes, use cases, power cabailities, and portability.</p>
<p>There are smartphones, smart watches, smart TVs, smart cars, smart electrical appliances, ATMs, and powerful, high performance web servers.</p>
<p>Those are just some examples of devices that have a built in chip, or CPU, which makes them a computer.</p>
<p>One of the most popular and common types of computers, however is the PC. PC is just an abbreviation for Personal Computer.</p>
<h2 id="heading-what-is-a-pc">What is a PC?</h2>
<p>A Personal Computer is a small multi-purpose computing device that contains a CPU (a processor).</p>
<p>It's designed in such a way that it's intended for individual use only – one person at a time.</p>
<p>I'm emphasizing the single-use nature of PCs, as it's in contrast to massive mainframe computers, which were widely used in the earlier days of computing.</p>
<p>A mainframe is a very large and powerful supercomputer, capable of taking up an entire room. Multiple people, even up to hundreds of them, can access and use it at a given moment. </p>
<p>WE use PCs in offices and homes, and each office and home can have multiple personal computers depending on how many people are working/living there.</p>
<p>There are different styles of PCs, and they can run on different Operating Systems.</p>
<p>The most popular type of PC uses the Windows OS.</p>
<h3 id="heading-the-two-types-of-pcs">The two types of PCs</h3>
<p>PCs come in two main categories, depending on their size and how you use them.</p>
<p>There are <em>stationary</em> or desktop computers, and <em>portable</em> or laptop computers.</p>
<p>Stationary PCs are desktop computers. They are relatively large in size and stay in one set place. You might have it in your home office, or in your office at work.</p>
<p>Desktop computers have their internal hardware enclosed in a case (or tower), as mentioned earlier on. They have a separate monitor, keyboard, mouse, and set of speakers.</p>
<p>The stationary PC is the type of PC that people typically think of when referring to the term 'PC'.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2021/11/monitor-silver-with-keyboard-pc.png" alt="Image" width="600" height="400" loading="lazy">
<em><a target="_blank" href="https://freesvg.org/personal-computer-configuration-vector-clip-art">An external monitor, keyboard, and the computer case all make up a 'traditional' PC</a></em></p>
<p>The second category of PCs are the portable ones, such as laptops, tablets, and smartphones.</p>
<p>They are smaller in size, much lighter, and all their important parts come built in – the case, keyboard, and monitor are not separate from each other – rather they are all enclosed in the device.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2021/11/computer-laptop.png" alt="Image" width="600" height="400" loading="lazy">
<em><a target="_blank" href="https://publicdomainvectors.org/en/free-clipart/Vector-image-of-front-view-of-laptop/12973.html">There is an attached monitor, keyboard, and a touchpad which is used instead of a separate mouse</a></em></p>
<h3 id="heading-when-would-you-use-a-desktop-vs-a-portable-pc">When would you use a desktop vs a portable PC?</h3>
<p>Stationary, or desktop, computers are usually very fast and powerful. And they typically have higher performance and better functionality than portable PCs.</p>
<p>In addition, desktops typically cost less and they're cheaper to upgrade.</p>
<p>Users may prefer a desktop computer because they are relatively flexible and versatile. This means you can customise them to best fit and suit your individual needs and tastes.</p>
<p>Desktops are used mostly in enterpise computing and you can do any kind of work using one. They're the computer of choice when you're working from home of from an office, since you can't move them easily.</p>
<p>Desktops are also a popular choice for gaming, as well as for using graphic design and video editing software. This is because they have higher processing power and capabilities which result in higher quality graphics. There is more space available on the screen while working, thanks to the separate monitor.</p>
<p>On the other hand, portable PCs or laptops are the computer of choice for users who often work 'on the go' or are digital nomads. </p>
<p>They are helpful when you want to work while traveling or when you simply want to work from a coffee shop for a day.</p>
<p>Laptops and other portable PCs are also a good choice for students, who can take their work from one class to another.</p>
<p>Laptops typically have a higher price tag both initially and when you want to upgrade them. They're also a bit harder to customise. But their main selling point is definitly their portability.</p>
<p>You can do the same work on a laptop as you would on a desktop computer, such as edit documents and spreadsheets, play games, edit videos, create compelling graphics, and use a variety of software. Just keep in mind that their power is significantly less than that of a desktop computer.</p>
<h2 id="heading-conclusion">Conclusion</h2>
<p>Thanks for reading and making it to the end of the article!</p>
<p>We went over the definition of a computer, the different types of computers, and the parts all computers have in common. </p>
<p>At the end, you learned the basics of Personal Computers – the most popular computers today.</p>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ DAT File – How to Open the .dat File Format Extension ]]>
                </title>
                <description>
                    <![CDATA[ A DAT file is a data file that contains specific information about the program used to create it.  This file always has the .dat file extension, which is a generic format that can contain any information – video, audio, PDF, and virtually any other t... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/dat-file-how-to-open-the-dat-file-format-extension/</link>
                <guid isPermaLink="false">66adf0a37550d4f37c20199f</guid>
                
                    <category>
                        <![CDATA[ Computers ]]>
                    </category>
                
                    <category>
                        <![CDATA[ data ]]>
                    </category>
                
                    <category>
                        <![CDATA[ how-to ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Kolade Chris ]]>
                </dc:creator>
                <pubDate>Mon, 18 Oct 2021 21:05:35 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/news/content/images/2021/10/dat.png" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>A DAT file is a data file that contains specific information about the program used to create it. </p>
<p>This file always has the <code>.dat</code> file extension, which is a generic format that can contain any information – video, audio, PDF, and virtually any other type of file. </p>
<p>Many desktop and mobile apps reference DAT files, so these files would have the .dat extension. And there are many other cases where you might encounter these files.</p>
<p>For video, audio, PDF, and other types of files, you need to open them with relevant apps such as media players, Adobe Reader, and so on. But how do you open a file with the <code>.dat</code> extension? That’s what I’m going to show you in this article.</p>
<h2 id="heading-how-to-open-the-dat-file-format-extension">How to Open the .dat File Format Extension</h2>
<p>To open a file with the .dat extension, first you need to determine what kind of information it contains. Is it a video or audio file, for example? Then you need a media player. Is it a picture? Then your photo app can open it. </p>
<p>Most DAT files contain text, so you can open them with text editors, like Notepad, Notepad++, VS Code, and so on. </p>
<p>But it doesn’t happen directly, so you need to right-click on the file and hover on the “Open with” option:
<img src="https://www.freecodecamp.org/news/content/images/2021/10/ss-1-2.png" alt="ss-1-2" width="600" height="400" loading="lazy"></p>
<p>Choose Notepad, or any other text editor installed on your computer:</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2021/10/notepad.png" alt="notepad" width="600" height="400" loading="lazy"></p>
<p>If the information contained in the DAT file is not plain text and you open it with a text editor, then you will get some irregular text that's not readable, like this:
<img src="https://www.freecodecamp.org/news/content/images/2021/10/unreadable-texts.png" alt="unreadable-texts" width="600" height="400" loading="lazy"></p>
<p>If you are sure the information contained in the DAT file is a video or audio, then your media player can open it. If it's a PDF, then Adobe Reader can open it, and so on. </p>
<p>In the case below, the file I’m going to open is an MP3 file. Right-click on the file and hover on “Open with”, then click “Choose another app”:
<img src="https://www.freecodecamp.org/news/content/images/2021/10/ss-2-6.jpg" alt="ss-2-6" width="600" height="400" loading="lazy"></p>
<p>Click on “More apps”:
<img src="https://www.freecodecamp.org/news/content/images/2021/10/ss-5-1.jpg" alt="ss-5-1" width="600" height="400" loading="lazy"></p>
<p>Check the list for your media player and choose it, then select “OK”:
<img src="https://www.freecodecamp.org/news/content/images/2021/10/ss-6-2.jpg" alt="ss-6-2" width="600" height="400" loading="lazy"></p>
<p>The file will be opened by the media player you chose:
<img src="https://www.freecodecamp.org/news/content/images/2021/10/ss-7-1.png" alt="ss-7-1" width="600" height="400" loading="lazy"></p>
<p>Repeat the process if you are sure of the information the DAT file contains. If it’s a .jpg file, then your photo app will open it, if it is a .pdf file, then Adobe Reader or some other relevant apps can open it.</p>
<h3 id="heading-how-do-you-open-a-dat-file-when-you-dont-know-whats-in-it">How do you open a DAT file when you don't know what's in it?</h3>
<p>If you want to open a DAT file you don’t know what it contains, you may be able to discover what the underlying information is by carefully checking the name of its containing folder. </p>
<p>For example, if you found the DAT file inside a “media” folder, then it might be a video or audio, so your media player can come to the rescue. </p>
<p>If the DAT file is inside a system folder, you shouldn’t attempt to open it, because it could be in use by one of your apps as a configuration file.  </p>
<p>You can also use the trial-and-error method by trying to open it with several apps, or you can contact the creator of the file.</p>
<h3 id="heading-should-you-convert-a-dat-file">Should you Convert a DAT File?</h3>
<p>If you are not sure of what a DAT file contains, then you should not attempt to convert it. </p>
<p>If you are sure of what the file contains, and also the extension, then you can convert it with conversion apps, or by simply changing the file extension to the relevant one.</p>
<h2 id="heading-conclusion">Conclusion</h2>
<p>In this article, you learned how to open a DAT file. But keep in mind that you don’t need to open every DAT file, for example the ones you might encounter in program folders. Such files store specific information used by the program, so you don’t need to open them manually.</p>
<p>Thank you for reading, and have a nice time.</p>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ Computer Basics for Absolute Beginners ]]>
                </title>
                <description>
                    <![CDATA[ Computers can be intimidating, especially if you didn't grow up with them. Some tasks that seem simple to experienced users can seem impossible to new users. We just released a computer and technology basics course on the freeCodeCamp.org YouTube cha... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/computer-basics-for-absolute-beginners/</link>
                <guid isPermaLink="false">66b2016025ef0bb2c5a516f5</guid>
                
                    <category>
                        <![CDATA[ Computers ]]>
                    </category>
                
                    <category>
                        <![CDATA[ youtube ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Beau Carnes ]]>
                </dc:creator>
                <pubDate>Sun, 26 Sep 2021 14:54:00 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/news/content/images/2021/10/computerbasics.png" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>Computers can be intimidating, especially if you didn't grow up with them. Some tasks that seem simple to experienced users can seem impossible to new users.</p>
<p>We just released a computer and technology basics course on the freeCodeCamp.org YouTube channel. This course teaches the basics of computer use and is perfect for beginners and people that want to fill in some gaps on their knowledge.</p>
<p>The Goodwill Community Foundation developed this course. For almost 20 years, their GCFLearnFree.org program has helped millions around the world learn the essential skills they need to live and work in the 21st century.</p>
<p>In this course you’ll learn more about the types of computers and operating systems in use today. You'll also gain a better understanding of the basic parts of a computer, how applications are used, connecting to the Internet, and more.</p>
<p>This computer basics course is full of animations to help you understand the topics.</p>
<p>Here are the topics covered in this course:</p>
<ul>
<li>What Is a Computer?</li>
<li>Buttons and Ports on a Computer</li>
<li>Basic Parts of a Computer</li>
<li>Inside a Computer</li>
<li>Getting to Know Laptop Computers</li>
<li>Understanding Operating Systems</li>
<li>Understanding Applications</li>
<li>Setting Up a Desktop Computer</li>
<li>Connecting to the Internet</li>
<li>What Is the Cloud?</li>
<li>Cleaning Your Computer</li>
<li>Protecting Your Computer</li>
<li>Creating a Safe Workspace</li>
<li>Internet Safety: Your Browser's Security Features</li>
<li>Understanding Spam and Phishing</li>
<li>Understanding Digital Tracking</li>
<li>Windows Basics: Getting Started with the Desktop</li>
<li>Mac OS X Basics: Getting Started with the Desktop</li>
<li>Browser Basics</li>
</ul>
<p>Watch the full course below or <a target="_blank" href="https://youtu.be/i084Z2ImqNI">on the freeCodeCamp.org YouTube channel</a> (1-hour watch).</p>
<div class="embed-wrapper">
        <iframe width="560" height="315" src="https://www.youtube.com/embed/i084Z2ImqNI" style="aspect-ratio: 16 / 9; width: 100%; height: auto;" title="YouTube video player" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen="" loading="lazy"></iframe></div>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ What is an OS? Operating System Definition for Beginners ]]>
                </title>
                <description>
                    <![CDATA[ Developers have long debated what is the best operating system.  Now, if you are active on social media platforms and developer forums you might have come across Twitter polls and endless discussions on platforms like Reddit, StackOverflow, and other... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/what-is-an-os-operating-system-definition-for-beginners/</link>
                <guid isPermaLink="false">66b8dc17041b2e96339f90f9</guid>
                
                    <category>
                        <![CDATA[ beginners guide ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Computer Science ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Computers ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Linux ]]>
                    </category>
                
                    <category>
                        <![CDATA[ macOS ]]>
                    </category>
                
                    <category>
                        <![CDATA[ unix ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Windows ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Hillary Nyakundi ]]>
                </dc:creator>
                <pubDate>Tue, 31 Aug 2021 16:50:03 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/news/content/images/2021/08/uide-to-writting-a-good-readme-file--6-.png" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>Developers have long debated what is the best operating system. </p>
<p>Now, if you are active on social media platforms and developer forums you might have come across Twitter polls and endless discussions on platforms like Reddit, StackOverflow, and others. We haven't come up with a solid answer yet because everybody has their own opinion.</p>
<p>I will promise you one thing here – we won't be answering this question in this article, as trying to answer this question is similar to answering <em>which is the best laptop for a developer to use</em> – we all have different preferencese, right? </p>
<p>But what this article will do is discuss questions like:</p>
<ul>
<li>What is an operating system?</li>
<li>The history of operating systems</li>
<li>How an operating system works</li>
<li>Types and examples of operating systems</li>
<li>Functions of an operating system</li>
<li>Why you need an operating system</li>
</ul>
<p>By answering these questions hopefully you will be in a position to choose the right operating system for your needs. You'll also understand the basics of how an operating system works, and that will be the best OS for you as a developer.</p>
<p>Let's get started:</p>
<h2 id="heading-what-is-an-operating-system">What is an Operating System?</h2>
<p>The recent advancements in technologies, where every gadget is considered a smart device has really revolutionized the world. Almost everyone has access to this devices be it mobile phones, tablets, laptops, smart watches or even your personal computer at home. Also to add to the list the huge rising number of the modern vehicles.</p>
<p>What all the above mentioned have in common is, they use an operating system to enable their functionality for you to achieve a certain task. Despite all this amazing being owned by us, very few of us get to understand how the OS that makes it possible to achieve different tasks is structured.</p>
<p>With this understanding we can describe an Operating System(<em>OS</em>) as a software that manages computer hardware and software resources and provides common services for computer programs.</p>
<p>In simple English we can say an OS is an interface between the user and the machine that makes it easy for the user to achieve different tasks with ease.</p>
<p>Now you have an understanding of what an OS is and also a slight idea of what it does, So! how did it all come into existence, where did it all begin? Let's have a look at it's history</p>
<h2 id="heading-history-of-operating-systems">History of Operating Systems</h2>
<p>It all began back in the 1950s, when computer could only handle one program at a go. During this period users directly interacted with the computer hardware. For a program to be executed it was loaded in an input device like a card reader before execution could begin, and incase of an error during execution the registers and main memory had to be inspected to determine the cause of the error. </p>
<p>When the first operating system was developed by General Motors in 1956 it came as a huge success in the market. It's main purpose was to run a single IBM central computer. Due to it's success, IBM took it forward and became the first company to develop operating systems and began distributing them.</p>
<p>In the 1960s the Bell labs introduced the first version of the Unix OS, it was the first system that could support multi-tasking and multi-user functionality. This system was written in C programming language and was freely available. It was widely accepted and adapted by many users this led to it's official release of the first version in the 70s. </p>
<p>With it's success on early stages it was widely accepted, which led to many operating systems used today borrow their origin from them. Some of the companies with their origin from UNIX include: Mac OS X, iOS, Android, Chrome OS etc...</p>
<p>1977 Apple Dos was introduced in the market. It was designed for home computers and it was a huge success. The designer of this OS was Steve Wozniak. Originally it was designed as a ROM, but in 1978 a first DOS was commissioned and it became a popular software.</p>
<p>Microsoft came into play in the year 1981, where they introduced MS-DOS. After it's launch it was shipped and used for the IBM personal computers. Later on in 1990 Windows 3.0 was launched, this became a rival to Apple's Macintosh GUI. </p>
<p>1992 Windows 3.1x was launched. This operating system introduced several enhancements like improvement in multimedia support and system usability just to list a few. Over the years Microsoft continued to improve their system with betterment from the user's side. The improvement has been seen long way till the recent system we have which is Windows 11.</p>
<p>In March 2008 Apple introduced iPhone OS 1, which was the first iOS for Apple's mobile OS. When the iPhone software development kit (iPhone SDK) was released, the operating system previously known as iPhone OS was later renamed to iOS.</p>
<p>Android OS was released on September 2008. It was developed by Google based on Linux Kernel. By this time Android became the first competitor iOS. </p>
<p>Today Apple, OS X, Windows and various forms of Linux dominate the market of the modern Operating System.</p>
<h2 id="heading-how-an-operating-system-works">How an Operating System Works</h2>
<p>The work-flow of a computer begins when you press the power button on your PC or even your phone. Once the power button is pressed the OS is the first program that runs. </p>
<p>In a real real-life scenario we can compare an OS to the government in a particular country. Just like the way governments offer different directives on services and regulations to run different departments the same way OS controls program executions in a machine.</p>
<p>Another scenario to describe this: If you were to travel to a place that you had never been to before, where they speak a language that you are not familiar with, how will you communicate with the locals? Obviously yo will need a translators help. That's exactly what an OS does in your computer. It converts the computer language into a human understandable language.</p>
<p>Without the help of an OS it will be difficult to run even a single program in a machine actually it will be very complex to execute a single task. With this simple understanding you are able to understand that one of the OS's role is to organize and control hardware and software so that the device it lives in does not only behave in a flexible but also predictable way.</p>
<h2 id="heading-types-of-operating-systems">Types of Operating Systems</h2>
<p>Operating Systems is one of the softwares that have been constantly updated over the past years. Different companies continuously working to provide best of their product to keep up with competitors.</p>
<p><strong>They Include:</strong></p>
<ol>
<li><strong>Real-time Operating System</strong></li>
</ol>
<p>The main aim of this system is executing real-time applications. It gives the maximum time for each of the critical operations that it performs. As a result, it guarantees the events will be processed in a given time.</p>
<p>This OS uses a specialized scheduling algorithms, this is to ensure that it switches tasks according to their priorities so that the deadlines are met for every task.</p>
<p>Some of the commonly known real-time OS include Windows CE, OS-9, and Symbian. Some common application of real-time include air traffic control systems, weapons control systems, industrial control systems, and control machinery.</p>
<ol start="2">
<li><strong>Multi-programming Operating System</strong></li>
</ol>
<p>They are also known as <em>Multi-tasking OS</em>. They are divided into two parts: 
pre-emptive and co-operative. </p>
<p>In pre-emptive the OS divides the CPU time and dedicates a slot to each of the assigned programs. It is similar to the multi-threading. On the other hand Cooperative is achieved by depending on each process to give time to the other processes in a defined manner. It is similar to block multi-threading.</p>
<p>The main goal in multiprogramming operating systems is to improve resource utilization and system throughput and this is achieved through organizing the computing jobs in a manner that ensures that the CPU always has a job to execute at any one time.</p>
<ol start="3">
<li><strong>Batch Operating System</strong></li>
</ol>
<p>The execution of programs is done in batches. Programs are collected, grouped and scheduled for later processing. This ensures faster processing speed for the programs.</p>
<p>Some problems associated with these operating systems include the lack of interaction between the user and the computer, difficulty in prioritizing tasks based on their urgency, and high CPU idle time caused by the low speed of the mechanical input and output devices. A good example of this system is the IBM's z/OS.</p>
<ol start="4">
<li><strong>Distributed Operating System</strong></li>
</ol>
<p>This is OS manages a group of independent machines and makes them appear as a single computer. They use powerful micro-processors that take advantage of the advancement in networking. </p>
<p>Distributed operating systems also ensure that there is a lighter load on the host machine even when performing heavy computations. A group of computers together in a cooperation form a distributed system.</p>
<h2 id="heading-examples-of-operating-systems">Examples of Operating Systems</h2>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/01/fresh.png" alt="OS examples" width="600" height="400" loading="lazy"></p>
<p>Different types of OS means that we will have specific examples for each. Tech companies compete on daily basis to meet their customer's needs be it users of mobile phones, Desktops, laptops or the smart gadgets we have.</p>
<p>Below is a list of the most popular computer and smart-phone operating systems in the market today.</p>
<h3 id="heading-computer-os">Computer OS</h3>
<p><strong>Microsoft Windows</strong>
Developed by Microsoft, It is the most used OS among computer users. It's latest release is Windows 11, with some of it's older versions include: Windows 10, 8.1, 8, 7, Vista. XP and Windows 2000.</p>
<p>To install it you will need to purchase a copy of the software which is accompanied by a uniques product activation key.</p>
<p><strong>Mac OS</strong>
Developed by Apple for Apple computers. This OS comes pre-installed in all Macintosh computers.</p>
<p><strong>Linux</strong>
It is an Open-Source software, which has resulted to many distributions over the past years. It is considered to be used by people who know their way around working with the command line.</p>
<p>Some of it's distributions include: Ubuntu, Parrot, Debian, Arch, Linux Mint, Fedora, Kali Linux, and more.</p>
<p><em>Other rising OS among computer field include: <strong>Chrome OS &amp; Android</strong></em></p>
<h3 id="heading-smart-phone-os">Smart-phone OS</h3>
<p>Some of the most popular include: Android, Apple iOS, Windows Mobile, Blackberry OS, Palm OS, Google pixel and Symbian OS.</p>
<h2 id="heading-functions-of-an-operating-system">Functions of an Operating System</h2>
<p>Speaking of OS functions, has it ever crossed your mind how the computer manages to handle different processes, how different tasks are managed or even implemented?</p>
<p>If this questions have ever crossed your mind, then in this section they will be answered, all this are functions that are being handled by the OS, Let's talk more about the same below:</p>
<ol>
<li><p><strong>Memory Management</strong>
It's the work of the OS to manage the computer memory. With the help of the CPU the OS keeps track of the memory used by a particular program, It will be fair to mention that the OS ensures that each program is allocated enough memory to execute it's process</p>
</li>
<li><p><strong>Process Management</strong>
The OS is responsible for deciding the order in which processes will be executed, this act is known as process scheduling. Process management is made possible with the help of algorithms. Other responsibilities that lie under this category include: keeping status of a process and ensuring each process receives enough time to execute.</p>
</li>
<li><p><strong>Device Management</strong>
It monitors all devices connected to your device, both the input and output devices. It's main function is to ensure that all the connected devices are correctly allocated and function. It also decides which process gets access to a certain device and for how long.</p>
</li>
<li><p><strong>File Management</strong>
As we all know a system do contain multiple and large amount of data. It's the work of the OS to keep track of all this information including their location, accessibility rights, where they are stored, status of the file. It also manages the process of file deletion.</p>
</li>
<li><p><strong>Job Scheduling</strong>
The operating system determines the jobs/tasks that need to be processed first and ensures that these tasks are completed. Usually the one with the highest priority is executed first. It also keeps track of the time and resources used by various tasks and users.</p>
</li>
<li><p><strong>Error Detection &amp; Response</strong>
When a computer is running we are bount to encounter a number of errors, by the computer being able to indicate or show you where this is made possible with the help of the OS. The OS offers helps by a response that guides you on what to do next.</p>
</li>
</ol>
<h2 id="heading-advantages-and-disadvantages-of-operating-systems">Advantages and Disadvantages of Operating Systems</h2>
<p>By this point it is evident that OS plays a big role in our day to day life. It is within our midist either your phone or even you laptop or the PC back at the office.</p>
<p>With the different types we have they all have their benefits and downsides, that's why there will always be new versions released time after time. Let's have a look at some of the pros and cons of an OS.</p>
<h3 id="heading-advantages">Advantages</h3>
<ol>
<li><p><strong>Resource Sharing</strong>
Operating System allows for an opportunity to share resources with other users via services like printers, fax, over the network etc... some of the most commonly shared resources include: files documents, videos, images and apps, mails.</p>
</li>
<li><p><strong>Security</strong>
With the large amount of data stored in the computers it's the responsibility of an OS to make sure all the data present is secure. A good example of an OS actively securing user data is the Microsoft's Windows Defender, it detects malicious and harmful files and removes them or denies access to install.</p>
</li>
<li><p><strong>User Friendly</strong>
The interface provided by the GUI is much more user friendly compared to a command line interface. It comes with various symbols, buttons, menus and other graphical representations which all make them easily understandable. As a result, users can interact and communicate with the machine easily.</p>
</li>
<li><p><strong>Multitasking</strong> 
By using an operating system, users can perform different tasks simultaneously. There is no need to close one window to open another.</p>
</li>
</ol>
<h3 id="heading-disadvantages">Disadvantages</h3>
<ol>
<li><p><strong>Cost</strong>
Unless it is an open-source operating system like Linux and it's distros, most Operating Systems are considered to be expensive. Even though users can choose free versions of them, they typically have limited features.</p>
</li>
<li><p><strong>Virus Attacks</strong>
Just like any other software out there, the risk of viruses is always higher in an operating system. Sometimes users can unknowingly download malicious programs, visit malicious websites, or open email attachments containing viruses, all which can make a computer vulnerable to viruses.</p>
</li>
<li><p><strong>Complexity</strong>
The languages used to develop the OS are more complex for people without programming knowledge. So you can't always quickly resolve problems in the OS just by looking you will have to look for a specialist to help hence maintenance cost rises.</p>
</li>
<li><p><strong>System Failure</strong>
An operating system is the heart of the computer system, and if by any chance, due to any reason, it stops functioning, then the whole system will crash. Meaning without an OS your machine can not function at all.</p>
</li>
</ol>
<h2 id="heading-how-to-choose-an-operating-system">How to Choose an Operating System</h2>
<p>By knowing what to look for when choosing an OS, will have a big impact on your daily interaction with computer. It is always advised to shop keeping in mind the budget at hand and the features you are aspiring for this also depends with your career.</p>
<p>Here are the common actors to consider:</p>
<ol>
<li><p><strong>User-friendliness</strong>
Each OS has a new thing it has to offer, especially for the beginners. Be sure the OS you choose has an easier learning curve and you can easily adapt to it. Linux and it's distributions have always been considered less user friendly to beginners with OS like windows being more friendly.</p>
</li>
<li><p><strong>Software Compatibility</strong>
Be sure to chore an OS that supports installation of the softwares you use on daily basis or even plan to use. A good example is windows system supports a wide variety of commercial softwares unlike Mac which mostly supports softwares from it's library only.</p>
</li>
<li><p><strong>Hardware Configuration</strong>
You'll want to make sure that you'll have access to the software that you use in service delivery. You just need the software that will help you deliver your services. Pick the operating system that has everything that you need with full support and updates.</p>
</li>
<li><p><strong>Cost &amp; Support</strong>
You will need to make sure that the price range is within your budget. Mac generally costs more than most of the others. It is possible to get a cheaper or free OS that effectively serves every purpose you'll need it to serve.</p>
</li>
<li><p><strong>Security</strong>
As discussed from the disadvantages since an OS is just like any other software it's vulnerable to attacks. Be sure to choose an OS that has high security measures. Usually Windows is considered to be more vulnerable due to it's wide market share while Linux distros are considered less vulnerable</p>
</li>
</ol>
<h2 id="heading-wrap-up">Wrap Up</h2>
<p>Perhaps you are still wondering what people's take is on the longest debate about the OS best for developers, well according to many surveys and polls conducted by different organizations windows has always managed to scope the top position: </p>
<p>According to the latest Stack Overflow survey, over 80,000 developers were asked that same question. and here is the overall say:
<img src="https://www.freecodecamp.org/news/content/images/2022/01/operating.png" alt="operating" width="600" height="400" loading="lazy"></p>
<p>There you have it, all the knowledge you require to help you get around the OS topic, having said this hope this article has helped you out and if you are a beginner all the best as you find the best OS for your work.</p>
<p>Enjoy coding ❤.</p>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ SSD Solid State Drive Definition ]]>
                </title>
                <description>
                    <![CDATA[ An SSD, or solid state drive, is a type of storage device for computers. They are sometimes called a solid state device or solid state disk, even though they have no moving parts. Like USB flash drives, SSDs use flash memory to store data. This type ... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/ssd-solid-state-drive-definition/</link>
                <guid isPermaLink="false">66c35fb7add0807b8e3fb92b</guid>
                
                    <category>
                        <![CDATA[ Computers ]]>
                    </category>
                
                    <category>
                        <![CDATA[ hardware ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Tech Terms ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ freeCodeCamp ]]>
                </dc:creator>
                <pubDate>Wed, 21 Apr 2021 09:29:00 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/news/content/images/2021/04/jakob-owens-hvBHiIe6dMw-unsplash.jpg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>An SSD, or solid state drive, is a type of storage device for computers. They are sometimes called a solid state device or solid state disk, even though they have no moving parts.</p>
<p>Like USB flash drives, SSDs use flash memory to store data. This type of storage means that SSDs are very fast, silent, and resistant to shock.</p>
<p>While SSDs have come down in price, they are still much more expensive and often have lower capacities than HDDs (hard disk drives). </p>
<p>SSDs are often inside a computer attached to the motherboard. But there are some external SSDs that connect to the computer with a USB cable.</p>
<p>SSDs are a non-volatile type of storage. This means that, unlike RAM, SSDs will retain any data that's written to them, even after the computer is shut down.</p>
<h2 id="heading-related-tech-terms">Related Tech Terms:</h2>
<ul>
<li><a target="_blank" href="https://www.freecodecamp.org/news/hdd-hard-disk-drive-definition/">HDD Solid State Drive Definition</a></li>
<li><a target="_blank" href="https://www.freecodecamp.org/news/ram-definition/">RAM Definition</a></li>
<li><a target="_blank" href="https://www.freecodecamp.org/news/pram-definition/">PRAM Definition</a></li>
</ul>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ HDD Hard Disk Drive Definition ]]>
                </title>
                <description>
                    <![CDATA[ An HDD, or hard disk drive, is a type of storage device for computers. They are sometimes called a hard disk, hard drive, or fixed drive. HDDs consist of one or more magnetic platters sealed in an air-tight casing to protect it from dust. There is a ... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/hdd-hard-disk-drive-definition/</link>
                <guid isPermaLink="false">66c34c3393db2451bd441472</guid>
                
                    <category>
                        <![CDATA[ Computers ]]>
                    </category>
                
                    <category>
                        <![CDATA[ hardware ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Tech Terms ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ freeCodeCamp ]]>
                </dc:creator>
                <pubDate>Wed, 21 Apr 2021 08:27:00 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/news/content/images/2021/04/denny-muller-1qL31aacAPA-unsplash.jpg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>An HDD, or hard disk drive, is a type of storage device for computers. They are sometimes called a hard disk, hard drive, or fixed drive.</p>
<p>HDDs consist of one or more magnetic platters sealed in an air-tight casing to protect it from dust. There is a magnetic head attached to an arm that moves across the rotating platter and writes data to it. The same magnetic head can also read data that was written to the disk.</p>
<p>HDDs are often inside a computer attached to the motherboard, or in an external case connected by a USB cable.</p>
<p>While HDDs are much slower than modern SSDs (solid state drives), they can have higher capacities, and are often cheaper. Because storage is cheaper for HDDs, they are often used to store data that isn't used often, or as long term backup.</p>
<p>HDDs are a non-volatile type of storage. This means that, unlike RAM, HDDs will retain any data that's written to them, even after you shut down the computer.</p>
<h2 id="heading-related-tech-terms">Related Tech Terms:</h2>
<ul>
<li><a target="_blank" href="https://www.freecodecamp.org/news/ssd-solid-state-drive-definition/">SSD Solid State Drive Definition</a></li>
<li><a target="_blank" href="https://www.freecodecamp.org/news/ram-definition/">RAM Definition</a></li>
<li><a target="_blank" href="https://www.freecodecamp.org/news/pram-definition/">PRAM Definition</a></li>
</ul>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ RAM Definition ]]>
                </title>
                <description>
                    <![CDATA[ RAM, or random access memory, is a special type of computer memory. RAM stores important information that the computer needs to access often so that everything runs smoothly. All modern computers and phones need some amount of RAM to function. Though... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/ram-definition/</link>
                <guid isPermaLink="false">66c35d4556d1719c395f319f</guid>
                
                    <category>
                        <![CDATA[ Computers ]]>
                    </category>
                
                    <category>
                        <![CDATA[ hardware ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Tech Terms ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ freeCodeCamp ]]>
                </dc:creator>
                <pubDate>Wed, 21 Apr 2021 07:11:00 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/news/content/images/2021/04/harrison-broadbent-ING1Uf1Fc30-unsplash.jpg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>RAM, or random access memory, is a special type of computer memory.</p>
<p>RAM stores important information that the computer needs to access often so that everything runs smoothly. All modern computers and phones need some amount of RAM to function.</p>
<p>Though computers and other devices have other forms of storage like an HDD (hard disk drive) or SSD (solid state drive), RAM is much faster. In fact, RAM is about 30 times faster than modern SSDs.</p>
<p>While RAM is very fast, it is a type of volatile memory. This means that it only stores information while the computer is on. Unlike an HDD or SSD, once you shut down your computer, everything stored in RAM is lost.</p>
<h2 id="heading-related-tech-terms">Related Tech Terms:</h2>
<ul>
<li><a target="_blank" href="https://www.freecodecamp.org/news/pram-definition/">PRAM Definition</a></li>
<li><a target="_blank" href="https://www.freecodecamp.org/news/hdd-hard-disk-drive-definition/">HDD Hard Disk Drive Definition</a></li>
<li><a target="_blank" href="https://www.freecodecamp.org/news/ssd-solid-state-drive-definition/">SSD Solid State Drive Definition</a></li>
</ul>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ PRAM Definition ]]>
                </title>
                <description>
                    <![CDATA[ PRAM, or parameter random access memory, is a special type of battery powered RAM for older Mac computers. Modern Mac computers don't use PRAM. Instead, they use NVRAM, or non-volatile random access memory. But PRAM and NVRAM serve the same function.... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/pram-definition/</link>
                <guid isPermaLink="false">66c35cbfb8711219e1e72dc3</guid>
                
                    <category>
                        <![CDATA[ Computers ]]>
                    </category>
                
                    <category>
                        <![CDATA[ hardware ]]>
                    </category>
                
                    <category>
                        <![CDATA[ mac ]]>
                    </category>
                
                    <category>
                        <![CDATA[ macOS ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Tech Terms ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ freeCodeCamp ]]>
                </dc:creator>
                <pubDate>Wed, 21 Apr 2021 06:05:00 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/news/content/images/2021/04/julian-hochgesang-dc-I7GCibzs-unsplash.jpg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>PRAM, or parameter random access memory, is a special type of battery powered RAM for older Mac computers.</p>
<p>Modern Mac computers don't use PRAM. Instead, they use NVRAM, or non-volatile random access memory.</p>
<p>But PRAM and NVRAM serve the same function. They both store some important information about your system like the startup disk, timezone, and so on.</p>
<p>If you're having some issues with your Mac computer, you may want to reset the PRAM / NVRAM. Here's how to do that:</p>
<ol>
<li>Shut down your Mac computer</li>
<li>Turn on the computer, and immediately hold down these keys: Option + Command + P + R</li>
<li>Hold down the keys until you hear the startup sound after about 20 seconds</li>
</ol>
<p>Here's a video that goes over how to reset the PRAM / NVRAM and SMC (system management controller):</p>
<div class="embed-wrapper">
        <iframe width="560" height="315" src="https://www.youtube.com/embed/N5laIcLMnJU" style="aspect-ratio: 16 / 9; width: 100%; height: auto;" title="YouTube video player" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen="" loading="lazy"></iframe></div>
<h2 id="heading-related-tech-terms">Related Tech Terms:</h2>
<ul>
<li><a target="_blank" href="https://www.freecodecamp.org/news/macintosh-definition/">Macintosh Definition</a></li>
<li><a target="_blank" href="https://www.freecodecamp.org/news/ram-definition/">RAM Definition</a></li>
</ul>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ Ping Definition ]]>
                </title>
                <description>
                    <![CDATA[ In computer science, networking, and gaming, ping can refer to a few different things. Most commonly ping refers to the act of sending a packet or signal to another device and listening for a response. This is usually done to measure the speed of the... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/ping-definition/</link>
                <guid isPermaLink="false">66c35c9971e87702d4e5b724</guid>
                
                    <category>
                        <![CDATA[ computer networking ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Computers ]]>
                    </category>
                
                    <category>
                        <![CDATA[ network ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Tech Terms ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ freeCodeCamp ]]>
                </dc:creator>
                <pubDate>Tue, 20 Apr 2021 06:33:00 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/news/content/images/2021/04/alina-grubnyak-ZiQkhI7417A-unsplash.jpg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>In computer science, networking, and gaming, ping can refer to a few different things.</p>
<p>Most commonly ping refers to the act of sending a packet or signal to another device and listening for a response. This is usually done to measure the speed of the network, or to determine the status of a computer or server.</p>
<p>The term ping was coined in the early 1980s by Mike Muuss, who chose the word because of its similarities to the way sonar works and sounds. Muuss also developed the first ping program to diagnose network issues.</p>
<p>A version of the ping program should be installed by default on all modern operating systems.</p>
<p>To use ping, just open the command line for your system and type <code>ping</code> followed by an IP address or a host name, then press enter. To exit the ping utility, just press CTRL + C.</p>
<p>For example, if you run <code>ping www.freecodecamp.org</code>, you'll see something like this:</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2021/04/image-109.png" alt="Image" width="600" height="400" loading="lazy"></p>
<p><img src="https://www.freecodecamp.org/news/content/images/2021/04/image-110.png" alt="Image" width="600" height="400" loading="lazy"></p>
<p>Each line shows information for each probe or ping packet that's sent out. Some of the post important information is at the end of the line. This shows the time in milliseconds it took to send out a packet and receive it back from the other server or computer.</p>
<p>And when you stop the ping utility, you'll see a summary of all the ping attempts:</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2021/04/image-111.png" alt="Image" width="600" height="400" loading="lazy"></p>
<p>Ping can also refer to the latency or response time of a network itself. This definition is usually used in online gaming, where ping represents the response time between the gaming client (a console or PC), and the game's servers.</p>
<p>In this context, high ping (&gt;= 150ms) means that there will be a large delay between a player's action in the game and the game's response. And low ping (around 20-50ms) means that the time between a player's action and the game's response is minimal.</p>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ CPU Definition ]]>
                </title>
                <description>
                    <![CDATA[ A CPU, or central processing unit, is the brain of the computer. Like a human brain, the CPU controls all the functions of the computer. The CPU's job is to listen for input data from devices like a mouse or other software. Then it looks up instructi... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/cpu-definition/</link>
                <guid isPermaLink="false">66c347e912c88d894ffd1f60</guid>
                
                    <category>
                        <![CDATA[ Computers ]]>
                    </category>
                
                    <category>
                        <![CDATA[ cpu ]]>
                    </category>
                
                    <category>
                        <![CDATA[ hardware ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Tech Terms ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ freeCodeCamp ]]>
                </dc:creator>
                <pubDate>Tue, 06 Apr 2021 06:35:00 +0000</pubDate>
                <media:content url="https://cdn-media-2.freecodecamp.org/w1280/60753bc2776bd507fe31ed0c.jpg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>A CPU, or central processing unit, is the brain of the computer.</p>
<p>Like a human brain, the CPU controls all the functions of the computer.</p>
<p>The CPU's job is to listen for input data from devices like a mouse or other software. Then it looks up instructions for that data, and executes those instructions.</p>
<p>For example, if you type the character "a" on your computer, your CPU will look up how to handle your button press. Once it receives instructions back, it executes your button press, and sends out the output "a".</p>
<p>Modern CPUs can handle billions, or even trillions of these instructions per second.</p>
<p>CPUs are made up of tens of thousands of tiny rods called transistors. Each transistor has either an on (yes) or off (no) state, and form the basis of binary that all computers work with.</p>
<p>With enough transistors asking these simple yes/no questions, the CPU can perform complex tasks.</p>
<p>Modern CPUs are often made up of different cores that make it easier to multitask. Each core is just another CPU on the same chip. </p>
<p>For example, a dual-core CPU has two CPUs on the same chip. These days there are quad-core (4), hexa-core (6), or even hexadeca-core (16) CPUs.</p>
<p>Modern CPUs can also use a process called multi-threading or hyper-threading to be more efficient. This is the process of splitting a CPU up into virtual cores called threads.</p>
<p>For example, if you have a dual-core processor, you might see four cores if you check your computer's system monitor.</p>
<p>These physical cores and virtual cores / threads can make your computer much faster in some cases.</p>
<p>Games usually work better on a single, powerful core. But other programs like video editing software is much faster with more cores and threads.</p>
<p>Check out this video for a high-level overview of how the CPU handles all the inputs and outputs for your computer:</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2021/04/image-48.png" alt="Image" width="600" height="400" loading="lazy"></p>
<div class="embed-wrapper">
        <iframe width="560" height="315" src="https://www.youtube.com/embed/AkFi90lZmXA" style="aspect-ratio: 16 / 9; width: 100%; height: auto;" title="YouTube video player" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen="" loading="lazy"></iframe></div>
<h2 id="heading-related-tech-terms">Related Tech Terms:</h2>
<ul>
<li><a target="_blank" href="https://www.freecodecamp.org/news/hardware-definition/">Hardware Definition</a></li>
<li><a target="_blank" href="https://www.freecodecamp.org/news/operating-system-os-definition/">Operating System Definition</a></li>
<li><a target="_blank" href="https://www.freecodecamp.org/news/boolean-definition/">Boolean Definition</a></li>
</ul>
 ]]>
                </content:encoded>
            </item>
        
    </channel>
</rss>
