Chương trình máy tính là tập hợp các chỉ dẫn được thể hiện dưới dạng các lệnh, các mã, lược đồ hoặc bất kỳ dạng nào khác, khi gắn vào một phương tiện mà máy tính đọc được, có khả năng làm cho máy tính thực hiện được một công việc hoặc đạt được một kết quả cụ thể.

“Chương trình là một tập hợp các câu lệnh được mô tả bằng bất kỳ ngôn ngữ, mã hay hệ thống ký hiệu nào và được thể hiện hoặc lưu trữ trong các vật mang tin (có hoặc không kèm theo các thông tin liên quan), được dùng trực tiếp hoặc dùng gián tiếp sau khi qua một hoặc hai khâu sau:

– Chuyển đổi sang một ngôn ngữ, mã, hệ thống ký hiệu khác;

– Tái tạo sang một vật mang tin khác; làm cho một dụng cụ có khả năng xử lý thông tin thực hiện một chức năng nào đó.”

Theo khoản 1 Điều 22 Luật SHTT 2005:

“Chương trình máy tính là tập hợp các chỉ dẫn được thể hiện dưới dạng các lệnh, các mã, lược đồ hoặc bất kỳ dạng nào khác, khi gắn vào một phương tiện mà máy tính đọc được, có khả năng làm cho máy tính thực hiện được một công việc hoặc đạt được một kết quả cụ thể“.

Qua các khái niệm trên cho ta thấy, dưới góc độ kỹ thuật CTMT không chỉ đơn thuần là các PMMT được sử dụng trong MĐT mà còn được sử dụng trong các thiết bị điện tử, viễn thông khác nữa. Trong khi đó, dưới góc độ pháp lý thì hai khái niệm trên đã bộc lộ sự không đồng nhất: trong khi Quyết định 128/QĐ-TTg quy định phạm vi của CTMT không chỉ là những chương trình được sử dụng trong MĐT thì khoản 1 điều 22 Luật SHTT 2005 giới hạn trong CTMT chỉ sử dụng cho MĐT.

Tuy nhiên, về nguyên tắc thì các quy định trong Luật SHTT vẫn có giá trị pháp lý cao hơn Quyết định 128/QĐ-TTg nên có thể hiểu CTMT là chương trình được lập trình để điều khiển hoạt động của MĐT, là một chuỗi thông tin chứa các lệnh điều khiển máy tính thực hiện một hay nhiều nhiệm vụ nhất định. CTMT được xây dựng dưới dạng mã nguồn trên cơ sở một ngôn ngữ lập trình nhất định và thường được lưu trữ dưới dạng mã máy.

Nói cách đơn giản, Chương trình máy tính là một dạng hoạt động thủ công nhưng được chuyển đổi sang dạng yêu cầu thành một thứ mà máy tính có thể thi hành được. Trong thực tiễn thường có sự nhầm lẫn giữa khái niệm CTMT và khái niệm
PMMT. Đối với nhiều người sử dụng, khái niệm CTMT và PMMT hầu như không có gì khác biệt.

Dưới góc độ kỹ thuật, kết cấu của PMMT bao gồm ba phần: phần thứ nhất là CTMT gồm mã nguồn và mã máy, phần thứ hai là cấu trúc dữ liệu gồm cấu trúc làm việc và cấu trúc lưu trữ; phần thứ ba là các tài liệu liên quan gồm hướng dẫn kỹ thuật, tài liệu tham khảo và tài liệu phát triển. Trong ba yếu tố trên thì CTMT là yếu tố hạt nhân quan trọng nhất, nó giống như vai trò của động cơ trong một cỗ máy, các yếu tố còn lại là dữ liệu và tài liệu chỉ đóng vài trò bổ sung cho CTMT.