<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url>
    <loc>https://courses.pattygcoding.com/</loc>
    <changefreq>weekly</changefreq>
    <priority>1.0</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/dotnet/</loc>
    <changefreq>weekly</changefreq>
    <priority>0.9</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/dotnet/what-the-platform-provides/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/dotnet/the-generic-host/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/dotnet/configuration-and-options/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/dotnet/dependency-injection/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/dotnet/a-first-http-endpoint/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/dotnet/routing-and-route-templates/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/dotnet/model-binding-and-validation/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/dotnet/the-request-pipeline/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/dotnet/error-handling-and-problem-details/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/dotnet/json-and-content-negotiation/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/dotnet/setting-up-entity-framework-core/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/dotnet/models-and-migrations/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/dotnet/querying-and-change-tracking/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/dotnet/transactions-and-concurrency/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/dotnet/logging-and-structured-events/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/dotnet/health-checks-and-readiness/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/dotnet/authentication-and-authorisation/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/dotnet/caching/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/dotnet/rate-limiting-and-timeouts/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/dotnet/testing-endpoints/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/dotnet/real-dependencies-in-tests/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/dotnet/configuration-in-tests/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/dotnet/a-container-image/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/dotnet/publish-settings-for-a-service/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/dotnet/continuous-integration/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/dotnet/observability/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/express/</loc>
    <changefreq>weekly</changefreq>
    <priority>0.9</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/fastapi/</loc>
    <changefreq>weekly</changefreq>
    <priority>0.9</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/spring-boot/</loc>
    <changefreq>weekly</changefreq>
    <priority>0.9</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/spring-boot/what-spring-boot-is/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/spring-boot/starting-a-project/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/spring-boot/the-application-context-and-beans/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/spring-boot/dependency-injection-and-configuration-properties/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/spring-boot/a-first-rest-controller/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/spring-boot/request-mapping-and-parameters/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/spring-boot/validating-request-bodies/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/spring-boot/error-responses-and-problem-details/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/spring-boot/json-records-and-the-boundary/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/spring-boot/jdbc-and-the-datasource/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/spring-boot/jpa-entities-and-repositories/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/spring-boot/querying-and-fetching/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/spring-boot/migrations-and-transactions/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/spring-boot/configuration-profiles-and-secrets/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/spring-boot/configuring-the-web-layer/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/spring-boot/spring-security-basics/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/spring-boot/authorization-and-method-security/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/spring-boot/actuator-health-and-metrics/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/spring-boot/testing-with-slices/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/spring-boot/testing-against-a-real-database/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/spring-boot/packaging-and-the-container-image/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/spring-boot/operating-the-service/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/react/</loc>
    <changefreq>weekly</changefreq>
    <priority>0.9</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/vue/</loc>
    <changefreq>weekly</changefreq>
    <priority>0.9</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/csharp/</loc>
    <changefreq>weekly</changefreq>
    <priority>0.9</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/csharp/how-csharp-runs/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/csharp/sdk-and-project-layout/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/csharp/the-type-system-at-a-glance/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/csharp/nullable-reference-types/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/csharp/records-and-structs/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/csharp/enums-and-constants/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/csharp/conversions-and-casting/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/csharp/equality-and-hashing/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/csharp/operators-and-null-handling/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/csharp/conditionals-and-switch-expressions/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/csharp/pattern-matching/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/csharp/loops-and-iteration/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/csharp/delegates-and-lambdas/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/csharp/classes-and-members/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/csharp/constructors-and-initialisation/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/csharp/properties-and-fields/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/csharp/inheritance-and-polymorphism/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/csharp/interfaces-and-abstract-classes/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/csharp/generics/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/csharp/collections/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/csharp/linq-basics/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/csharp/linq-in-practice/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/csharp/strings-and-text/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/csharp/dates-and-time/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/csharp/exceptions/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/csharp/custom-exceptions/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/csharp/disposable-and-using/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/csharp/tasks-and-async-await/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/csharp/async-in-practice/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/csharp/cancellation/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/csharp/when-not-to-go-async/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/csharp/unit-testing-with-xunit/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/csharp/warnings-and-analysers/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/csharp/publishing-a-console-tool/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/java/</loc>
    <changefreq>weekly</changefreq>
    <priority>0.9</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/java/how-java-runs/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/java/toolchains-and-versions/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/java/build-tools-maven-and-gradle/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/java/project-layout-and-packages/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/java/the-standard-library-and-the-api-docs/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/java/primitives-wrappers-and-autoboxing/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/java/classes-records-and-enums/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/java/inheritance-and-polymorphism/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/java/interfaces-and-abstract-classes/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/java/generics-and-type-erasure/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/java/pattern-matching-and-switch/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/java/equality-hashing-and-tostring/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/java/immutable-objects-and-builders/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/java/absent-values-and-optional/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/java/strings-and-text-blocks/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/java/numbers-money-and-time/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/java/comparisons-and-ordering/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/java/lists-maps-and-sets/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/java/choosing-a-collection/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/java/iterators-and-for-each/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/java/streams/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/java/collectors-and-grouping/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/java/parallel-streams-and-when-not-to-use-them/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/java/exceptions/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/java/custom-exceptions-and-translation/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/java/resources-files-and-nio/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/java/logging-and-diagnostics/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/java/lambdas-and-functional-interfaces/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/java/method-references/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/java/composing-functions-predicates-and-comparators/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/java/default-methods-and-shared-behaviour/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/java/threads-and-executors/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/java/thread-safety-and-shared-state/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/java/concurrent-collections-and-atomics/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/java/completable-future/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/java/virtual-threads/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/java/timeouts-cancellation-and-shutdown/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/java/unit-tests-with-junit-5/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/java/parameterised-tests-and-fixtures/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/java/test-doubles-and-mocking/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/java/coverage-lints-and-static-analysis/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/java/memory-and-garbage-collection/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/java/jit-compilation-and-warmup/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/java/profiling-with-the-jdk-tools/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/javascript/</loc>
    <changefreq>weekly</changefreq>
    <priority>0.9</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/javascript/how-javascript-runs/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/javascript/versions-and-support/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/javascript/running-scripts-and-the-repl/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/javascript/packages-and-package-json/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/javascript/modules-and-imports/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/javascript/primitives-and-objects/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/javascript/coercion-and-equality/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/javascript/numbers-integers-and-bigint/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/javascript/strings-and-unicode/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/javascript/symbols-and-the-well-known-symbols/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/javascript/freezing-copying-and-cloning/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/javascript/functions-and-parameters/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/javascript/declarations-hoisting-and-scope/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/javascript/closures/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/javascript/this-and-binding/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/javascript/higher-order-functions/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/javascript/recursion-and-the-call-stack/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/javascript/currying-composition-and-pipelines/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/javascript/object-literals-and-computed-keys/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/javascript/property-descriptors-and-accessors/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/javascript/prototypes-and-the-prototype-chain/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/javascript/classes-and-private-fields/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/javascript/destructuring-and-optional-chaining/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/javascript/map-set-and-the-weak-collections/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/javascript/json-and-serialisation/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/javascript/control-flow-and-loops/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/javascript/iterables-and-for-of/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/javascript/errors-and-stack-traces/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/javascript/error-handling-patterns/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/javascript/regular-expressions/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/javascript/debugging/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/javascript/arrays-and-mutation/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/javascript/array-iteration-methods/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/javascript/reshaping-data/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/javascript/sorting-comparison-and-formatting/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/javascript/typed-arrays-and-binary-data/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/javascript/immutable-update-patterns/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/javascript/generators/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/javascript/async-generators-and-streaming/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/javascript/proxies-and-reflection/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/javascript/dates-times-and-durations/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/javascript/locale-aware-text/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/javascript/the-event-loop-and-timers/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/javascript/callbacks-and-timing/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/javascript/promises/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/javascript/async-and-await/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/javascript/limiting-concurrency/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/javascript/cancellation-with-abortsignal/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/javascript/async-mistakes/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/javascript/testing-with-node-test/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/javascript/test-doubles-fixtures-and-time/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/javascript/linting-formatting-and-types/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/javascript/performance-and-profiling/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/javascript/memory-leaks-and-weak-references/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/javascript/objects-keys-and-untrusted-input/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/javascript/code-in-strings/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/javascript/publishing-a-package/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/javascript/the-browser-and-node/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/javascript/idioms-and-traps/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/javascript/working-with-older-javascript/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/javascript/where-to-go-next/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/python/</loc>
    <changefreq>weekly</changefreq>
    <priority>0.9</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/python/how-python-runs/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/python/installing-and-versions/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/python/the-repl-and-docs/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/python/virtual-environments/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/python/names-and-objects/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/python/numbers/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/python/strings-and-bytes/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/python/string-formatting/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/python/truthiness-and-none/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/python/operators/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/python/conditionals/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/python/while-loops/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/python/for-loops/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/python/pattern-matching/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/python/lists-and-slices/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/python/tuples-and-named-tuples/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/python/dictionaries/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/python/sets/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/python/comprehensions/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/python/sorting-and-copying/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/python/defining-functions/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/python/argument-forms/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/python/closures-and-scope/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/python/decorators/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/python/functools-and-type-hints/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/python/classes/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/python/method-kinds/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/python/inheritance-and-mro/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/python/properties-and-slots/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/python/dunder-methods/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/python/dataclasses/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/python/exceptions/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/python/raising-and-chaining/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/python/context-managers/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/python/logging-and-debugging/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/python/files-and-paths/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/python/text-encodings/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/python/json-and-csv/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/python/datetime/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/python/regular-expressions/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/python/iterators/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/python/generators/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/python/itertools/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/python/collections-module/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/python/functional-tools/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/python/modules-and-packages/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/python/the-import-system/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/python/packaging-a-project/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/python/linting-and-type-checks/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/python/pytest-basics/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/python/fixtures-and-parametrize/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/python/testing-that-pays-off/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/python/asyncio/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/python/threads-and-the-gil/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/python/profiling-and-performance/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/python/memory-and-object-overhead/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/python/descriptors/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/python/metaclasses/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/python/typing-generics-and-protocols/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/python/idioms-and-common-traps/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/python/the-standard-library-tour/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/rust/</loc>
    <changefreq>weekly</changefreq>
    <priority>0.9</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/rust/how-rust-runs/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/rust/toolchains-and-editions/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/rust/cargo-and-project-layout/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/rust/modules-crates-and-the-standard-library/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/rust/values-moves-and-ownership/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/rust/borrowing-and-references/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/rust/slices-str-and-string/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/rust/lifetimes/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/rust/the-borrow-checker-in-practice/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/rust/interior-mutability/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/rust/primitive-types-casts-and-conversions/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/rust/structs-and-methods/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/rust/enums-option-and-result/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/rust/pattern-matching/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/rust/traits/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/rust/generics-and-monomorphisation/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/rust/trait-objects-and-dyn/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/rust/result-the-question-mark-and-propagation/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/rust/custom-error-types/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/rust/application-errors-with-anyhow/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/rust/panics-unwinding-and-abort/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/rust/vec-arrays-and-slices/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/rust/strings-in-depth/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/rust/hashmap-btreemap-and-sets/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/rust/iterators/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/rust/iterator-adapters/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/rust/closures/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/rust/iterator-performance/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/rust/functions-function-pointers-and-higher-order-functions/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/rust/the-operator-and-comparison-traits/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/rust/display-debug-and-formatting/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/rust/derive-and-what-it-generates/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/rust/lifetime-annotations-in-practice/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/rust/accepting-flexible-input/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/rust/box-deref-and-drop/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/rust/shared-ownership/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/rust/modules-and-visibility/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/rust/cargo-features-and-conditional-compilation/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/rust/workspaces-and-crate-boundaries/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/rust/documentation-with-rustdoc/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/rust/packaging-and-publishing-a-crate/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/rust/unit-and-integration-tests/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/rust/test-helpers-fixtures-and-snapshots/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/rust/clippy-rustfmt-and-lints/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/rust/property-testing-and-fuzzing/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/rust/threads-send-and-sync/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/rust/shared-state-with-arc-mutex-and-rwlock/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/rust/channels/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/rust/atomics-and-memory-ordering/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/rust/async-futures-and-the-executor/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/rust/async-in-practice-with-tokio/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/rust/memory-layout-and-the-cache/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/rust/benchmarking-and-profiling/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/rust/zero-cost-abstractions/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/rust/unsafe-and-raw-pointers/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/rust/macros-with-macro-rules/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/rust/procedural-macros/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/rust/ffi-calling-c-and-being-called-from-c/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/rust/no-std-and-embedded/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/rust/pinning-and-the-future-trait/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/rust/idioms-traps-and-where-to-go-next/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/typescript/</loc>
    <changefreq>weekly</changefreq>
    <priority>0.9</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/typescript/what-typescript-adds/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/typescript/installing-and-running/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/typescript/the-tsconfig-file/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/typescript/migrating-a-javascript-project/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/typescript/the-editor-and-the-language-service/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/typescript/annotations-and-inference/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/typescript/the-built-in-types/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/typescript/objects-and-structural-typing/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/typescript/interfaces-and-type-aliases/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/typescript/unions-and-intersections/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/typescript/narrowing-and-control-flow/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/typescript/exhaustive-checks/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/typescript/functions-and-their-types/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/typescript/optional-default-and-rest-parameters/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/typescript/overloads-and-call-signatures/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/typescript/arrays-and-readonly-arrays/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/typescript/tuples/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/typescript/null-undefined-and-strictness/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/typescript/classes-and-visibility/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/typescript/abstract-classes-and-inheritance/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/typescript/enums-and-const-objects/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/typescript/implementing-interfaces/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/typescript/types-and-values/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/typescript/generic-functions/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/typescript/generic-constraints/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/typescript/generic-classes-and-interfaces/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/typescript/type-parameter-defaults/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/typescript/variance-and-assignability/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/typescript/generic-patterns/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/typescript/keyof-and-indexed-access/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/typescript/mapped-types/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/typescript/conditional-types/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/typescript/infer-and-distribution/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/typescript/template-literal-types/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/typescript/the-utility-types/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/typescript/keeping-it-readable/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/typescript/the-tsconfig-in-detail/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/typescript/the-strict-family/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/typescript/modules-and-resolution/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/typescript/build-performance-and-project-references/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/typescript/emitting-javascript-and-declarations/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/typescript/writing-a-declaration-file/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/typescript/types-for-a-javascript-package/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/typescript/ambient-declarations-and-augmentation/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/typescript/the-types-registry/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/typescript/publishing-a-typed-package/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/typescript/branded-types/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/typescript/modelling-with-discriminated-unions/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/typescript/types-at-the-boundary/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/typescript/state-machines/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/typescript/dependency-injection-with-interfaces/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/typescript/error-modelling/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/typescript/testing-types/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/typescript/typed-linting-and-formatting/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/typescript/the-checker-in-continuous-integration/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/typescript/catching-breaking-changes/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/typescript/typed-api-contracts/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/typescript/typesafe-configuration/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/typescript/generics-for-a-library/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/typescript/the-runtime-gap/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://courses.pattygcoding.com/courses/typescript/where-to-go-next/</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
</urlset>
