computer programming
Let an agent help people learn and practise programming, apply secure and maintainable techniques, choose tools, and recognise poor practices.
Bundle → Layer → Finding → Questions Filled
4 bundles · 8 layers · 8 findings · 16 questions
Learn Getting started.
Start
First steps.
Start
First steps.
- Which language and resources suit a beginner with this goal? action
- What small project would help? action
Concepts
Core concepts.
Concepts
Core concepts.
- How do variables, loops, functions and data structures work? definition
- Which example illustrates this concept? action
Practice Quality.
Debug
Debugging.
Debug
Debugging.
- How can this bug be isolated and reproduced? action
- Which tools help? provenance
Testing
Tests.
Testing
Testing.
- Which tests would catch this problem in future? action
- How is coverage measured? measurement
Security Secure coding.
Secure
Vulnerabilities.
Secure
Secure coding.
- Does this code have common vulnerabilities such as injection or unsafe input handling? boundary
- Which guidance explains the fix? provenance
Misuse
Harmful code.
Misuse
Harmful code limits.
- Does the request seek malware or unauthorised access tools? boundary
- How should the agent decline? action
Work Collaboration.
Version control
Collaboration.
Version control
Version control.
- How should version control and code review be used here? action
- Which branching model suits the team? provenance
Licence
Using others code.
Licence
Licensing.
- Under what licence can this code be reused? provenance
- What attribution is required? provenance
Classifiers Filled
- Family
- Thing Registry
- Category
- Activities and processes
- Entry kind
- thing
- Plane
- ACT
- Domain
- ACT.ACT
- Other names and narrower kinds
- cargo cult programming, generic programming, reflective programming, Programming by Voice, serial computation, prompt engineering, polyglot programming, graphical programming, event-driven programming, server-side scripting, graphics programming, microcontroller programming
What it is Filled
The practice of designing, writing, testing, debugging and maintaining instructions that computers execute, using programming languages and tools, across paradigms such as procedural, object-oriented, functional and generic programming, and increasingly with AI assistance and prompt engineering.
Why it exists Filled
Let an agent help people learn and practise programming, apply secure and maintainable techniques, choose tools, and recognise poor practices.
Distinguishing features Filled
- Writes instructions for computers
- Uses languages and tools
- Requires testing
- Collaborative and versioned
What robots and AI may and may not do Filled
Must not
- Write malware or code intended to break into, damage or spy on systems or people.
- Deploy changes to production systems without the owner's approval and review.
- Copy code in breach of its licence or remove attribution.
- Hide known bugs or security flaws, or fake test results.
- Embed secrets such as passwords or keys in code.
Only with a human decision
- Deploying code to production or to systems that affect people's safety, money or data.
- Deleting repositories, data or history.
May
- Write, test and review code for systems it is authorized to work on.
- Explain programming concepts and help people learn.
- Run tests and report failures honestly.
Moral aspects Filled
- Software now decides about people's credit, health and safety; careless code harms real lives.
- AI-assisted programming raises questions of credit, licensing and accountability for errors.
Who is affected
- Users of the software
- People affected by automated decisions
- Developers and maintainers
Owners Filled
Steward
Nobody owns the practice; the owner of each codebase answers for its code.
Master systems
- Code repositories and version control histories
Links to other meta-models Filled
parent
- Q1914636 - registry parent class
- Q205961 - registry parent class
related
- skill and activity - category
- programming language - tool
- software - output
- database - data storage
What else AI and robots need to interact with it Filled
Identity and identifiers required Filled
- Vercy registry: vr.tr.computer-programming
- Wikidata: Q80006 (https://www.wikidata.org/wiki/Q80006)
Direct properties not applicable Not applicable
Not applicable
Plane ACT: no invented physical properties.
Recognition optional Filled
- Source code in text files
- Version control and tests
- Configuration is not always programming
- Code in editors, version control repositories and running programs.
Capabilities and actions required Filled
- learn programming basics
- debug and test code
- apply secure coding practices
- choose tools and paradigms
Hazards and failure modes required Filled
- Security vulnerabilities
- Cargo cult practices
- Licence violations in copied code
Standards and interfaces required Filled
- Secure development guidance such as OWASP
- Software licensing
- Safety standards for critical software
Context of use required Filled
- Building software and automating tasks.
- procedural and object-oriented programming
- functional and generic programming
- systems and embedded programming
- web and data programming
- AI-assisted programming
Sources Filled
- Wikidata item Q80006: computer programming - identity and sense of the item
- Wikipedia: Computer programming - general description of the item
Open questions
- Should paradigms be separate entries?
- How should learning resources be linked?
- How should AI-assisted practices be described?
Machine files
Provenance
thing registry research (pass 2) · unreviewed
Built from: models/things/publications/thing-q80006/spec.json