ผลต่างระหว่างรุ่นของ "01204435"
ไปยังการนำทาง
ไปยังการค้นหา
Jittat (คุย | มีส่วนร่วม) (เปลี่ยนทางไปที่ 01204435 มโนทัศน์ภาษาโปรแกรม) |
Jittat (คุย | มีส่วนร่วม) (ลบการเปลี่ยนทางไป 01204435 มโนทัศน์ภาษาโปรแกรม) Tag: ลบหน้าเปล่ี่ยนทาง |
||
แถว 1: | แถว 1: | ||
− | + | ||
+ | หน้านี้เป็นหน้าของรายวิชา 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 | ||
+ | * Scope and function calls implementation | ||
+ | * Object-oriented programming | ||
+ | |||
+ | == เอกสารอ้างอิง == | ||
+ | |||
+ | == ลิงก์ == | ||
+ | * หน้ารายวิชาเมื่อปีการศึกษาต่าง ๆ: [[01204435-56|2556]] [http://www.cpe.ku.ac.th/~jtf/wiki/doku.php?id=204435-53 2553], [http://www.cpe.ku.ac.th/~jtf/wiki/doku.php?id=204435-52 2552] [[204435 มโนทัศน์ภาษาโปรแกรม 2550|2550]], [http://www.cpe.ku.ac.th/~jtf/204435-49/ 2549] | ||
+ | * วิชา Programming languages ที่มหาวิทยาลัยต่าง ๆ: [http://www.cs.williams.edu/~freund/cs334/index.html Williams College CS334], [https://sites.google.com/cs.washington.edu/cse341winter2022/ UW CSE314], [https://inst.eecs.berkeley.edu/~cs164/fa22/ Berkeley cs164], [https://stanford-cs242.github.io/f19/ Stanford CS242 (f19)], [https://web.stanford.edu/class/cs242/ Stanford CS242 (current)], [https://cs.fit.edu/~ryan/cse4250/ FIT CSE4250/5250], [https://homepage.cs.uiowa.edu/~tinelli/classes/3820/Fall18/ UoIowa CS3820], [https://lucproglangcourse.github.io/ LUC COMP371/471] | ||
+ | ** วิชาขั้นสูง: [https://web.eecs.umich.edu/~weimerw/2016-ldi/ Language design & implementation] | ||
+ | * เอกสารอื่น ๆ | ||
+ | ** [https://www.itu.dk/people/sestoft/plc/ หนังสือ Programming Language Concepts โดย Peter Sestoft] |
รุ่นแก้ไขเมื่อ 21:48, 21 พฤศจิกายน 2565
หน้านี้เป็นหน้าของรายวิชา 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
- Scope and function calls implementation
- 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
- เอกสารอื่น ๆ