<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Programming on emsenn.net</title>
    <link>https://emsenn.net/tags/programming/</link>
    <description>Recent content in Programming on emsenn.net</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <lastBuildDate>Thu, 05 Mar 2026 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://emsenn.net/tags/programming/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Composition and Currying</title>
      <link>https://emsenn.net/library/domains/engineering/domains/tech/domains/computing/domains/software/domains/programming/domains/functional/texts/composition-and-currying/</link>
      <pubDate>Thu, 05 Mar 2026 00:00:00 +0000</pubDate>
      <guid>https://emsenn.net/library/domains/engineering/domains/tech/domains/computing/domains/software/domains/programming/domains/functional/texts/composition-and-currying/</guid>
      <description>&lt;h2 id=&#34;entry-conditions&#34;&gt;Entry conditions&lt;/h2&gt;&#xA;&lt;p&gt;Use this lesson when you can already describe &lt;a href=&#34;../terms/pure-function.md&#34; class=&#34;link-internal&#34;&gt;pure functions&lt;/a&gt; and &lt;a href=&#34;../terms/immutability.md&#34; class=&#34;link-internal&#34;&gt;immutability&lt;/a&gt; and are ready to learn how functional programs combine small functions into larger ones.&lt;/p&gt;&#xA;&lt;h2 id=&#34;first-class-functions&#34;&gt;First-class functions&lt;/h2&gt;&#xA;&lt;p&gt;Before functions can be composed, they must be values. A &lt;a href=&#34;../terms/first-class-function.md&#34; class=&#34;link-internal&#34;&gt;first-class function&lt;/a&gt; is a function that a language treats like any other value — it can be stored in a variable, passed as an argument, and returned as a result.&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;double = λx. x * 2&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Here &lt;code&gt;double&lt;/code&gt; is a variable whose value is a function. It is not a declaration — it is an assignment of a function value to a name, no different in kind from assigning a number to a name. This is the starting point for everything that follows.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Debugging Basics</title>
      <link>https://emsenn.net/library/domains/engineering/domains/tech/domains/computing/domains/software/domains/programming/texts/debugging-basics/</link>
      <pubDate>Thu, 01 Jan 2026 00:00:00 +0000</pubDate>
      <guid>https://emsenn.net/library/domains/engineering/domains/tech/domains/computing/domains/software/domains/programming/texts/debugging-basics/</guid>
      <description>&lt;p&gt;Audience: beginners learning how to fix programs.&lt;/p&gt;&#xA;&lt;p&gt;Learning goal: explain a simple debugging workflow.&lt;/p&gt;&#xA;&lt;p&gt;Debugging starts by reproducing an error, isolating the cause, and verifying a&#xA;fix. Logging or print statements help trace program flow.&lt;/p&gt;&#xA;&lt;p&gt;Check for understanding: Why is reproducing an error the first step?&lt;/p&gt;</description>
    </item>
    <item>
      <title>Functional Overview</title>
      <link>https://emsenn.net/library/domains/engineering/domains/tech/domains/computing/domains/software/domains/programming/domains/functional/texts/functional-overview/</link>
      <pubDate>Thu, 01 Jan 2026 00:00:00 +0000</pubDate>
      <guid>https://emsenn.net/library/domains/engineering/domains/tech/domains/computing/domains/software/domains/programming/domains/functional/texts/functional-overview/</guid>
      <description>&lt;p&gt;Audience: beginners learning programming paradigms.&lt;/p&gt;&#xA;&lt;p&gt;Learning goal: describe pure functions and immutability.&lt;/p&gt;&#xA;&lt;p&gt;Functional programming treats computation as evaluating expressions and&#xA;composing pure functions. Immutability helps reduce unintended side effects.&lt;/p&gt;&#xA;&lt;p&gt;Check for understanding: Why are pure functions easier to reason about?&lt;/p&gt;</description>
    </item>
    <item>
      <title>Modularity and Reuse</title>
      <link>https://emsenn.net/library/domains/engineering/domains/tech/domains/computing/domains/software/domains/programming/texts/modularity/</link>
      <pubDate>Thu, 01 Jan 2026 00:00:00 +0000</pubDate>
      <guid>https://emsenn.net/library/domains/engineering/domains/tech/domains/computing/domains/software/domains/programming/texts/modularity/</guid>
      <description>&lt;p&gt;Audience: beginners learning to organize code.&lt;/p&gt;&#xA;&lt;p&gt;Learning goal: explain why programs are split into modules and functions.&lt;/p&gt;&#xA;&lt;p&gt;Modularity separates code into reusable parts. Functions and modules keep&#xA;responsibilities clear and reduce duplication.&lt;/p&gt;&#xA;&lt;p&gt;Check for understanding: How does modularity make programs easier to maintain?&lt;/p&gt;</description>
    </item>
    <item>
      <title>Object-Oriented Overview</title>
      <link>https://emsenn.net/library/domains/engineering/domains/tech/domains/computing/domains/software/domains/programming/domains/object-oriented/texts/oop-overview/</link>
      <pubDate>Thu, 01 Jan 2026 00:00:00 +0000</pubDate>
      <guid>https://emsenn.net/library/domains/engineering/domains/tech/domains/computing/domains/software/domains/programming/domains/object-oriented/texts/oop-overview/</guid>
      <description>&lt;p&gt;Audience: beginners learning about programming styles.&lt;/p&gt;&#xA;&lt;p&gt;Learning goal: explain how objects and classes organize code.&lt;/p&gt;&#xA;&lt;p&gt;Object-oriented programming models a system as objects with state and behavior.&#xA;Classes define shared structure, while objects carry specific data.&lt;/p&gt;&#xA;&lt;p&gt;Check for understanding: What is the difference between a class and an object?&lt;/p&gt;</description>
    </item>
    <item>
      <title>Paradigms Overview</title>
      <link>https://emsenn.net/library/domains/engineering/domains/tech/domains/computing/domains/software/domains/programming/domains/paradigms/texts/paradigms-overview/</link>
      <pubDate>Thu, 01 Jan 2026 00:00:00 +0000</pubDate>
      <guid>https://emsenn.net/library/domains/engineering/domains/tech/domains/computing/domains/software/domains/programming/domains/paradigms/texts/paradigms-overview/</guid>
      <description>&lt;p&gt;Audience: beginners comparing programming styles.&lt;/p&gt;&#xA;&lt;p&gt;Learning goal: list common paradigms and what they emphasize.&lt;/p&gt;&#xA;&lt;p&gt;Imperative paradigms focus on commands and state. Declarative paradigms focus on&#xA;describing results. Event-driven, logic, and dataflow paradigms structure how&#xA;programs react to events or express constraints.&lt;/p&gt;&#xA;&lt;p&gt;Check for understanding: Which paradigm focuses on expressing rules instead of&#xA;explicit steps?&lt;/p&gt;</description>
    </item>
    <item>
      <title>Programming Overview</title>
      <link>https://emsenn.net/library/domains/engineering/domains/tech/domains/computing/domains/software/domains/programming/texts/programming-overview/</link>
      <pubDate>Thu, 01 Jan 2026 00:00:00 +0000</pubDate>
      <guid>https://emsenn.net/library/domains/engineering/domains/tech/domains/computing/domains/software/domains/programming/texts/programming-overview/</guid>
      <description>&lt;p&gt;Audience: beginners who want to understand what programming is.&lt;/p&gt;&#xA;&lt;p&gt;Learning goal: explain programming as specifying behavior in steps.&lt;/p&gt;&#xA;&lt;p&gt;Programming describes how a machine should handle inputs, make decisions, and&#xA;produce outputs. Programs can be short scripts or large systems.&lt;/p&gt;&#xA;&lt;p&gt;Check for understanding: What does it mean for a program to specify behavior?&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
