01204435
หน้านี้เป็นหน้าของรายวิชา 01204435 มโนทัศน์ภาษาโปรแกรม (Programming language concepts)
ในมุมมองที่กว้างที่สุด ภาษาโปรแกรมเป็นเครื่องมือสำหรับอธิบายการคำนวณ (computation) อย่างไรก็ตามมุมมองของการคำนวณนั้นมีได้หลากหลาย เป็นจุดกำเนิดที่ทำให้เกิดภาษาโปรแกรมที่วางอยู่บนกระบวนทัศน์ (paradigm) ที่แตกต่างกันจำนวนมากมาย วิชานี้ มีเป้าหมายที่จะศึกษาแนวคิดต่าง ๆ ที่มีใช้ในภาษาโปรแกรมสมัยใหม่ เพื่อให้เข้าใจกระบวนการทำงาน ขีดจำกัด และผลกระทบที่มีต่อกระบวนการคิดวิเคราะห์ของผู้ใช้ เราจะมองภาษาภายใต้มุมมองของการออกแบบ (language design) เพื่อที่จะได้เห็นข้อดี-ข้อเสีย สำหรับทางเลือกต่าง ๆ นอกจากนี้ เราจะสนใจแนวคิดพื้นฐาน พร้อมกับเน้นกระบวนทัศน์ภาษาโปรแกรมที่สำคัญได้แก่การโปรแกรมเชิงฟังก์ชันและการโปรแกรมเชิงวัตถุ
เนื้อหา
ประกาศ
การบ้าน
หัวข้อ
- ด้านล่างเป็นหัวข้อแบบร่าง ๆ เท่านั้น อาจมีการเปลี่ยนแปลงได้เรื่อย ๆ
- Introduction.
- Lisp. Lambda calculus.
- Functional programming (with Haskell)
- Types & type inference
- Higher-order functions
- Type classes
- IO
- Controls
- Scopes and memory management
- Object-oriented programming
เอกสารอ้างอิง
ลิงก์
- หน้ารายวิชาเมื่อปีการศึกษาต่าง ๆ: 2556 2553, 2552 2550, 2549
- วิชา Programming languages ที่มหาวิทยาลัยต่าง ๆ: Williams College CS334, UW CSE314, Berkeley cs164, Stanford CS242 (f19), Stanford CS242 (current), FIT CSE4250/5250, UoIowa CS3820, LUC COMP371/471
- วิชาขั้นสูง: Language design & implementation
- เอกสารอื่น ๆ