The process of designing, writing, testing, debugging, and maintaining the source code of computer programs.
A branch of information science and of computer science that focuses on the study of information processing, particularly with respect to systems integration and human interactions with machine and data.