Hello! đź‘‹ Welcome to Programming Logic for Non-Programmers, a Navari Family Center for Digital Scholarship (NFCDS) workshop. Our goal for today is to define concepts that are common across programming languages, including data types, loops, functions, and arguments. By the end of the session, you will have developed a mental model of the logic behind programming and practiced interpreting and documenting that logic.
Today we’ll define and practice with these concepts related to programming:
About me
I’m Summer Mengarelli, the Data Services Librarian at the NFCDS. My office is 250G in Hesburgh Library, and I’m always happy to meet again later to answer any questions you might have from the workshop. My email is [email protected].

<aside> đź’ˇ
Today’s workshop is based on the free book Programming Logic for Non-Programmers by Kat Koziar and Stephanie Labou (2025; CC BY-NC-SA 4.0). Some of the materials have been taken, with permission from the authors, directly from the book. These sections are indicated by a clover 🍀. Other parts have been altered for our group today, but closely follow the book. This workshop covers most of the material from chapters 3-6 of Koziar and Labou.
</aside>
This is a different type of programming workshop: one that doesn’t require a computer, but instead helps you build mental models of how computer programming works. The purpose of this workshop isn’t just to introduce you to programming logic, but also to provide a safe space to practice thinking through what the computer does by tracing algorithms and code snippets instead of having the computer do it.
As we learn programming logic, we will also learn vocabulary related to programming. Here’s our first: syntax. Syntax refers to the particular way that a programming language, like Python or C#, is written by the programmer and interpreted by the computer. It’s the formal language structure, or the grammar that structures your interactions with your computer, and it’s very important to learn the syntax of a language if you want to work in that language. For now, though, we are interested in the concepts that are common across most languages, rather than their differences in syntax. For that reason, most of today’s examples will be written in pseudocode (vocabulary word #2!), which focuses on concepts and tasks, and not the precise way to write those in a given language.