<rss version="2.0">
  <channel>
    <title>Computing Map</title>
    <link>http://www.computingmap.com:5042/</link>
    <description><![CDATA[This is a study guide of Computer Science and Coding I'm building for myself and anyone interested in the matter.]]></description>
    <item>
      <title>The Best VSCode Extensions</title>
      <link>http://www.computingmap.com:5042/tools/vscode/best-extensions</link>
      <description><![CDATA[<h2>Live Server</h2>
<p>It launchs a development local web server with live reload feature for static &amp; dynamic pages.</p>
<p><a href="https://marketplace.visualstudio.com/items?itemName=ritwickdey.LiveServer">Live Server</a></p>
<h2>Nuget Package Manager GUI</h2>
<p>It lets you update, remove, and install packages from NuGet server for .NET projects using a graphical user interface.</p>
<p><a href="https://marketplace.visualstudio.com/items?itemName=aliasadidev.nugetpackagemanagergui">Nuget Package Manager GUI</a></p>
<h2>REST Client</h2>
<p>This extension allows you to send HTTP requests and view their responses directly from Visual Studio Code.</p>
<p><a href="https://marketplace.visualstudio.com/items?itemName=humao.rest-client">REST Client</a></p>
]]></description>
      <pubDate>Thu, 13 Jun 2024 11:12:27 GMT</pubDate>
      <guid isPermaLink="true">http://www.computingmap.com:5042/tools/vscode/best-extensions</guid>
    </item>
    <item>
      <title>Working With Nuget Packages</title>
      <link>http://www.computingmap.com:5042/frameworks/dotnet/working-with-nuget-packages-cli</link>
      <description><![CDATA[<h2>Using .NET CLI</h2>
<h3>List Installed Nuget Packages</h3>
<p>You can list all the Nuget packages installed with the "dotnet list packages" command:</p>
<pre><code class="language-bash">dotnet list package
</code></pre>
<h3>List Outdated Nuget Packages</h3>
<p>To see only the outdated packages, use the --outdated option:</p>
<pre><code class="language-bash">dotnet list package --outdated
</code></pre>
<h3>List Outdated Nuget Packages</h3>
<p>Append the "--include-prerelease" option to consider prerelease versions:</p>
<pre><code class="language-bash">dotnet list package --include-prerelease
</code></pre>
<h3>Add Nuget Packages</h3>
<p>To add a new package, use the "dotnet add package" command:</p>
<pre><code class="language-bash">dotnet add package &lt;package_name&gt;
</code></pre>
<p>It automatically installs the latest version of the package, but if you need a specific version of a package, append the -v or --version switch to the command:</p>
<pre><code class="language-bash">dotnet add package &lt;package_name&gt; -v &lt;version&gt;
</code></pre>
<p>Sometimes you need to specify the source of the Nuget package:</p>
<pre><code class="language-bash">dotnet add package &lt;package_name&gt; --source https://api.nuget.org/v3/index.json
</code></pre>
<h3>Update Nuget Packages</h3>
<p>To update a Nuget package, use the "dotnet add package" as well.</p>
<pre><code class="language-bash">dotnet add package &lt;package_name&gt;
</code></pre>
<h3>Restore Packages</h3>
<p>The "dotnet run" and "dotnet build" commands automatically restores packages, but if you want explicitly restore them use the "dotnet restore" command:</p>
<pre><code class="language-bash">dotnet restore
</code></pre>
<h3>Remove Packages</h3>
<pre><code class="language-bash">dotnet remove package &lt;package_name&gt;
</code></pre>
<h2>Using VS Code Extensions</h2>
<p>There are some extensions that allows you to manage the Nuget packages directly from Visual Studio Code. I use this one: <a href="https://marketplace.visualstudio.com/items?itemName=aliasadidev.nugetpackagemanagergui">NuGet Package Manager GUI</a></p>
<p>Among many features, it allows you to add, update and remove multiple packages at once.</p>
<p>You can install it from the VS Code Marketplace <a href="https://marketplace.visualstudio.com/items?itemName=aliasadidev.nugetpackagemanagergui">NuGet Package Manager GUI</a>.</p>
<p>To use it, open the Command Palette (<code>Ctrl+Shift+P</code> on Windows or <code>Command+Shift+P</code> on Mac) and then select <code>&gt; NuGet Package Manager GUI</code></p>
<p>To update all packages:</p>
<ol>
<li>Click Load Package Versions</li>
<li>Click Update All Packages</li>
</ol>
<h2>References</h2>
<p><a href="https://learn.microsoft.com/en-us/dotnet/core/tools/dotnet-nuget-add-source">Add a NuGet source</a></p>
<p><a href="https://learn.microsoft.com/en-us/nuget/create-packages/overview-and-workflow">Create Packages</a></p>
<p><a href="https://learn.microsoft.com/en-us/nuget/consume-packages/reinstalling-and-updating-packages">Reinstall and update NuGet packages in Visual Studio</a></p>
<p><a href="https://marketplace.visualstudio.com/items?itemName=aliasadidev.nugetpackagemanagergui">Nuget Package Manager GUI extension</a></p>
]]></description>
      <pubDate>Thu, 13 Jun 2024 10:41:37 GMT</pubDate>
      <guid isPermaLink="true">http://www.computingmap.com:5042/frameworks/dotnet/working-with-nuget-packages-cli</guid>
    </item>
    <item>
      <title>Most Used Git Commands</title>
      <link>http://www.computingmap.com:5042/map/tools/git/most-used-git-commands</link>
      <description><![CDATA[<h2>The Most Used Git Commands</h2>
<table>
<thead>
<tr>
<th>Command</th>
<th>Description</th>
<th>How to use it</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>git add</strong></td>
<td>Add a file to the staging area (stage file changes for a commit)</td>
<td><code>git add file1 file2 file3</code> or <code>git add .</code></td>
</tr>
<tr>
<td><strong>git branch</strong></td>
<td>List, create, or delete branches.</td>
<td>git branch --list <em>(list branches, the current branch is highlighted in green)</em> &lt;br&gt; git branch <em>(list branches, the current branch is highlighted in green)</em> &lt;br&gt; git branch hotfix1 <em>(create a branch called hotfix1)</em>&lt;br&gt;git branch -d hotfix1 <em>(delete branch called hotfix1 if it is merged with the main branch; -D forces deletion)</em> &lt;br&gt; git branch -m master main <em>(rename local branch from master to main)</em></td>
</tr>
<tr>
<td><strong>git checkout</strong></td>
<td>Switch to another branch.</td>
<td>git checkout hotfix1&lt;br&gt;git checkout main&lt;br&gt;git checkout -b hotfix2 <em>(create a branch hotfix2 if it doesn't exist and switch to it)</em>&lt;br&gt;git checkout -B hotfix2 <em>(create a branch hotfix2 if it doesn't exist, otherwise it is reset, and then switch to it)</em> &lt;br&gt;git checkout e50c8e30ba79b6c6753d9b8fd9d74120a914e0b0</td>
</tr>
<tr>
<td><strong>git clean</strong></td>
<td>Undo changes on untracked files and directories.</td>
<td>git clean -di</td>
</tr>
<tr>
<td><strong>git clone</strong></td>
<td>Create a local copy of a remote repository.</td>
<td>git clone <a href="https://github.com/your_username/your_project.git%7C">https://github.com/your_username/your_project.git|</a></td>
</tr>
<tr>
<td><strong>git commit</strong></td>
<td>Save changes to the repository.</td>
<td>git commit -m "Some explanation"</td>
</tr>
<tr>
<td><strong>git config</strong></td>
<td></td>
<td>git config --list <em>(list all config parameters)</em>&lt;br&gt;git config --list --show-origin <em>(list all config parameters and their origins)</em>&lt;br&gt;git config core.editor&lt;br&gt;git config user.name&lt;br&gt;git config user.email&lt;br&gt;git config --global user.email&lt;br&gt;git config --system user.email&lt;br&gt;git config --global credential.helper wincred&lt;br&gt;git config --global init.defaultBranch main</td>
</tr>
<tr>
<td><strong>git diff</strong></td>
<td>Show the difference between the working directory and the staging area for a file.</td>
<td>git diff file1</td>
</tr>
<tr>
<td><strong>git init</strong></td>
<td>Create a local repository.</td>
<td>git init</td>
</tr>
<tr>
<td><strong>git log</strong></td>
<td>Show a list of previous commits.</td>
<td></td>
</tr>
<tr>
<td><strong>git merge</strong></td>
<td>Integrate changes from one branch into another branch.</td>
<td>git merge <em>branch_name</em> (integrates changes from <em>branch_name</em> into the current branch)</td>
</tr>
<tr>
<td><strong>git mv</strong></td>
<td>Rename or move a file without losing its commit history.</td>
<td>git mv <em>old_file_name</em> <em>new_file_name</em></td>
</tr>
<tr>
<td><strong>git push</strong></td>
<td>Update remote refs(?)</td>
<td>git push origin <em>branch_name</em> &lt;br&gt;git push origin --delete <em>branch_name (delete a remote branch!)</em></td>
</tr>
<tr>
<td><strong>git pull</strong></td>
<td></td>
<td>git pull origin <em>(updates the local repository)</em> &lt;br&gt;git pull origin master <em>(updates the local repository)</em> &lt;br&gt;git pull origin <em>some_branch (updates the local repository with a branch code)</em></td>
</tr>
<tr>
<td><strong>git rebase</strong></td>
<td>Integrate changes from one branch into another branch.</td>
<td></td>
</tr>
<tr>
<td><strong>git remote</strong></td>
<td>Display, include or update a repository's remote.</td>
<td>git remote&lt;br&gt;git remote -v&lt;br&gt;git remote add origin <a href="https://github.com/your_username/your_project.git">https://github.com/your_username/your_project.git</a> <em>(add a remote repository)</em>&lt;br&gt;git remote set-url origin <a href="https://github.com/your_username/your_project.git">https://github.com/your_username/your_project.git</a> <em>(update a remote repository)</em> &lt;br&gt;git remote remove origin</td>
</tr>
<tr>
<td><strong>git restore</strong></td>
<td>Get rid of changes on working area.</td>
<td>git restore <em>file1</em> <em>file2</em> file3&lt;br&gt;git restore .</td>
</tr>
<tr>
<td><strong>git status</strong></td>
<td></td>
<td>git status</td>
</tr>
</tbody>
</table>
<hr>
<h3>Reminders</h3>
<hr>
<p>The default branch name for repositories created with the <code>git init</code> command is <code>master</code>. You can change the default using the <code>git config</code> command:</p>
<pre><code class="language-git">git config --global init.defaultBranch main
</code></pre>
<p>You can also rename existing "master" branches through the <code>git branch</code> command:</p>
<pre><code class="language-git">git branch -m master main
</code></pre>
<p>In Git, "origin" is a shorthand name for the remote repository a project was cloned from.</p>
<p>HEAD is the current commit a repository in on. Usually it is the latest commit, but when you checkout a branch at a specific commit HEAD points to that commit (in other words HEAD is not the tip of the branch anymore) and the HEAD is called detached.</p>
<p>Both git rebase and git merge integrate changes from one branch into another branch, but they do it in different ways. Use the golden rule of rebasing: never use it on public branches.</p>
<p>Untracked files are files that have been created within your repo's working directory but have not yet been added to the repository's tracking index using the git add command.</p>
<h3>References</h3>
<p><a href="https://www.atlassian.com/git/tutorials/merging-vs-rebasing">Merging vs. rebasing</a></p>
<p><a href="https://git-scm.com/book/en/v2/Git-Branching-Basic-Branching-and-Merging">Git Branching - Basic Branching and Merging</a></p>
<p><a href="https://nvie.com/posts/a-successful-git-branching-model/">A successful Git branching model</a></p>
<p><a href="https://developer.exoplatform.org/#id-branching-model">Branching model</a></p>
<p><a href="https://www.atlassian.com/git/tutorials/undoing-changes/git-clean">Git Clean</a></p>
<p><a href="https://www.git-tower.com/learn/git/faq/git-rename-master-to-main">Rename Master to Main</a></p>
]]></description>
      <pubDate>Sun, 05 May 2024 15:53:02 GMT</pubDate>
      <guid isPermaLink="true">http://www.computingmap.com:5042/map/tools/git/most-used-git-commands</guid>
    </item>
    <item>
      <title>Data Pipeline: the minimum you need to know</title>
      <link>http://www.computingmap.com:5042/bigdata/data-pipelines-intro</link>
      <description><![CDATA[<h1>Data Pipeline: the minimum you need to know</h1>
<p>A data pipeline is a set of processes that automate the flow of data from one point to another. It typically involves the extraction of data from various sources, the transformation of that data into a format that is more useful for analysis, and the loading of the transformed data into a destination for storage or further processing. Data pipelines are fundamental components in data engineering, enabling the efficient and automated movement and transformation of large volumes of data, which is essential for data analysis, business intelligence, machine learning models, and other data-driven applications.</p>
<h3>Components of a Data Pipeline</h3>
<ol>
<li><strong>Data Source</strong>: The origin where data is generated or stored. It could be databases, data lakes, APIs, or other external systems.</li>
<li><strong>Data Extraction</strong>: The process of retrieving data from the source systems. This can involve querying databases, calling APIs, or reading files.</li>
<li><strong>Data Transformation</strong>: The process of cleaning, aggregating, enriching, and converting data into a format or structure suitable for analysis. This may involve filtering, sorting, joining, summarization, and more complex operations like machine learning model inference.</li>
<li><strong>Data Storage</strong>: After transformation, data is loaded into a storage system, which could be a database, a data warehouse, or a data lake, depending on the use case.</li>
<li><strong>Data Consumption</strong>: The end use of the processed data, which may include analytics, reporting, data visualization, or feeding into machine learning models.</li>
</ol>
<h3>Types of Data Pipelines</h3>
<ul>
<li><strong>Batch Data Pipelines</strong>: Process data in large, discrete chunks at scheduled times. Suitable for scenarios where real-time processing is not required.</li>
<li><strong>Real-Time Data Pipelines</strong>: Stream data continuously and process it with minimal latency, allowing for near-instant data availability. Ideal for time-sensitive applications like fraud detection or live dashboards.</li>
<li><strong>Hybrid Data Pipelines</strong>: Combine elements of both batch and real-time processing to meet complex requirements.</li>
</ul>
<h3>Designing a Data Pipeline</h3>
<ol>
<li><strong>Define Objectives</strong>: Clearly understand the business and technical objectives the pipeline aims to achieve.</li>
<li><strong>Select Technologies</strong>: Choose the right tools and technologies based on the volume, velocity, and variety of data, as well as the complexity of processing required.</li>
<li><strong>Data Modeling</strong>: Design how data will be structured and stored at various stages of the pipeline.</li>
<li><strong>Error Handling</strong>: Implement robust error handling and recovery processes to manage failures gracefully.</li>
<li><strong>Monitoring and Alerting</strong>: Set up systems to monitor data flow and pipeline performance, with alerts for any issues.</li>
<li><strong>Security and Compliance</strong>: Ensure data is encrypted, access is controlled, and all processing complies with relevant regulations.</li>
</ol>
<h3>Best Practices</h3>
<ul>
<li><strong>Automate as much as possible</strong> to reduce manual intervention and errors.</li>
<li><strong>Keep the pipeline flexible and scalable</strong> to handle increases in data volume and complexity.</li>
<li><strong>Implement quality checks</strong> to ensure the integrity and accuracy of the data.</li>
<li><strong>Document the pipeline</strong> thoroughly, including data sources, transformations, and dependencies, for easier maintenance and troubleshooting.</li>
</ul>
<h3>Tools and Technologies</h3>
<p>Numerous tools and platforms can be used to build data pipelines, ranging from managed cloud services like AWS Data Pipeline, Google Cloud Dataflow, and Azure Data Factory, to open-source frameworks like Apache Airflow, Apache Kafka for real-time streaming, and Apache Spark for large-scale data processing.</p>
<h3>Conclusion</h3>
<p>Data pipelines are crucial for transforming raw data into valuable insights and information that can drive decision-making and business strategies. By automating the data flow, organizations can ensure their data is accurate, timely, and ready for analysis, thereby unlocking the full potential of their data assets.</p>
]]></description>
      <pubDate>Tue, 13 Feb 2024 21:01:43 GMT</pubDate>
      <guid isPermaLink="true">http://www.computingmap.com:5042/bigdata/data-pipelines-intro</guid>
    </item>
    <item>
      <title>Mac OS Shortcut Keys</title>
      <link>http://www.computingmap.com:5042/map/operating-systems/macos/shortcut-keys</link>
      <description><![CDATA[<p>"Command" is the key with a ⌘ symbol.</p>
<hr>
<h2>Basics</h2>
<hr>
<table>
<thead>
<tr>
<th>Shortcut Keys</th>
<th>What it does</th>
<th>Procedure</th>
</tr>
</thead>
<tbody>
<tr>
<td>Command + A</td>
<td>Select All</td>
<td>Press and hold Command, and A keys together.</td>
</tr>
<tr>
<td>Command + C</td>
<td>Copy</td>
<td>Press and hold Command, and C keys together.</td>
</tr>
<tr>
<td>Command + X</td>
<td>Cut</td>
<td>Press and hold Command, and X keys together.</td>
</tr>
<tr>
<td>Command + V</td>
<td>Paste</td>
<td>Press and hold Command, and V keys together.</td>
</tr>
<tr>
<td>Command + S</td>
<td>Save</td>
<td>Press and hold Command, and S keys together.</td>
</tr>
<tr>
<td>Command + Shift + S</td>
<td>Save As</td>
<td>Press and hold Command, Shift, and S keys together.</td>
</tr>
<tr>
<td>Command + Z</td>
<td>Undo</td>
<td>Press and hold Command, and Z keys together.</td>
</tr>
<tr>
<td>Command + Y</td>
<td>Redo</td>
<td>Press and hold Command, and + keys together.</td>
</tr>
<tr>
<td>Command + R</td>
<td>Reload Page</td>
<td>Press and hold Command, and R keys together.</td>
</tr>
<tr>
<td>Command + H</td>
<td>Hide</td>
<td>Press and hold Command, and H keys together.</td>
</tr>
<tr>
<td>Command + M</td>
<td>Minimize</td>
<td>Press and hold Command, and M keys together.</td>
</tr>
<tr>
<td>Command + N</td>
<td>New</td>
<td>Press and hold Command, and N keys together.</td>
</tr>
<tr>
<td>Command + O</td>
<td>Open a File</td>
<td>Press and hold Command, and O keys together.</td>
</tr>
<tr>
<td>Command + P</td>
<td>Print</td>
<td>Press and hold Command, and P keys together.</td>
</tr>
<tr>
<td>Command + F</td>
<td>Find</td>
<td>Press and hold Command, and F keys together.</td>
</tr>
<tr>
<td>Command + G</td>
<td>Find Next</td>
<td>Press and hold Command, and G keys together.</td>
</tr>
<tr>
<td>Command + +</td>
<td>Zoom In</td>
<td>Press and hold Command, and + keys together.</td>
</tr>
<tr>
<td>Command + -</td>
<td>Zoom Out</td>
<td>Press and hold Command, and - keys together.</td>
</tr>
<tr>
<td>Command + 0</td>
<td>Reset Zoom</td>
<td>Press and hold Command, and 0 keys together.</td>
</tr>
<tr>
<td>Command + ,</td>
<td>App Settings</td>
<td>Press and hold Command, and , keys together.</td>
</tr>
</tbody>
</table>
<hr>
<h2>Screen Capture or Recording</h2>
<hr>
<table>
<thead>
<tr>
<th>Shortcut Keys</th>
<th>What it does</th>
<th>Procedure</th>
</tr>
</thead>
<tbody>
<tr>
<td>Shift + Command + 3</td>
<td>Take a screenshot</td>
<td>Press and hold Shift, Command, and 3 keys together. Click on a thumbnail in the corner of your screen to edit the screenshot or wait for the screenshot to save to your desktop.</td>
</tr>
<tr>
<td>Shift + Command + 4</td>
<td>Capture a portion of the screen</td>
<td>Press and hold Shift, Command, and 4 keys together. Drag the crosshair to select the area of the screen to capture. To move the selection, press and hold Space bar while dragging. To cancel taking the screenshot, press the Esc key. Release your mouse or trackpad button to take the screenshot. If you see a thumbnail in the corner of your screen, click it to edit the screenshot or wait for the screenshot to save to your desktop.</td>
</tr>
<tr>
<td>Shift + Command + 4 + Space</td>
<td>Capture a window or menu</td>
<td>Press and hold Shift, Command, 4, and space keys together. The pointer changes to a camera icon. To cancel taking the screenshot, press the Esc key. Click the window or menu to capture it. To exclude the window's shadow from the screenshot, press and hold the Option key while you click. If you see a thumbnail in the corner of your screen, click it to edit the screenshot or wait for the screenshot to save to your desktop.</td>
</tr>
<tr>
<td>Shift + Command + 5</td>
<td>Open screenshot tools</td>
<td>Press and hold Shift, Command and 5 keys together to open Screenshot and display the tools (Screenshot panel). Click a tool to use to select what you want to capture or record. For a portion of the screen, drag the frame to reposition it or drag its edges to adjust the size of the area you want to capture or record.</td>
</tr>
<tr>
<td>Shift + Command + 6</td>
<td>Capture the Touch Bar</td>
<td>Press and hold Shift, Command and 6 keys together.</td>
</tr>
</tbody>
</table>
<hr>
<h2>Finder App</h2>
<hr>
<table>
<thead>
<tr>
<th>Shortcut Keys</th>
<th>What it does</th>
<th>Procedure</th>
</tr>
</thead>
<tbody>
<tr>
<td>Command + Shift + A</td>
<td>Go to Applications</td>
<td>Press and hold Command, Shift, and A keys together when you are using the Finder app.</td>
</tr>
<tr>
<td>Command + Shift + C</td>
<td>Go to Computer</td>
<td>Press and hold Command, Shift, and C keys together when you are using the Finder app.</td>
</tr>
<tr>
<td>Command + Shift + F</td>
<td>Go to Recents</td>
<td>Press and hold Command, Shift, and F keys together when you are using the Finder app.</td>
</tr>
<tr>
<td>Command + Shift + G</td>
<td>Go to Folder</td>
<td>Press and hold Command, Shift, and G keys together when you are using the Finder app.</td>
</tr>
<tr>
<td>Command + Shift + H</td>
<td>Go to Home</td>
<td>Press and hold Command, Shift, and H keys together when you are using the Finder app.</td>
</tr>
<tr>
<td>Command + Shift + I</td>
<td>Go to iCloud</td>
<td>Press and hold Command, Shift, and I keys together when you are using the Finder app.</td>
</tr>
</tbody>
</table>
<hr>
<h2>Preview App</h2>
<hr>
<table>
<thead>
<tr>
<th>Shortcut Keys</th>
<th>What it does</th>
<th>Procedure</th>
</tr>
</thead>
<tbody>
<tr>
<td>Control + Command + A</td>
<td>Place an Arrow at the center of an image</td>
<td>Press and hold Control, Command, and A keys together when you are using the Preview app.</td>
</tr>
</tbody>
</table>
<hr>
<h2>VS Code</h2>
<hr>
<table>
<thead>
<tr>
<th>Shortcut Keys</th>
<th>What it does</th>
<th>Procedure</th>
</tr>
</thead>
<tbody>
<tr>
<td>Command + UP</td>
<td>Go to the beginning of a file/document</td>
<td>Press and hold Command, and Up keys together when you are using VS Code.</td>
</tr>
<tr>
<td>Command + DOWN</td>
<td>Go to the end of a file/document</td>
<td>Press and hold Command, and Up keys together when you are using VS Code.</td>
</tr>
<tr>
<td>Control + <code>`</code></td>
<td>Switch between file editing and terminal</td>
<td>Press and hold Control, and <code>`</code> keys together when you are using VS Code.</td>
</tr>
</tbody>
</table>
]]></description>
      <pubDate>Sun, 05 May 2024 14:56:46 GMT</pubDate>
      <guid isPermaLink="true">http://www.computingmap.com:5042/map/operating-systems/macos/shortcut-keys</guid>
    </item>
    <item>
      <title>Data Structures and Algorithms (DSA)</title>
      <link>http://www.computingmap.com:5042/map/dsa</link>
      <description><![CDATA[<p>Every software engineer should know about Data Structures and Algorithms because these subjects are the essential toolbox of our craft.</p>
<p>Algorithms go hand in hand with data structures, which is why they are taught together.</p>
<h3>What is an Algorithm?</h3>
<hr>
<blockquote>
<p>An algorithm is a finite set of unambiguous instructions to solve a problem.</p>
</blockquote>
<p>We can give an algorithm in many ways, like a diagram or in a natural language like English. However, the software engineer is interested in algorithms specified in an appropriate mathematical formalism, such as programming languages.</p>
<p>There are multiple algorithms for solving the same problem. Algorithm Analysis helps us to determine which algorithm is the most efficient in terms of time and space consumed.</p>
<h3>What is a Data Structure?</h3>
<hr>
<p>A data structure is a way of organizing data for algorithms to process them efficiently.</p>
<h2>Variables</h2>
<hr>
<p>A variable is a name that holds a value.</p>
<p>Example:</p>
<p>x = 10</p>
<p>Computer programs operate over data stored in computer memory, but writing programs that work directly with memory positions is hard for humans. We are all familiar with variables in algebra equations, where letters like x and y represent values in expressions. So, using variables was the way computer scientists found to make data representation easier in algorithms.</p>
<h3>Algorithm Design</h3>
<hr>
<p>When creating an algorithm, the main concern is to find out if it is correct, i.e., if it gives a solution in a finite number of steps. Then we can analyze it according to its efficiency, i.e., how much memory and time it takes to execute it.</p>
<p>Work in progress. Updated on 1/8/2</p>
]]></description>
      <pubDate>Wed, 18 Jan 2023 01:10:49 GMT</pubDate>
      <guid isPermaLink="true">http://www.computingmap.com:5042/map/dsa</guid>
    </item>
  </channel>
</rss>