ผลต่างระหว่างรุ่นของ "01204435 มโนทัศน์ภาษาโปรแกรม"

จาก Theory Wiki
ไปยังการนำทาง ไปยังการค้นหา
(แทนที่เนื้อหาด้วย "หน้านี้เป็นหน้าของรายวิชา 01204435 มโนทัศน์ภาษาโปรแกร...")
Tag: ถูกแทน
แถว 2: แถว 2:
  
 
== ประกาศ ==
 
== ประกาศ ==
* วันที่ 19 ให้ติดตั้งภาษา Go มาด้วยครับ เราจะทดลองเขียนโปรแกรมแบบ concurrent กันครับ
 
* เกณฑ์การให้คะแนน: สอบกลางภาค 30%, สอบปลายภาค 30%, การบ้าน 13%, นำเสนอภาษาโปรแกรม 13%, โครงงานเล็ก (จะอธิบายในคาบต่อไป) 14%
 
* เนื้อหาที่ออกสอบกลางภาค: 1.เนื้อหาเกี่ยวกับภาษาโปรแกรมที่กล่าวถึงในห้องเรียน: javascript, haskell, scheme จะมีการเขียนบ้างและเปรียบเทียบบ้าง 2. Foundations, lambda calculus (ถามเกี่ยวกับ lambda expresion เช่นให้ evaluate และตัวแปรแบบ bind, free) 3. Scope and stack (ให้เขียนโครงสร้างของ activation records) 4. Type and type inference (ให้หา type ของ expression ต้องวาดต้นไม้และเขียนไล่เงื่อนไข) และ 5. Type classes
 
