Skip to main content
ClaudeWave
Skill65 estrellas del repoactualizado yesterday

computational-thinking

Computational thinking as a problem-solving discipline independent of programming languages. Covers the four pillars (decomposition, pattern recognition, abstraction, algorithm design), computational problem-solving methodology (understand, decompose, generalize, formalize, verify), abstraction levels (from hardware through user interface), modeling and simulation, automata and formal languages (DFA, NFA, regular expressions, context-free grammars, Turing machines), computational complexity classes (P, NP, NP-complete, undecidable), and constructionist pedagogy (learning by building, Logo, Scratch, physical computing). Use when approaching unfamiliar problems, teaching problem-solving strategies, analyzing problem complexity, or bridging between domain knowledge and computational solutions.

Instalar en Claude Code
Copiar
git clone --depth 1 https://github.com/Tibsfox/gsd-skill-creator /tmp/computational-thinking && cp -r /tmp/computational-thinking/examples/skills/coding/computational-thinking ~/.claude/skills/computational-thinking
Después abre una sesión nueva de Claude Code; el skill carga automáticamente.

SKILL.md

# Computational Thinking

Computational thinking is not programming. Programming is a skill; computational thinking is a way of approaching problems that predates computers and transcends any particular language or machine. Jeannette Wing defined it in 2006 as "the thought processes involved in formulating problems and their solutions so that the solutions are represented in a form that can be effectively carried out by an information-processing agent." This skill catalogs the core techniques of computational thinking with emphasis on their application as general problem-solving tools.

**Agent affinity:** papert (constructionist pedagogy, Logo, learning by building), lovelace (computational vision, seeing beyond calculation)

**Concept IDs:** code-sequential-thinking, code-decomposition, code-pattern-recognition, code-abstraction

## Part 1 -- The Four Pillars

### Pillar 1 -- Decomposition

**Definition:** Breaking a complex problem into smaller, manageable sub-problems.

**Why it matters.** A problem that is overwhelming as a whole becomes tractable when divided. Each sub-problem can be understood, solved, and tested independently. The solutions compose into a solution for the whole.

**The decomposition question.** Given a problem P, ask: "What are the independent pieces?" If piece A does not depend on piece B, they can be solved in any order (or in parallel). If A depends on B, solve B first.

**Worked example: Building a weather application.**

The monolithic problem ("build a weather app") decomposes into:
1. **Data acquisition** -- fetch weather data from an API
2. **Data parsing** -- extract temperature, humidity, wind from the response
3. **Display** -- render the data in a user-friendly format
4. **Location** -- determine the user's location or accept manual input
5. **Caching** -- avoid redundant API calls for recent data
6. **Error handling** -- cope with network failures, invalid locations, malformed data

Each sub-problem has a clear input, output, and boundary. A team of six people could work on all six simultaneously with minimal coordination.

**Recursive decomposition.** Sub-problems can be further decomposed. "Data parsing" becomes: parse JSON, extract nested fields, convert units, validate ranges. Decompose until each piece is simple enough to implement directly.

**When decomposition fails.** Problems with tight coupling resist decomposition. If every piece depends on every other piece, you cannot solve them independently. This is a signal that the problem needs re-framing (different abstraction) rather than further splitting.

### Pillar 2 -- Pattern Recognition

**Definition:** Identifying similarities, regularities, and recurring structures across problems or data.

**Why it matters.** If you have solved problem A, and problem B has the same structure, you do not need to solve B from scratch -- adapt the solution for A. Patterns reduce the number of truly novel problems you encounter.

**Types of patterns.**

- **Structural patterns.** This tree structure is the same shape as that tree structure. A file system, an HTML document, and an organization chart are all trees. Algorithms that work on one work on all.
- **Behavioral patterns.** This sequence of operations repeats. Every web request follows the same lifecycle: receive, authenticate, validate, process, respond. Middleware chains exploit this pattern.
- **Data patterns.** These numbers follow a rule. The sequence 1, 1, 2, 3, 5, 8 is Fibonacci. Recognizing the pattern gives you the generating rule and enables prediction.
- **Problem-class patterns.** This optimization problem has the same structure as the knapsack problem. This scheduling problem is a graph coloring problem in disguise.

**Pattern recognition as a meta-skill.** The more problems you solve, the larger your pattern library becomes. Expert programmers do not think faster -- they recognize more patterns, which means they spend less time on first-principles reasoning and more time on adaptation.

### Pillar 3 -- Abstraction

**Definition:** Removing unnecessary detail to focus on what matters for the problem at hand.

