computational-thinking

Solid

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.

AI & Automation 69 stars 9 forks Updated 1 weeks ago NOASSERTION

Install

View on GitHub

Quality Score: 79/100

Stars 20%
61
Recency 20%
90
Frontmatter 20%
70
Documentation 15%
100
Issue Health 10%
50
License 10%
100
Description 5%
100

Skill Content

# 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 ("...

Details

Author
Tibsfox
Repository
Tibsfox/gsd-skill-creator
Created
5 months ago
Last Updated
1 weeks ago
Language
TypeScript
License
NOASSERTION

Similar Skills

Semantically similar based on skill content — not just same category