Learning sequence
The proposed pathway begins with problem-solving and a first language, then develops into algorithms, software design, and specialized applications. Python is the proposed starting language for automation and business tools.
Testing, documentation, and small projects begin early and continue throughout. The stages overlap as skills develop.
1. Computational thinking
- Problem decomposition
- inputs and outputs
- pseudocode
- tracing instructions
2. Programming fundamentals
- Variables
- data types
- expressions
- input and output
3. Decisions and repetition
- Conditions
- Boolean logic
- loops
4. Functions
- Parameters
- return values
- scope
- decomposing programs
5. Working with data
- Strings
- lists
- dictionaries
- sets
- iteration
6. Debugging and testing
- Error messages
- exceptions
- input validation
- expected behavior
- edge cases
7. Files and libraries
- Reading and writing files
- CSV
- JSON
- modules
- libraries
8. Program organization
- Classes and objects
- interfaces
- reusable components
9. Development tools
- Command line
- Git
- documentation
- dependencies
- project structure
10. Data structures and algorithms
- Searching
- sorting
- recursion
- stacks and queues
- trees and graphs
- efficiency
11. Databases and connected applications
- SQL
- data modeling
- APIs
- HTTP
- application security
12. Software engineering
- Requirements
- design
- integration testing
- collaboration
- deployment
- maintenance
13. Specialization
- Automation
- web development
- data analysis
- robotics
- embedded systems
- scientific computing