**Why it matters.** Every real-world problem has infinite detail. A map is useful because it omits most of reality. An abstraction is useful because it omits most of the implementation. The right abstraction makes the problem simple; the wrong abstraction makes it harder.

**Levels of abstraction in computing.**

| Level | Sees | Hides |
|---|---|---|
| User interface | Buttons, text fields | All code |
| Application logic | Functions, data structures | Memory layout, OS calls |
| Operating system | Processes, files, sockets | Hardware registers, interrupts |
| Hardware | Gates, registers, buses | Physics (electron flow, quantum effects) |

Each level provides a simpler model of the level below. A programmer writing a web application does not think about transistors. A hardware designer does not think about HTTP headers. Abstraction makes this possible.

**Abstraction as interface design.** A good abstraction exposes what the user needs and hides everything else. The interface to a hash table is: put(key, value), get(key), delete(key). The user does not need to know about hash functions, collision resolution, or load factor management. But the abstraction must not leak -- if the user needs to know the hash function to avoid performance degradation, the abstraction has failed.

**The Dijkstra principle.** "The purpose of abstraction is not to be vague, but to create a new semantic level in which one can be absolutely precise." Abstraction is not about hand-waving; it is about precision at the right level.

### Pillar 4 -- Algorithm Design

**Definition:** Creating a step-by-step procedure that solves the problem for all valid inputs.

**Why it matters.** A solution that works for one input is an example. A solution that works for all valid inputs is an algorithm. The transition from example to algorithm is the core act of computationa
art-history-movementsSkill

Major art movements and their historical context for art education. Covers 12 movements from the Renaissance to contemporary art, their defining characteristics, key artists, signature works, and the intellectual/social forces that produced them. Use when analyzing artworks in historical context, understanding stylistic lineages, identifying influences across periods, or connecting studio practice to art-historical precedent.

color-theorySkill

Color theory principles for art education. Covers the three color properties (hue, saturation, value), color mixing systems (subtractive and additive), color relationships (complementary, analogous, triadic, split-complementary), color temperature, simultaneous contrast and the relativity of color perception, and practical palette construction. Use when analyzing color in artworks, planning color schemes, understanding optical phenomena in painting, or investigating Albers's Interaction of Color experiments.

creative-processSkill

The creative process in art from idea to exhibition. Covers five phases of creative work (inspiration, incubation, exploration, execution, reflection), sketchbook practice, artist statements, critique methodology (formal and conceptual), portfolio development, and the studio as a working environment. Use when guiding students through project development, facilitating critique sessions, developing artist statements, curating portfolios, or understanding how professional artists structure their creative practice.

digital-artSkill

Digital art tools, techniques, and workflows for art education. Covers raster and vector workflows, digital painting, photo manipulation, generative and procedural art, 3D modeling and rendering, pixel art, the relationship between traditional skills and digital execution, and ethical considerations of AI-generated imagery. Use when working with digital tools, evaluating digital art, or bridging traditional art concepts into digital practice.

drawing-observationSkill

Observational drawing and visual perception techniques for art education. Covers contour drawing, gesture drawing, negative space, proportion and measurement, value mapping, spatial depth cues, and the cognitive shift from symbolic to perceptual seeing. Use when teaching drawing fundamentals, analyzing observational accuracy, or developing visual literacy in any medium.

sculpture-3dSkill

Three-dimensional art and sculptural thinking for art education. Covers additive and subtractive sculptural processes, armature construction, modeling in clay, carving principles, casting and moldmaking, assemblage and found-object sculpture, installation art as expanded sculpture, and the conceptual transition from pictorial to spatial thinking. Use when working with three-dimensional media, analyzing sculptural form, understanding spatial composition, or investigating the relationship between sculpture and site.

celestial-coordinatesSkill

Celestial coordinate systems and sky positioning. Covers horizon (altitude-azimuth), equatorial (right ascension-declination), ecliptic, and galactic systems; epoch and precession; coordinate transformations; planisphere use; and practical sky-locating from any latitude and date. Use when locating objects, planning observations, converting catalog coordinates, or teaching the geometry of the sky.

cosmological-observationSkill

Observational cosmology from Hubble's law to the CMB. Covers redshift, Hubble expansion, the cosmological parameters, the cosmic microwave background, large-scale structure, galaxy rotation curves and dark matter, Type Ia SNe and dark energy, and the current state of Lambda-CDM. Use when reasoning about the large-scale universe, interpreting cosmological surveys, or teaching the Big Bang evidence chain.