* [http://www.cpe.ku.ac.th/~jtf/204435/files/ รวมข้อสอบเก่า]
 
* สำหรับการเรียนในวันที่ 18 ก.ย. ให้ติดตั้ง [http://racket-lang.org/ DrRacket] มาด้วย
 
* สำหรับการเรียนในวันที่ 18 มิ.ย. ให้ติดตั้ง [http://www.haskell.org/haskellwiki/Haskell Haskell] มาด้วย โดยอาจจะติดตั้ง [http://www.haskell.org/platform/ the Haskell Platform] หรือจะติดตั้งเฉพาะ [http://www.haskell.org/ghc/ the Glasgow Haskell Compiler] ก็ได้
 
* สำหรับเนื้อหาภาคทฤษฎีเราจะใช้เนื้อหาจากวิชา [https://courseware.stanford.edu/pg/courses/lectures/317431 CS242 Programming Languages] จาก Stanford University
 
* เจอกันใน [https://www.facebook.com/groups/351015658334595/ facebook]
 
  
 
== การบ้าน ==
 
== การบ้าน ==
 
การส่งการบ้านโปรแกรมให้เมล์ไปที่อีเมล์ผู้สอน (เจ ไอ ที ที เอ ที แอต จีเมล์ ดอต คอม) โดยใช้ชื่อ subject ขึ้นต้นด้วย <tt>[01204435]</tt>
 
 
* การบ้าน 1: (การบ้านโปรแกรม) ทำแบบฝึกหัด Haskell 1 ใน [[01204435/haskell1]] ในส่วน แบบฝึกหัด Recursion ข้อ 1-4
 
* การบ้าน 2: (การบ้านทฤษฎี) ทำแบบฝึกหัดในเอกสารที่แจก: 3.2, 3.6, 6.1, 6.5, 6.6, 7.1, 7.7, 7.8, 7.12
 
** หมายเหตุ: ใน ML <tt>fn y => f(y)</tt> จะเป็นการสร้าง anonymous function ซึ่งจะเหมือนกับ <tt>\y -> (f y)</tt> ใน Haskell
 
 
== เนื้อหา ==
 
=== สัปดาห์ที่ 1 ===
 
* อังคารที่ 11 มิ.ย.: Introduction, Javascript
 
** เอกสารอ้างอิงเกี่ยวกับ javascript: [https://developer.mozilla.org/en-US/docs/Web/JavaScript หน้า JavaScript จาก MDN]
 
** [http://jsbooks.revolunet.com/ รวม e-book JavaScript]
 
* พฤหัสบดีที่ 13 มิ.ย.: ทดลอง [http://nodejs.org/ Node.js]
 
** การติดตั้ง node.js อ่านจาก [https://github.com/joyent/node/wiki node.js wiki]
 
** คลิปสำหรับดูเล่นก่อนเรียน: [http://www.youtube.com/watch?v=dO1zf4RXsTg Introduction of Node JS by Ryan Dahl (Creator of Node Js)]
 
** [[01204435/javascript|การทดลอง javascript/node.js]]
 
 
=== สัปดาห์ที่ 2 ===
 
* อังคารที่ 18 มิ.ย.: [[01204435/haskell1|ทดลอง Haskell]]
 
** อ่านประกอบ: [http://book.realworldhaskell.org/ Real World Haskell]
 
* พฤหัสบดีที่ 20 มิ.ย.: Introduction to Haskell (อ้างอิง slide จากวิชา cs242)
 
 
=== สัปดาห์ที่ 3 ===
 
* อังคารที่ 25 มิ.ย.: Foundations. (อ้างอิง slide จากวิชา cs242)
 
* พฤหัสบดีที่ 27 มิ.ย.: Scope and stack (อ้างอิง slide จากวิชา cs242)
 
 
=== สัปดาห์ที่ 4 ===
 
* อังคารที่ 2 กค.: Scope and stack (ต่อ) (อ้างอิง slide จากวิชา cs242)
 
* พฤหัสบดีที่ 4 กค.: [[01204435/haskell2|ทดลอง Haskell 2]]
 
 
=== สัปดาห์ที่ 5 ===
 
* อังคารที่ 16 กค.: Types and type inference
 
* พฤหัสบดีที่ 18 กค.: ทดลอง Racket (Scheme) [http://theory.cpe.ku.ac.th/wiki/images/01204435-lect02-scheme.pdf เอกสาร]
 
 
=== สัปดาห์ที่ 6 ===
 
* พฤหัส 25 ก.ค.: Type classes
 
 
=== สัปดาห์ที่ 7 ===
 
* อังคาร 6 ส.ค.: Monad I
 
* พฤหัส 8 ส.ค.: ปฏิบัติการ: ค้นข้อมูลเกี่ยวกับภาษาโปรแกรม
 
 
=== สัปดาห์ที่ 8 ===
 
* อังคาร 20 ส.ค.: Control/exception
 
* พฤหัส 22 ส.ค.: ปฏิบัติการ Smalltalk/Squeak
 
 
=== สัปดาห์ที่ 9 ===
 
* อังคาร 27 ส.ค.: Modularity, Objects
 
* พฤหัส 29 ส.ค.: Objects (cont)
 
 
=== สัปดาห์ที่ 10 ===
 
* อังคาร 3 ก.ย.: (+Dart) Objects (cont)
 
* พฤหัส 5 ก.ย.: (+Lua) เนื้อหาจากหัวข้อ Typed, class-based object-oriented languages: C++ and Java
 
 
=== สัปดาห์ที่ 11 ===
 
* อังคาร 10 ก.ย.: (+OCaml) เนื้อหาจากหัวข้อ Typed, class-based object-oriented languages: C++ and Java
 
* พฤหัส 12 ก.ย.: (+Cyclone) เนื้อหาจากหัวข้อ Typed, class-based object-oriented languages: C++ and Java
 
 
=== สัปดาห์ที่ 12 ===
 
* อังคาร 17 ก.ย.: (+Go) เนื้อหาจากหัวข้อ Subtyping
 
* พฤหัส 19 ก.ย.: (+Vala) เนื้อหาจากหัวข้อ Subtyping
 
 
=== สัปดาห์ที่ 13 ===
 
* อังคาร 24 ก.ย.: (+Zimbu) เนื้อหาจากหัวข้อ Java implementation, Templates and generics
 
* พฤหัส 26 ก.ย.: (+Scratch) เนื้อหาจากหัวข้อ Designing a programming language for education: Alice
 
 
== ซอฟต์แวร์ ==
 
 
  
 
== ลิงก์ ==
 
== ลิงก์ ==
* หน้ารายวิชาเมื่อปีการศึกษาต่าง ๆ: [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]

รุ่นแก้ไขเมื่อ 20:18, 21 พฤศจิกายน 2565

หน้านี้เป็นหน้าของรายวิชา 01204435 มโนทัศน์ภาษาโปรแกรม (Programming language concepts)

ประกาศ

การบ้าน

ลิงก์

  • หน้ารายวิชาเมื่อปีการศึกษาต่าง ๆ: 2556 2553, 2552 2550, 2549