<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url>
    <loc>https://www.noruj.com/tutorials</loc>
    <lastmod>2026-06-20T13:55:34.140Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.noruj.com/tutorials/mastering-sql-with-postgresql</loc>
    <lastmod>2026-06-20T01:18:21.050Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.noruj.com/tutorials/mastering-sql-with-postgresql/chapter-1-relational-database-basics/lesson-1-1-relational-database-concepts</loc>
    <lastmod>2026-06-20T01:18:20.769Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.noruj.com/tutorials/mastering-sql-with-postgresql/chapter-1-relational-database-basics/lesson-1-2-the-retail-data-model</loc>
    <lastmod>2026-06-20T01:18:20.773Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.noruj.com/tutorials/mastering-sql-with-postgresql/chapter-1-relational-database-basics/lesson-1-3-keys-relationships</loc>
    <lastmod>2026-06-20T01:18:20.778Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.noruj.com/tutorials/mastering-sql-with-postgresql/chapter-1-relational-database-basics/lesson-1-4-reading-entity-relationship-er-diagrams</loc>
    <lastmod>2026-06-20T01:18:20.783Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.noruj.com/tutorials/mastering-sql-with-postgresql/chapter-1-relational-database-basics/lesson-1-5-setting-up-postgresql-and-query-tools</loc>
    <lastmod>2026-06-20T01:18:20.788Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.noruj.com/tutorials/mastering-sql-with-postgresql/chapter-2-your-first-select-queries/lesson-2-1-the-select-statement</loc>
    <lastmod>2026-06-20T01:18:20.793Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.noruj.com/tutorials/mastering-sql-with-postgresql/chapter-2-your-first-select-queries/lesson-2-2-column-expressions-arithmetic</loc>
    <lastmod>2026-06-20T01:18:20.797Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.noruj.com/tutorials/mastering-sql-with-postgresql/chapter-2-your-first-select-queries/lesson-2-3-column-aliases</loc>
    <lastmod>2026-06-20T01:18:20.802Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.noruj.com/tutorials/mastering-sql-with-postgresql/chapter-2-your-first-select-queries/lesson-2-4-type-casting-basic-string-manipulation</loc>
    <lastmod>2026-06-20T01:18:20.805Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.noruj.com/tutorials/mastering-sql-with-postgresql/chapter-2-your-first-select-queries/lesson-2-5-distinct-distinct-on</loc>
    <lastmod>2026-06-20T01:18:20.809Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.noruj.com/tutorials/mastering-sql-with-postgresql/chapter-3-filtering-data/lesson-3-1-where-clause-basics</loc>
    <lastmod>2026-06-20T01:18:20.814Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.noruj.com/tutorials/mastering-sql-with-postgresql/chapter-3-filtering-data/lesson-3-2-combining-filters-and-or-not</loc>
    <lastmod>2026-06-20T01:18:20.819Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.noruj.com/tutorials/mastering-sql-with-postgresql/chapter-3-filtering-data/lesson-3-4-pattern-matching-like-ilike-regex</loc>
    <lastmod>2026-06-20T01:18:20.823Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.noruj.com/tutorials/mastering-sql-with-postgresql/chapter-3-filtering-data/lesson-3-3-in-not-in-and-between</loc>
    <lastmod>2026-06-20T01:18:20.830Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.noruj.com/tutorials/mastering-sql-with-postgresql/chapter-3-filtering-data/lesson-3-5-handling-null-values</loc>
    <lastmod>2026-06-20T01:18:20.834Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.noruj.com/tutorials/mastering-sql-with-postgresql/chapter-4-date-and-time-operations/lesson-4-1-date-time-types-intervals</loc>
    <lastmod>2026-06-20T01:18:20.839Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.noruj.com/tutorials/mastering-sql-with-postgresql/chapter-4-date-and-time-operations/lesson-4-2-date-comparisons-and-range-queries</loc>
    <lastmod>2026-06-20T01:18:20.842Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.noruj.com/tutorials/mastering-sql-with-postgresql/chapter-4-date-and-time-operations/lesson-4-3-extracting-date-components</loc>
    <lastmod>2026-06-20T01:18:20.846Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.noruj.com/tutorials/mastering-sql-with-postgresql/chapter-4-date-and-time-operations/lesson-4-4-truncating-dates</loc>
    <lastmod>2026-06-20T01:18:20.853Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.noruj.com/tutorials/mastering-sql-with-postgresql/chapter-4-date-and-time-operations/lesson-4-5-age-calculations-and-timezones</loc>
    <lastmod>2026-06-20T01:18:20.858Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.noruj.com/tutorials/mastering-sql-with-postgresql/chapter-5-aggregating-grouping-data/lesson-5-1-aggregate-functions</loc>
    <lastmod>2026-06-20T01:18:20.862Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.noruj.com/tutorials/mastering-sql-with-postgresql/chapter-5-aggregating-grouping-data/lesson-5-2-count-details</loc>
    <lastmod>2026-06-20T01:18:20.865Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.noruj.com/tutorials/mastering-sql-with-postgresql/chapter-5-aggregating-grouping-data/lesson-5-3-aggregates-and-null-values</loc>
    <lastmod>2026-06-20T01:18:20.869Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.noruj.com/tutorials/mastering-sql-with-postgresql/chapter-5-aggregating-grouping-data/lesson-5-4-postgresql-filter-clause</loc>
    <lastmod>2026-06-20T01:18:20.873Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.noruj.com/tutorials/mastering-sql-with-postgresql/chapter-5-aggregating-grouping-data/lesson-5-5-grouping-aggregates-with-group-by</loc>
    <lastmod>2026-06-20T01:18:20.876Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.noruj.com/tutorials/mastering-sql-with-postgresql/chapter-6-grouping-deep-dive/lesson-6-1-multi-column-group-by</loc>
    <lastmod>2026-06-20T01:18:20.880Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.noruj.com/tutorials/mastering-sql-with-postgresql/chapter-6-grouping-deep-dive/lesson-6-2-grouping-by-computed-expressions</loc>
    <lastmod>2026-06-20T01:18:20.884Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.noruj.com/tutorials/mastering-sql-with-postgresql/chapter-6-grouping-deep-dive/lesson-6-3-the-group-by-golden-rule</loc>
    <lastmod>2026-06-20T01:18:20.888Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.noruj.com/tutorials/mastering-sql-with-postgresql/chapter-6-grouping-deep-dive/lesson-6-4-filtering-groups-with-having</loc>
    <lastmod>2026-06-20T01:18:20.892Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.noruj.com/tutorials/mastering-sql-with-postgresql/chapter-6-grouping-deep-dive/lesson-6-5-rollup-cube-and-grouping-sets</loc>
    <lastmod>2026-06-20T01:18:20.896Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.noruj.com/tutorials/mastering-sql-with-postgresql/chapter-7-sql-logical-execution-order/lesson-7-1-order-of-writing-vs-order-of-execution</loc>
    <lastmod>2026-06-20T01:18:20.901Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.noruj.com/tutorials/mastering-sql-with-postgresql/chapter-7-sql-logical-execution-order/lesson-7-2-execution-phases-from-to-having</loc>
    <lastmod>2026-06-20T01:18:20.905Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.noruj.com/tutorials/mastering-sql-with-postgresql/chapter-7-sql-logical-execution-order/lesson-7-3-execution-phases-select-to-limit</loc>
    <lastmod>2026-06-20T01:18:20.907Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.noruj.com/tutorials/mastering-sql-with-postgresql/chapter-7-sql-logical-execution-order/lesson-7-4-why-select-aliases-fail-in-where</loc>
    <lastmod>2026-06-20T01:18:20.910Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.noruj.com/tutorials/mastering-sql-with-postgresql/chapter-7-sql-logical-execution-order/lesson-7-5-order-by-deep-dive</loc>
    <lastmod>2026-06-20T01:18:20.914Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.noruj.com/tutorials/mastering-sql-with-postgresql/chapter-8-subqueries/lesson-8-1-introduction-to-subqueries</loc>
    <lastmod>2026-06-20T01:18:20.918Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.noruj.com/tutorials/mastering-sql-with-postgresql/chapter-8-subqueries/lesson-8-2-subqueries-in-where</loc>
    <lastmod>2026-06-20T01:18:20.921Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.noruj.com/tutorials/mastering-sql-with-postgresql/chapter-8-subqueries/lesson-8-3-correlated-subqueries</loc>
    <lastmod>2026-06-20T01:18:20.924Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.noruj.com/tutorials/mastering-sql-with-postgresql/chapter-8-subqueries/lesson-8-4-exists-vs-in</loc>
    <lastmod>2026-06-20T01:18:20.927Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.noruj.com/tutorials/mastering-sql-with-postgresql/chapter-8-subqueries/lesson-8-5-derived-tables-and-scalar-subqueries</loc>
    <lastmod>2026-06-20T01:18:20.930Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.noruj.com/tutorials/mastering-sql-with-postgresql/chapter-9-joining-tables/lesson-9-1-how-joins-work-conceptually</loc>
    <lastmod>2026-06-20T01:18:20.934Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.noruj.com/tutorials/mastering-sql-with-postgresql/chapter-9-joining-tables/lesson-9-2-inner-join</loc>
    <lastmod>2026-06-20T01:18:20.937Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.noruj.com/tutorials/mastering-sql-with-postgresql/chapter-9-joining-tables/lesson-9-3-left-join-right-join</loc>
    <lastmod>2026-06-20T01:18:20.941Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.noruj.com/tutorials/mastering-sql-with-postgresql/chapter-9-joining-tables/lesson-9-4-full-outer-join-cross-join</loc>
    <lastmod>2026-06-20T01:18:20.946Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.noruj.com/tutorials/mastering-sql-with-postgresql/chapter-9-joining-tables/lesson-9-5-self-join</loc>
    <lastmod>2026-06-20T01:18:20.950Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.noruj.com/tutorials/mastering-sql-with-postgresql/chapter-10-database-views-systems/lesson-10-1-what-is-a-view</loc>
    <lastmod>2026-06-20T01:18:20.956Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.noruj.com/tutorials/mastering-sql-with-postgresql/chapter-10-database-views-systems/lesson-10-2-creating-querying-and-dropping-views</loc>
    <lastmod>2026-06-20T01:18:20.959Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.noruj.com/tutorials/mastering-sql-with-postgresql/chapter-10-database-views-systems/lesson-10-3-querying-system-catalogs</loc>
    <lastmod>2026-06-20T01:18:20.963Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.noruj.com/tutorials/mastering-sql-with-postgresql/chapter-10-database-views-systems/lesson-10-4-materialized-views</loc>
    <lastmod>2026-06-20T01:18:20.966Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.noruj.com/tutorials/mastering-sql-with-postgresql/chapter-10-database-views-systems/lesson-10-5-view-security</loc>
    <lastmod>2026-06-20T01:18:20.969Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.noruj.com/tutorials/mastering-sql-with-postgresql/chapter-11-common-table-expressions-ctes/lesson-11-1-intro-to-ctes</loc>
    <lastmod>2026-06-20T01:18:20.972Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.noruj.com/tutorials/mastering-sql-with-postgresql/chapter-11-common-table-expressions-ctes/lesson-11-2-chaining-multiple-ctes</loc>
    <lastmod>2026-06-20T01:18:20.975Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.noruj.com/tutorials/mastering-sql-with-postgresql/chapter-11-common-table-expressions-ctes/lesson-11-3-recursive-ctes</loc>
    <lastmod>2026-06-20T01:18:20.978Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.noruj.com/tutorials/mastering-sql-with-postgresql/chapter-11-common-table-expressions-ctes/lesson-11-4-writable-ctes</loc>
    <lastmod>2026-06-20T01:18:20.981Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.noruj.com/tutorials/mastering-sql-with-postgresql/chapter-11-common-table-expressions-ctes/lesson-11-5-ctes-vs-views-vs-subqueries</loc>
    <lastmod>2026-06-20T01:18:20.985Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.noruj.com/tutorials/mastering-sql-with-postgresql/chapter-12-window-functions/lesson-12-1-intro-to-window-functions</loc>
    <lastmod>2026-06-20T01:18:20.989Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.noruj.com/tutorials/mastering-sql-with-postgresql/chapter-12-window-functions/lesson-12-2-partitioning-windows</loc>
    <lastmod>2026-06-20T01:18:20.993Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.noruj.com/tutorials/mastering-sql-with-postgresql/chapter-12-window-functions/lesson-12-3-ordered-windows-and-frame-clauses</loc>
    <lastmod>2026-06-20T01:18:20.997Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.noruj.com/tutorials/mastering-sql-with-postgresql/chapter-12-window-functions/lesson-12-4-running-totals-and-cumulative-aggregates</loc>
    <lastmod>2026-06-20T01:18:21.001Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.noruj.com/tutorials/mastering-sql-with-postgresql/chapter-12-window-functions/lesson-12-5-offset-functions</loc>
    <lastmod>2026-06-20T01:18:21.005Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.noruj.com/tutorials/mastering-sql-with-postgresql/chapter-13-ranking-analytics/lesson-13-1-row-number</loc>
    <lastmod>2026-06-20T01:18:21.010Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.noruj.com/tutorials/mastering-sql-with-postgresql/chapter-13-ranking-analytics/lesson-13-2-rank-vs-dense-rank</loc>
    <lastmod>2026-06-20T01:18:21.014Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.noruj.com/tutorials/mastering-sql-with-postgresql/chapter-13-ranking-analytics/lesson-13-3-ntile</loc>
    <lastmod>2026-06-20T01:18:21.019Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.noruj.com/tutorials/mastering-sql-with-postgresql/chapter-13-ranking-analytics/lesson-13-4-percent-rank-and-cume-dist</loc>
    <lastmod>2026-06-20T01:18:21.023Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.noruj.com/tutorials/mastering-sql-with-postgresql/chapter-13-ranking-analytics/lesson-13-5-capstone-project-multi-dimensional-sales-leaderboard</loc>
    <lastmod>2026-06-20T01:18:21.027Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.noruj.com/tutorials/mastering-sql-with-postgresql/chapter-14-performance-indexing-transactions/lesson-14-1-reading-query-plans</loc>
    <lastmod>2026-06-20T01:18:21.031Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.noruj.com/tutorials/mastering-sql-with-postgresql/chapter-14-performance-indexing-transactions/lesson-14-2-scan-types</loc>
    <lastmod>2026-06-20T01:18:21.035Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.noruj.com/tutorials/mastering-sql-with-postgresql/chapter-14-performance-indexing-transactions/lesson-14-3-b-tree-indexes</loc>
    <lastmod>2026-06-20T01:18:21.039Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.noruj.com/tutorials/mastering-sql-with-postgresql/chapter-14-performance-indexing-transactions/lesson-14-4-jsonb-querying-and-gin-indexes</loc>
    <lastmod>2026-06-20T01:18:21.043Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.noruj.com/tutorials/mastering-sql-with-postgresql/chapter-14-performance-indexing-transactions/lesson-14-5-transactions-and-concurrency</loc>
    <lastmod>2026-06-20T01:18:21.047Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.noruj.com/tutorials/learn-python-by-building-projects</loc>
    <lastmod>2026-05-06T08:34:05.667Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.noruj.com/tutorials/learn-python-by-building-projects/chapter-1-setup-first-steps-getting-comfortable/lesson-1-hello-python-your-first-script</loc>
    <lastmod>2026-04-10T12:51:29.513Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.noruj.com/tutorials/learn-python-by-building-projects/chapter-1-setup-first-steps-getting-comfortable/lesson-2-personal-profile-generator-mini-cli-project</loc>
    <lastmod>2026-04-10T13:03:57.747Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.noruj.com/tutorials/learn-python-by-building-projects/chapter-1-setup-first-steps-getting-comfortable/lesson-3-tip-calculator-math-numbers-project</loc>
    <lastmod>2026-04-10T13:17:44.061Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.noruj.com/tutorials/learn-python-by-building-projects/chapter-1-setup-first-steps-getting-comfortable/lesson-4-choose-your-path-interactive-story-project</loc>
    <lastmod>2026-04-10T13:47:02.776Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.noruj.com/tutorials/learn-python-by-building-projects/chapter-2-core-basics-logic-loops-functions/lesson-1-number-guessing-game-beginner-complete</loc>
    <lastmod>2026-04-11T00:03:28.314Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.noruj.com/tutorials/learn-python-by-building-projects/chapter-2-core-basics-logic-loops-functions/lesson-2-rock-paper-scissors-score-replay</loc>
    <lastmod>2026-04-11T00:13:47.474Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.noruj.com/tutorials/learn-python-by-building-projects/chapter-2-core-basics-logic-loops-functions/lesson-3-menu-calculator-functions-loop-menu</loc>
    <lastmod>2026-04-11T00:20:13.207Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.noruj.com/tutorials/learn-python-by-building-projects/chapter-2-core-basics-logic-loops-functions/lesson-4-password-generator-strings-random-options</loc>
    <lastmod>2026-04-11T00:27:05.404Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.noruj.com/tutorials/learn-python-by-building-projects/chapter-2-core-basics-logic-loops-functions/lesson-5-countdown-timer-for-loops-time</loc>
    <lastmod>2026-04-11T00:32:00.704Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.noruj.com/tutorials/learn-python-by-building-projects/chapter-3-data-structures-lists-dictionaries-sets/lesson-1-quiz-game-lists-loops-score</loc>
    <lastmod>2026-04-11T05:04:04.083Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.noruj.com/tutorials/learn-python-by-building-projects/chapter-3-data-structures-lists-dictionaries-sets/lesson-2-shopping-list-manager-list-crud-menu</loc>
    <lastmod>2026-04-11T05:13:06.465Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.noruj.com/tutorials/learn-python-by-building-projects/chapter-3-data-structures-lists-dictionaries-sets/lesson-3-contact-book-dictionary-crud-menu</loc>
    <lastmod>2026-04-12T03:53:49.925Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.noruj.com/tutorials/learn-python-by-building-projects/chapter-3-data-structures-lists-dictionaries-sets/lesson-4-word-counter-dictionary-frequency-project</loc>
    <lastmod>2026-04-12T21:55:27.161Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.noruj.com/tutorials/learn-python-by-building-projects/chapter-3-data-structures-lists-dictionaries-sets/lesson-5-hangman-strings-sets-game-state</loc>
    <lastmod>2026-04-12T22:03:13.003Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.noruj.com/tutorials/learn-python-by-building-projects/chapter-4-files-data-text-files-json-csv/lesson-1-notes-app-save-notes-to-a-text-file</loc>
    <lastmod>2026-04-12T22:10:11.826Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.noruj.com/tutorials/learn-python-by-building-projects/chapter-4-files-data-text-files-json-csv/lesson-2-todo-list-save-tasks-to-json</loc>
    <lastmod>2026-04-12T22:16:00.714Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.noruj.com/tutorials/learn-python-by-building-projects/chapter-4-files-data-text-files-json-csv/lesson-3-contact-book-v2-save-contacts-to-json</loc>
    <lastmod>2026-04-12T22:28:21.592Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.noruj.com/tutorials/learn-python-by-building-projects/chapter-4-files-data-text-files-json-csv/lesson-4-expense-tracker-save-to-csv</loc>
    <lastmod>2026-04-12T22:34:46.111Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.noruj.com/tutorials/learn-python-by-building-projects/chapter-4-files-data-text-files-json-csv/lesson-5-mini-data-report-read-a-file-print-a-summary</loc>
    <lastmod>2026-04-12T22:37:41.712Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.noruj.com/tutorials/learn-python-by-building-projects/chapter-5-debugging-clean-code-testing-beginner-friendly/lesson-1-input-validation-toolkit-reusable-helpers</loc>
    <lastmod>2026-04-13T08:59:30.275Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.noruj.com/tutorials/learn-python-by-building-projects/chapter-5-debugging-clean-code-testing-beginner-friendly/lesson-2-error-handling-patterns-tryexcept-done-right</loc>
    <lastmod>2026-04-17T14:04:12.194Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.noruj.com/tutorials/learn-python-by-building-projects/chapter-5-debugging-clean-code-testing-beginner-friendly/lesson-3-debugging-basics-read-errors-fix-bugs</loc>
    <lastmod>2026-04-17T14:09:34.543Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.noruj.com/tutorials/learn-python-by-building-projects/chapter-5-debugging-clean-code-testing-beginner-friendly/lesson-4-intro-to-testing-with-pytest-test-your-calculator</loc>
    <lastmod>2026-04-17T14:13:35.101Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.noruj.com/tutorials/learn-python-by-building-projects/chapter-6-oop-object-oriented-programming-through-projects/lesson-1-bank-account-simulator-your-first-class</loc>
    <lastmod>2026-04-17T23:49:09.041Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.noruj.com/tutorials/learn-python-by-building-projects/chapter-6-oop-object-oriented-programming-through-projects/lesson-2-library-system-multiple-classes-working-together</loc>
    <lastmod>2026-04-17T23:58:17.526Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.noruj.com/tutorials/learn-python-by-building-projects/chapter-6-oop-object-oriented-programming-through-projects/lesson-3-deck-of-cards-modeling-shuffle-deal</loc>
    <lastmod>2026-04-18T13:49:59.726Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.noruj.com/tutorials/learn-python-by-building-projects/chapter-6-oop-object-oriented-programming-through-projects/lesson-4-inventory-manager-oop-json-savingloading</loc>
    <lastmod>2026-04-18T13:53:00.144Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.noruj.com/tutorials/learn-python-by-building-projects/chapter-7-practical-python-apis-automation-sqlite-mini-app/lesson-1-weather-cli-api-json</loc>
    <lastmod>2026-04-18T14:01:08.286Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.noruj.com/tutorials/learn-python-by-building-projects/chapter-7-practical-python-apis-automation-sqlite-mini-app/lesson-2-github-profile-viewer-api-clean-output</loc>
    <lastmod>2026-04-18T14:04:04.622Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.noruj.com/tutorials/learn-python-by-building-projects/chapter-7-practical-python-apis-automation-sqlite-mini-app/lesson-3-file-organizer-automation-with-pathlib</loc>
    <lastmod>2026-04-18T14:08:29.079Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.noruj.com/tutorials/learn-python-by-building-projects/chapter-7-practical-python-apis-automation-sqlite-mini-app/lesson-4-sqlite-habit-tracker-database-crud</loc>
    <lastmod>2026-04-18T14:12:42.602Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.noruj.com/tutorials/learn-python-by-building-projects/chapter-7-practical-python-apis-automation-sqlite-mini-app/lesson-5-capstone-task-manager-sqlite-beginner-friendly-professional</loc>
    <lastmod>2026-04-18T14:19:56.875Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
</urlset>