Analyzing problems and translating them into computer-executable instructions. Turning logical thinking into code to build working software.
Programming breaks down real-world problems logically and implements them in code to create working software. Beyond writing code, it includes algorithm design, maintainable architecture, and code quality for collaboration. From basic syntax to large-scale systems, it has clear growth stages.
You encounter foundational concepts like variables, output, and conditionals for the first time, writing simple programs by following tutorials. You understand basic code execution flow, and when errors occur, you read messages and attempt fixes. Corresponds to the Dreyfus Novice stage.
What Comes Next
If you've checked off most of this list, you're ready for the Code Builder stage, learning functions, arrays, and using documentation to build small programs on your own. Bandura(1977)'s Social Learning theory suggests watching coding demonstrations and studying program execution examples builds the confidence to write code independently.
Categorizes programming competencies across dimensions (data structures, algorithms, system design, code organization) into 4 levels, providing rationale for checklist and level boundary design.
A global ICT competency framework that defines programming/software development (PROG) across 7 responsibility levels (Follow → Set strategy), directly informing Levelica 7-level boundary design.
Defines knowledge areas (programming language fundamentals, software engineering, etc.) and competency models for CS undergraduate curricula, providing evidence for the learning sequence and scope of level-specific checklist items.
A key review paper in CS education that systematically organizes the cognitive stages of learning to program (syntax comprehension → design strategies → abstraction). Typical novice error patterns and the shift to expert thinking provide evidence for cognitive difficulty design in L1-L4 checklist items.