Problem-Solving
Involves understanding problems, breaking them into manageable parts, and developing computational thinking skills.
Computational Thinking
Representing problems as algorithms, decomposing large problems, and focusing on abstraction.
Variables
Store data that can change, with different types like local, global, static, and dynamic variables.
Constants
Store data that does not change, using self-documenting identifiers.
Algorithms and Sorting
Set of clear, ordered instructions to solve problems, including different sorting algorithms like Merge Sort and Bubble Sort.
Searching
Involves Linear Search (sequential comparison) and Binary Search (divide and compare middle item).
Program Testing
Importance of testing for ensuring program functionality, with types like Unit Testing, Integration Testing, System Testing, Acceptance Testing, and Regression Testing.
Program Maintenance
Includes Corrective, Adaptive, Perfective, and Preventive maintenance to ensure program reliability and performance.
Documentation
User Documentation for end-users and Technical Documentation for developers, including code comments and design documents.
Version Control
Tracks changes in the program, manages multiple versions, and enables collaboration using tools like Git and SVN.
Code Review
Regularly reviewing code with peers to catch bugs early and improve code quality.