ขึ้นอยู่กับวิธีที่คุณกำหนด "ปัญหาการเขียนโปรแกรม"
ในโครงการจริงคำตอบคือไม่ชัดเจน ปัญหาส่วนใหญ่ไม่ใช่ปัญหาด้านเทคนิค แต่ปัญหาการสื่อสารข้อกำหนดที่ไม่ชัดเจน ฯลฯ
จากนั้นคุณมีวิชาทั้งหมดของคลาสปัญหาที่ต้องติดกับอัลกอริทึม ตัวอย่างเช่น GUIs มักจะตรงไปตรงมากับ "โปรแกรม" แต่ปัญหาที่เกิดขึ้นจริงนั้นเกี่ยวข้องกับการออกแบบที่ดี (จากมุมมองที่ใช้งานได้จริงไม่ใช่แค่ลักษณะกราฟิก)
มีบางฟิลด์ที่ปัญหามักจะเป็นอัลกอริธึมมากกว่าโดยธรรมชาติของฟิลด์นั้น ตัวอย่างเช่น AI เป็นวิชาเฉพาะที่อัลกอริทึมอยู่ที่แกนกลาง กราฟิกสามารถใช้อัลกอริธึมเข้มข้น แต่ขึ้นอยู่กับความหมายของ "การเขียนโปรแกรมกราฟิก"
โดยทั่วไปหากปัญหาที่คุณแก้ไขโดยทางโปรแกรมนั้นเหมาะสมสำหรับการเป็นตัวแทนทางคณิตศาสตร์แสดงว่าคุณกำลังเข้าสู่พื้นที่อัลกอริทึม แน่นอนว่านี่เป็นเพียงตัวบ่งชี้คร่าวๆเนื่องจากคุณสามารถสร้างแบบจำลองทางคณิตศาสตร์สำหรับทุกสิ่งได้ แต่โดยส่วนใหญ่แล้วคุณไม่คิดว่าจะทำเช่นนั้น
ตัวอย่างสุดท้าย: หากปัญหาคือการสร้าง GUI ที่อนุญาตให้ป้อนข้อมูลสำหรับวัตถุธุรกิจคุณจะไม่คิดถึงสูตรทางคณิตศาสตร์มากนัก อย่างไรก็ตามหากปัญหาคือการสร้าง GUI ที่มีการเปลี่ยนแปลงแบบไดนามิกและย้ายองค์ประกอบตามค่าความสำคัญบางอย่างคุณมีแนวโน้มที่จะจบลงด้วยแบบจำลองทางคณิตศาสตร์และการใช้อัลกอริทึม