CSC125 – Principles of Software Development

These CSC125 notes introduce the core principles of software development, explaining what programming is and how computers follow precise, step-by-step instructions. They describe programs as models of real-world systems built using abstraction and simplification. The notes outline what makes good software, including functionality, robustness, efficiency, flexibility, maintainability, and user-centered design. They also compare major programming par...