ผลต่างระหว่างรุ่นของ "01204435"
ไปยังการนำทาง
ไปยังการค้นหา
Jittat (คุย | มีส่วนร่วม) |
Jittat (คุย | มีส่วนร่วม) |
||
แถว 38: | แถว 38: | ||
|| หยุด | || หยุด | ||
|| แลบ Scheme (ต่อ) | || แลบ Scheme (ต่อ) | ||
− | || คลิป LISP | + | || คลิป LISP [https://www.youtube.com/watch?v=CkLxmkhJF2U&list=PLii-CvAgf-8gqFo4F-vVtkw19QKedngqc&index=3] |
|| | || | ||
|- | |- |
รุ่นแก้ไขเมื่อ 23:03, 6 ธันวาคม 2565
หน้านี้เป็นหน้าของรายวิชา 01204435 มโนทัศน์ภาษาโปรแกรม (Programming language concepts)
ในมุมมองที่กว้างที่สุด ภาษาโปรแกรมเป็นเครื่องมือสำหรับอธิบายการคำนวณ (computation) อย่างไรก็ตามมุมมองของการคำนวณนั้นมีได้หลากหลาย เป็นจุดกำเนิดที่ทำให้เกิดภาษาโปรแกรมที่วางอยู่บนกระบวนทัศน์ (paradigm) ที่แตกต่างกันจำนวนมากมาย วิชานี้ มีเป้าหมายที่จะศึกษาแนวคิดต่าง ๆ ที่มีใช้ในภาษาโปรแกรมสมัยใหม่ เพื่อให้เข้าใจกระบวนการทำงาน ขีดจำกัด และผลกระทบที่มีต่อกระบวนการคิดวิเคราะห์ของผู้ใช้ เราจะมองภาษาภายใต้มุมมองของการออกแบบ (language design) เพื่อที่จะได้เห็นข้อดี-ข้อเสีย สำหรับทางเลือกต่าง ๆ นอกจากนี้ เราจะสนใจแนวคิดพื้นฐาน พร้อมกับเน้นกระบวนทัศน์ภาษาโปรแกรมที่สำคัญได้แก่การโปรแกรมเชิงฟังก์ชันและการโปรแกรมเชิงวัตถุ
ประกาศ
- YouTube playlist ของเนื้อหา
การบ้าน
หัวข้อ
- ด้านล่างเป็นหัวข้อแบบร่าง ๆ เท่านั้น อาจมีการเปลี่ยนแปลงได้เรื่อย ๆ
- 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
- Concurrency
เนื้อหาและตารางเรียน
สัปดาห์ | วันที่ | จันทร์ | พุธ | ศุกร์ | หมายเหตุ |
---|---|---|---|---|---|
1 | 28,30 พ.ย., 2 ธ.ค. | แนะนำภาพรวม จัดการการลงทะเบียน |
คลิป introduction [1] | แลบ Scheme คลิป, เอกสาร |
|
2 | 5,7,9 ธ.ค. | หยุด | แลบ Scheme (ต่อ) | คลิป LISP [2] | |
3 | 12,14,16 ธ.ค. | หยุดอีก |
เอกสารอ้างอิง
ลิงก์
- หน้ารายวิชาเมื่อปีการศึกษาต่าง ๆ: 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, UNI cs3540
- วิชาขั้นสูง: Language design & implementation
- เอกสารอื่น ๆ