ผลต่างระหว่างรุ่นของ "01204435"
ไปยังการนำทาง
ไปยังการค้นหา
Jittat (คุย | มีส่วนร่วม) |
Jittat (คุย | มีส่วนร่วม) (→ลิงก์) |
||
(ไม่แสดง 3 รุ่นระหว่างกลางโดยผู้ใช้คนเดียวกัน) | |||
แถว 50: | แถว 50: | ||
|- | |- | ||
| 4 || 19,21,23 ธ.ค. | | 4 || 19,21,23 ธ.ค. | ||
− | || แลบ Haskell | + | || แลบ Haskell 1 |
− | || แลบ Haskell | + | || แลบ Haskell 1 |
+ | || Haskell (ลิงก์ใน discord) | ||
+ | || | ||
+ | |- | ||
+ | | 5 || 26,28,30 ธ.ค. | ||
+ | || แลบ Haskell 1 | ||
+ | || แลบ Haskell 2 | ||
+ | || หยุด | ||
+ | || | ||
+ | |- | ||
+ | | 6 || 2,4,6 ม.ค. | ||
+ | || หยุด | ||
+ | || แลบ Haskell 2<br>Functional Programming | ||
+ | || Type Inference | ||
+ | || | ||
+ | |- | ||
+ | | 7 || 9,11,17 ม.ค. | ||
+ | || | ||
+ | || | ||
|| | || | ||
|| | || | ||
แถว 60: | แถว 78: | ||
== ลิงก์ == | == ลิงก์ == | ||
* หน้ารายวิชาเมื่อปีการศึกษาต่าง ๆ: [[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] | * หน้ารายวิชาเมื่อปีการศึกษาต่าง ๆ: [[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://www.cs.uni.edu/~wallingf/teaching/cs3540/ UNI cs3540] | + | * วิชา Programming languages ที่มหาวิทยาลัยต่าง ๆ: [http://www.cs.williams.edu/~freund/cs334/index.html Williams College CS334], [https://cseweb.ucsd.edu/~dstefan/cse130-winter18/ UCSD CSE130-w18] [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://www.cs.uni.edu/~wallingf/teaching/cs3540/ UNI cs3540] |
** วิชาขั้นสูง: [https://web.eecs.umich.edu/~weimerw/2016-ldi/ Language design & implementation] | ** วิชาขั้นสูง: [https://web.eecs.umich.edu/~weimerw/2016-ldi/ Language design & implementation] | ||
* เอกสารอื่น ๆ | * เอกสารอื่น ๆ | ||
** [https://www.itu.dk/people/sestoft/plc/ หนังสือ Programming Language Concepts โดย Peter Sestoft] | ** [https://www.itu.dk/people/sestoft/plc/ หนังสือ Programming Language Concepts โดย Peter Sestoft] |
รุ่นแก้ไขปัจจุบันเมื่อ 00:12, 13 มีนาคม 2566
หน้านี้เป็นหน้าของรายวิชา 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 ธ.ค. | หยุด | คลิป LISP [2] | แลบ Scheme (ต่อ) | |
3 | 12,14,16 ธ.ค. | หยุดอีก | Program Translation [3] |
Algol-familty languages [4] | |
4 | 19,21,23 ธ.ค. | แลบ Haskell 1 | แลบ Haskell 1 | Haskell (ลิงก์ใน discord) | |
5 | 26,28,30 ธ.ค. | แลบ Haskell 1 | แลบ Haskell 2 | หยุด | |
6 | 2,4,6 ม.ค. | หยุด | แลบ Haskell 2 Functional Programming |
Type Inference | |
7 | 9,11,17 ม.ค. |
เอกสารอ้างอิง
ลิงก์
- หน้ารายวิชาเมื่อปีการศึกษาต่าง ๆ: 2556 2553, 2552 2550, 2549
- วิชา Programming languages ที่มหาวิทยาลัยต่าง ๆ: Williams College CS334, UCSD CSE130-w18 UW CSE314, Berkeley cs164, Stanford CS242 (f19), Stanford CS242 (current), FIT CSE4250/5250, UoIowa CS3820, LUC COMP371/471, UNI cs3540
- วิชาขั้นสูง: Language design & implementation
- เอกสารอื่น ๆ