Table of Contents

มโนทัศน์ภาษาโปรแกรม ภาคต้น 2552

ประกาศ

การเตรียมตัวก่อนเข้าเรียน

การบ้าน

รายละเอียดวิชา

ในมุมมองที่กว้างที่สุด ภาษาโปรแกรมเป็นเครื่องมือสำหรับอธิบายการคำนวณ (computation) อย่างไรก็ตามมุมมองของการคำนวณนั้นมีได้หลากหลาย เป็นจุดกำเนิดที่ทำให้เกิดภาษาโปรแกรมที่วางอยู่บนกระบวนทัศน์ (paradigm) ที่แตกต่างกันจำนวนมากมาย

วิชานี้ มีเป้าหมายที่จะศึกษาแนวคิดต่าง ๆ ที่มีใช้ในภาษาโปรแกรมสมัยใหม่ เพื่อให้เข้าใจกระบวนการทำงาน ขีดจำกัด และผลกระทบที่มีต่อกระบวนการคิดวิเคราะห์ของผู้ใช้ เราจะสนใจแนวคิดพื้นฐาน พร้อมกับเน้นกระบวนทัศน์ภาษาโปรแกรมที่สำคัญได้แก่การโปรแกรมเชิงฟังก์ชัน และการโปรแกรมเชิงวัตถุ นอกจากนี้ยังจะให้ความสำคัญเกี่ยวกับแนวคิดของภาษาเชิงพลวัติที่ทวีความ สำคัญมากขึ้นเรื่อย ๆ และอาจรวมไปถึงแนวคิดของการ implement ภาษาบนระบบ run-time ต่าง ๆ เช่น บน JVM หรือบน CLR

นอกจากจะศึกษาแนวคิดที่สำคัญแล้ว ในวิชานี้จะมีการให้นิสิตได้ทดลองเขียนโปรแกรมด้วยภาษาและกรอบงาน (framework) ต่าง ๆ เพื่อเพิ่มความเข้าใจอีกด้วย

ตัวอย่างกระบวนทัศน์ของภาษาจะได้ทดลองในวิชานี้: Functional (ตัวอย่างภาษาที่อาจได้ทดลอง เช่น Scheme, Haskell, ML, ocaml, F#), Object-oriented (ตัวอย่างภาษา เช่น Smalltalk, Objective C, C++, Java, C#, Ruby), Multi-paradigm (เช่น Scala)

ตารางเรียนและเอกสารประกอบ

เอกสารส่วนมากจะใช้จากวิชา CS424 สอนโดย John Mitchell และ Kathleen Fisher

1)
สำหรับอธิบายที่มาที่ไปของเนื้อหา