FORMAT |
DEBUG |

###### Rest of the Wiki

CALL get-all-for-one-column-syllabus (ct01,yes)

CALL get-the-session(ct01,yes)

## Welcome and Course Intro Welcome and Course Intro

In our first workshop we will plan a dinner party and then introduce two important reflexes - abstraction and decomposition - and several concrete skills for our computational thinking repertoire: flow charts, stepwise refinement, blackboxes, pseudocode. Then we will plan our party again. Our first problem set (due next class) will provide an opportunity to practice these skills.

CALL get-the-slide-deck-small(ct01,yes)

CALL get-the-outcomes( {\$course},ct01,yes)

CALL get-the-agenda(ct01,yes)

CALL get-the-see-alsos(ct01,yes)

CALL get-the-problems(ct01,yes)

CALL get-all-for-one-column-syllabus (ct02,yes)

CALL get-the-session(ct02,yes)

## Logic and Boolean Algebra Logic and Boolean Algebra

The "if-then" construct in flow charts points us toward the basic logic that lies at the heart of computational thinking. In this class we extend the ideas introduced last week.

CALL get-the-slide-deck-small(ct02,yes)

CALL get-the-outcomes( {\$course},ct02,yes)

CALL get-the-agenda(ct02,yes)

CALL get-the-see-alsos(ct02,yes)

CALL get-the-problems(ct02,yes)

CALL get-all-for-one-column-syllabus (ct03,yes)

CALL get-the-session(ct03,yes)

## Counting and Probability Counting and Probability

How many and how likely? Another basic tool in our repertoire will be the ability to count things systematically. In which we make our way from Babylonian to Boolean and the way different ways of counting yield different ways of reasoning.

CALL get-the-slide-deck-small(ct03,yes)

CALL get-the-outcomes( {\$course},ct03,yes)

CALL get-the-agenda(ct03,yes)

CALL get-the-see-alsos(ct03,yes)

CALL get-the-problems(ct03,yes)

CALL get-all-for-one-column-syllabus (ct04,yes)

CALL get-the-session(ct04,yes)

## Solving Problems with Iteration (aka Pattern Generation) Solving Problems with Iteration (aka Pattern Generation)

An "iterative" approach to problem solution can mean two things. The first is problem solving based on gradual improvements to an initial guess at a solution. The second is problem solving by working over all the possible cases and combinations of inputs. In this module we will explore computational thinking in these two iterative modes. In which we encounter the affinity between geometric tile patterns, knitting, weaving, and music. For, While, Until. Encoding.

CALL get-the-slide-deck-small(ct04,yes)

CALL get-the-outcomes( {\$course},ct04,yes)

CALL get-the-agenda(ct04,yes)

CALL get-the-see-alsos(ct04,yes)

CALL get-the-problems(ct04,yes)

CALL get-all-for-one-column-syllabus (ct05,yes)

CALL get-the-session(ct05,yes)

## Solving Problems with Finesse Solving Problems with Finesse

Once we have learned how to solve problems by carefully iterating over all possible cases, we can add some sophistication to our repertoire by more advanced approaches to repetitive problem solving.

CALL get-the-slide-deck-small(ct05,yes)

CALL get-the-outcomes( {\$course},ct05,yes)

CALL get-the-agenda(ct05,yes)

CALL get-the-see-alsos(ct05,yes)

CALL get-the-problems(ct05,yes)

CALL get-all-for-one-column-syllabus (ct06,yes)

CALL get-the-session(ct06,yes)

## Information Jigs Information Jigs

Process and flow is only half of our tactical tool kit. A jig is a type of custom-made tool or device that is used to control the location and/or motion of parts or other tools. A jig's purpose is to provide repeatability, accuracy, and interchangeability. The other half of our computational thinking arsenal is creative ways to structure information so that it is easier to operate on. In this workshop and the next we will meet a whole menagerie of useful "data structures." We will see that having your information in the right form is well over half the battle. Maybe big data? digital humanities? Names, nomenclature. Structures. Classes. Info hiding. Encapsulation.

CALL get-the-slide-deck-small(ct06,yes)

CALL get-the-outcomes( {\$course},ct06,yes)

CALL get-the-agenda(ct06,yes)

CALL get-the-see-alsos(ct06,yes)

CALL get-the-problems(ct06,yes)

CALL get-all-for-one-column-syllabus (ct07,yes)

CALL get-the-session(ct07,yes)

## Pointers, Trees, and Graphs Pointers, Trees, and Graphs

What do genealogy and kinship, blockchain, the internet and social networks, and rumours have in common? In this workshop we learn about linked structures and decentralization, among other things.

CALL get-the-slide-deck-small(ct07,yes)

CALL get-the-outcomes( {\$course},ct07,yes)

CALL get-the-agenda(ct07,yes)

CALL get-the-see-alsos(ct07,yes)

CALL get-the-problems(ct07,yes)

CALL get-all-for-one-column-syllabus (ct08,yes)

CALL get-the-session(ct08,yes)

CALL get-the-slide-deck-small(ct08,yes)

CALL get-the-outcomes( {\$course},ct08,yes)

CALL get-the-agenda(ct08,yes)

CALL get-the-see-alsos(ct08,yes)

CALL get-the-problems(ct08,yes)

CALL get-all-for-one-column-syllabus (ct09,yes)

CALL get-the-session(ct09,yes)

CALL get-the-slide-deck-small(ct09,yes)

CALL get-the-outcomes( {\$course},ct09,yes)

CALL get-the-agenda(ct09,yes)

CALL get-the-see-alsos(ct09,yes)

CALL get-the-problems(ct09,yes)

CALL get-all-for-one-column-syllabus (ct10,yes)

CALL get-the-session(ct10,yes)

CALL get-the-slide-deck-small(ct10,yes)

CALL get-the-outcomes( {\$course},ct10,yes)

CALL get-the-agenda(ct10,yes)

CALL get-the-see-alsos(ct10,yes)

CALL get-the-problems(ct10,yes)

CALL get-all-for-one-column-syllabus (ct11,yes)

CALL get-the-session(ct11,yes)

CALL get-the-slide-deck-small(ct11,yes)

CALL get-the-outcomes( {\$course},ct11,yes)

CALL get-the-agenda(ct11,yes)

CALL get-the-see-alsos(ct11,yes)

CALL get-the-problems(ct11,yes)

CALL get-all-for-one-column-syllabus (ct12,yes)

CALL get-the-session(ct12,yes)

CALL get-the-slide-deck-small(ct12,yes)

CALL get-the-outcomes( {\$course},ct12,yes)

CALL get-the-agenda(ct12,yes)

CALL get-the-see-alsos(ct12,yes)

CALL get-the-problems(ct12,yes)

CALL get-all-for-one-column-syllabus (ct00,yes)

CALL get-the-session(ct00,yes)

CALL get-the-slide-deck-small(ct00,yes)

CALL get-the-outcomes( {\$course},ct00,yes)