โปรแกรมคอมพิวเตอร์ (อังกฤษ: computer program) คือ กลุ่มชุดคำสั่งที่ใช้อธิบายชิ้นงาน หรือกลุ่มงานที่จะประมวลผลโดยคอมพิวเตอร์ โปรแกรมคอมพิวเตอร์อาจหมายถึง ซอฟต์แวร์ แอปพลิเคชัน หรือ โปรแกรม โปรแกรมคอมพิวเตอร์ส่วนใหญ่นั้นเป็นชุดคำสั่งที่ออกแบบตามขั้นตอนวิธี โดยปกติแล้วเขียนโดยโปรแกรมเมอร์ หรือไม่ก็สร้างโดยโปรแกรมอื่น โปรแกรมคอมพิวเตอร์ชุดหนึ่ง ๆ อาจเขียนขึ้นด้วยระบบรหัส หรือที่เรียกว่า ภาษาเครื่อง ซึ่งมักเขียนได้ยากและเหมาะกับช่างเทคนิคเฉพาะทาง ภายหลังจึงได้มีการสร้างภาษาโปรแกรมที่ใกล้เคียงภาษามนุษย์มากขึ้น เช่น ภาษาแอสเซมบลี (Assembly) ภาษาซี (C) ภาษาโคบอล (COBOL) ภาษาเบสิก (BASIC) ภาษา C# ภาษาจาวา เป็นต้น ผู้เขียนโปรแกรมคอมพิวเตอร์อาจเขียนโปรแกรมไว้ใช้ส่วนตัว หรือเพื่อให้ผู้อื่นใช้ต่อ ไม่ว่าจะเป็นโปรแกรมประยุกต์หรือไลบรารี เช่น โปรแกรมสำหรับวาดภาพ (graphics) โปรแกรมประมวลผลคำ (word processing) โปรแกรมตารางจัดการ (spread sheet) โปรแกรมระบบ (systems software) ซึ่งเป็นโปรแกรมที่ควบคุมการทำงานของเครื่องคอมพิวเตอร์ โดยมักติดตั้งมาจากโรงงานที่ผลิต และโปรแกรมระบบปฏิบัติการ (operating system) ที่จะทำหน้าที่เหมือนผู้จัดการคอยดูแลให้อุปกรณ์ต่าง ๆ ทำงานให้ประสานกัน ในการเขียนโปรแกรม ผู้เขียนจะต้องเข้าใจขั้นตอนวิธี (ขั้นตอนวิธี) และภาษาที่จะใช้เป็นอย่างดี จึงจะสามารถเขียนโปรแกรมเพื่อควบคุมเครื่องให้ทำงานได้ตามความต้องการ
ในภาษาไทยใช้คำว่า โปรแกรม แทนคำภาษาอังกฤษว่า Computer program และ software ทั้งนิยมเรียก 'การติดตั้งซอฟต์แวร์ ว่า 'การลงโปรแกรม ซึ่งไม่ตรงกับความหมายในภาษาอังกฤษที่ใช้กันในทุกวันนี้ ทำให้ผู้ใช้งานคอมพิวเตอณืในปัจจุบันเกิดความสับสน
ในยุคแรกของการใช้คอมพิวเตอร์ ผู้ใช้งานคอมพิวเตอร์จะต้องเขียนโปรแกรม เพื่อสั่งงานให้คอมพิวเตอร์ ทำงานตามที่สั่ง ตัวอย่างเช่น สั่งให้คอมพิวเตอร์แสดงตัวอักษรแบบต่างๆ แสดงประโยคที่ประกอบไปด้วยตัวอักษร สั่งให้พิมพ์ตัวอักษรออกไปยังเครื่องพิมพ์(Printer) โปรแกรมที่ได้รับความนิยมในสมัยนั้น ได้แก่ โปรแกรม CU Writer และ ราชวิถีเวิร์ดพีซี โดยใช้งานบนระบบปฏิบัติการดอส(DOS)
หลังจากนั้น Microsoft และ Apple ได้เปิดตัวระบบปฏิบัติการที่ทำงานบนหน้าจอ(GUI) การใช้งานคอมพิวเตอร์ก็ไม่ต้องเขียนชุดคำสั่งเช่นเดิมอีกต่อไป จึงได้มีการเปลี่ยนการเรียกเป็น แอปพลิเคชันซอฟแวร์(Application Software) แทนคำว่าโปรแกรม
แต่ผู้แปลคำศัพท์ภาษาไทยแปลคำว่า Application software ว่า โปรแกรมประยุกต์ อันที่จริงควรเรียกทับศัพท์ว่า ซอฟต์แวร์ประยุกต์ จะตรงตามความหมายที่สุด