Là nghệ thuật cài đặt một hoặc nhiều thuật toán trừu tượng có liên quan với nhau bằng một ngôn ngữ lập trình để tạo ra một chương trình máy tính. Lập trình có các thành tố nghệ thuật, khoa học, toán học, và kỹ nghệ.