ผลต่างระหว่างรุ่นของ "Oop lab"

จาก Theory Wiki
ไปยังการนำทาง ไปยังการค้นหา
 
(ไม่แสดง 10 รุ่นระหว่างกลางโดยผู้ใช้คนเดียวกัน)
แถว 1: แถว 1:
หน้านี้รวมเอกสารประกอบการเรียนการสอนวิชา '''การปฏิบัติการการเขียนโปรแกรมเชิงวัตถุ''' ภาคต้นปีการศึกษา 2559
+
หน้านี้รวมเอกสารประกอบการเรียนการสอนวิชา '''การปฏิบัติการการเขียนโปรแกรมเชิงวัตถุ''' ภาคต้นปีการศึกษา 2560
  
== Part 1: Java ==
+
== Part 0: Intro (Java+Greenfoot) ==
 
=== Week1 (11 Aug) ===
 
=== Week1 (11 Aug) ===
 
* [http://www.greenfoot.org/home Greenfoot]
 
* [http://www.greenfoot.org/home Greenfoot]
 
** Download Mirror: [http://theory.cpe.ku.ac.th/~jittat/greenfoot/ ku mirror]
 
** Download Mirror: [http://theory.cpe.ku.ac.th/~jittat/greenfoot/ ku mirror]
 
* Tutorials
 
* Tutorials
** [[Greenfoot/tutorial 1|ตอนที่ 1]] - การเรียกเมท็อดการสร้างวัตถุ, สถานการณ์ wombat แปลจาก [http://www.greenfoot.org/doc/tut-1 Tutorial 1]
+
** [http://www.greenfoot.org/doc/tut-1 Tutorial 1] - การเรียกเมท็อดการสร้างวัตถุ, สถานการณ์ wombat  
** [[Greenfoot/tutorial 2|ตอนที่ 2]] - สถานการณ์ crab, เมท็อด act, การควบคุมด้วย keyboard แปลจาก [http://www.greenfoot.org/doc/tut-2 Tutorial 2]
+
*** คลิปประกอบ https://www.youtube.com/watch?v=cCjoQe5E3bY
** [[Greenfoot/tutorial 3|ตอนที่ 3]] - สร้างคลาส, การหาวัตถุที่อยู่ในโลก, refactoring แปลจาก [http://www.greenfoot.org/doc/tut-3 Tutorial 3]
+
** [http://www.greenfoot.org/doc/tut-2 Tutorial 2] - สถานการณ์ crab, เมท็อด act, การควบคุมด้วย keyboard  
** [[Greenfoot/tutorial 4|ตอนที่ 4]] - เก็บ world, เล่นเสียง แปลจาก [http://www.greenfoot.org/doc/tut-4 Tutorial 4]
+
*** คลิปประกอบ https://www.youtube.com/watch?v=xAMZKA0_5rg
** [[Greenfoot/tutorial 5|ตอนที่ 5]] - สร้างศัตรู, เลขสุ่ม แปลจาก [http://www.greenfoot.org/doc/tut-5 Tutorial 5]
+
** [http://www.greenfoot.org/doc/tut-3 Tutorial 3] - สร้างคลาส, การหาวัตถุที่อยู่ในโลก, refactoring  
 +
*** คลิปประกอบ https://www.youtube.com/watch?v=pWj5BGzykL0
 +
** [http://www.greenfoot.org/doc/tut-4 Tutorial 4] - เก็บ world, เล่นเสียง  
 +
*** คลิปประกอบ https://www.youtube.com/watch?v=WsJVPiYPz4A
 +
** [http://www.greenfoot.org/doc/tut-5 Tutorial 5] - สร้างศัตรู, เลขสุ่ม  
 +
*** คลิปประกอบ https://www.youtube.com/watch?v=NYQekLPycpc
 
* เอกสารอื่น ๆ
 
* เอกสารอื่น ๆ
 
** [http://www.greenfoot.org/doc/howto-1 การอ้างถึง object อื่น]
 
** [http://www.greenfoot.org/doc/howto-1 การอ้างถึง object อื่น]
แถว 16: แถว 21:
 
=== Week2 (18 Aug) ===
 
=== Week2 (18 Aug) ===
 
* greenfoot project + presentation
 
* greenfoot project + presentation
 +
 +
== Part 1: Python ==
 +
=== Week 3 ===
 +
* Python: งูเหลือมตะลุยจักรวาล [http://www.cpe.ku.ac.th/~cpj/204223/labsheets/s03-python.pdf เอกสาร pdf]
 +
** '''เอกสารเขียนโดยใช้ Python 2 อย่างไรก็ตามเราจะใช้ Python 3''' [[oop lab/python ตะลุยจักรวาล ปรับแก้ 2-3|อ่านการปรับแก้ที่นี่]]
 +
** การเลือก editor:
 +
*** บน Ubuntu: สามารถใช้ gedit ซึ่งเป็น editor ที่ติดมากับ ubuntu อย่างไรก็ตามเพื่อความสะดวกในการเขียนโปรแกรม Python ควรเปลี่ยน syntax highlight mode เป็น Python, ปรับ tab ให้มีขนาด 4 ช่อง และให้ gedit ใส่ spaces แทน tab ให้ด้วย
 +
** [http://theory.cpe.ku.ac.th/~jittat/223/python/ โหลดไฟล์สำหรับทำแลบที่นี่]
 +
** [http://theory.cpe.ku.ac.th/~jittat/204111/ สไลด์เนื้อหาไพธอน]
 +
 +
=== Week 4 ===
 +
*  [[Oop lab/oop in python|การเขียนโปรแกรมเชิงวัตถุบน Python]]
 +
* คลิปอื่น ๆ เพิ่มเติม:
 +
** คลิป OOP บน Python: [http://www.youtube.com/watch?v=o9wAnP20ovQ ตอนที่ 1], [http://www.youtube.com/watch?v=vm0K_l7O-eQ ตอนที่ 2], [http://www.youtube.com/watch?v=3Jd2b5NydTQ ตอนที่ 3], [http://www.youtube.com/watch?v=bc-l0oMY16U ตอนที่ 4]
 +
* Task breakdown
 +
 +
=== Week 5 ===
 +
* Development techniques: version control -- git: [https://www.youtube.com/watch?v=9vtjSo9IIBM คลิปแนะนำ Git]
 +
** [[Oop lab/git|หัดใช้ git]]
 +
* Arcade Tutorial 1: [[Oop_lab/arcade/space|เกมยานอวกาศ]]
 +
 +
=== Week 6 ===
 +
* Arcade tutorial 2: [[Oop lab/arcade/snake|Snake]]
 +
** ตัวอย่างเพิ่มเติม: [https://gitlab.com/jittat/arcade-dotrun dotrun]
 +
* TDD บน Python [http://www.youtube.com/watch?v=wmTyuKsp4yk ตอนที่ 1], [http://www.youtube.com/watch?v=4E4AUyUD8w8 ตอนที่ 2], [http://www.youtube.com/watch?v=4E4AUyUD8w8 ตอนที่ 3]
 +
 +
== Part 2: Java ==
 +
=== Week X ===
 +
* ส่วนแรก แนะนำ Java + Unit testing
 +
** คลิปประกอบ:
 +
*** [http://www.youtube.com/watch?v=zU5cEv1Ipqc แนะนำวิชา]
 +
*** [http://www.youtube.com/watch?v=KuiLO6EToDc แนะนำ Java, IDE, และ Coding convention]
 +
*** [http://www.youtube.com/watch?v=VHh1MfaykAs Unit testing และ JUnit]
 +
** Lab: [[oop lab/java1|แนะนำ Java และ Junit]]
 +
* ส่วนสอง เริ่มต้น OOP
 +
** คลิปประกอบ:
 +
*** [http://www.youtube.com/watch?v=cfWu-BH3dCU แนะนำการเขียนโปรแกรมเชิงวัตถุ 1]
 +
*** [http://www.youtube.com/watch?v=KFD9U7UlOUA แนะนำการเขียนโปรแกรมเชิงวัตถุ 2] - ตัวอย่างการเขียนคลาส Counter
 +
** Lab:
 +
*** [[oop lab/oop intro 1|ทดลองเขียนคลาส 1]]
 +
** [[oop lab/sokoban|หัด TDD กับเกม Sokoban]]
 +
 +
=== Week X+1 ===
 +
* โครงสร้างของเกมบน libgdx
 +
** [[oop lab/gdx examples|ทดลองโค้ดตัวอย่าง]]
 +
* Tutorial: [[oop lab/gdx/pacman|เกม Pacman]]
 +
 +
=== Week X+2 ===
 +
* [[oop lab/example codes|ตัวอย่างโค้ด Java เพื่อทบทวน oop]]
 +
* คลิปเกี่ยวกับ subclass จากปีการศึกษาก่อน  ในตัวอย่างเป็นการเขียนบน Slick2D แต่แนวคิดน่าจะใช้กันได้ครับ
 +
** คลิป: [http://www.youtube.com/watch?v=P5bfCJoW_yc การสร้าง subclass เพื่อเพิ่มความสามารถพิเศษเฉพาะกลุ่ม]
 +
** คลิป: [http://www.youtube.com/watch?v=De81R1LXZqw ตัวอย่างการใช้ interface เพื่อระบุเมท็อดที่คลาสต้อง implement]
 +
** คลิป: [http://www.youtube.com/watch?v=ufCHMsXH9U0 Type ใน Java]
 +
* ตัวอย่าง inheritance 1: [[oop lab/gdx/pacman rev|เพิ่ม Pacman เดินกลับข้างในเกม Pacman]]
  
 
== ลิงก์ ==
 
== ลิงก์ ==
 
* [[Oop lab-57|เอกสารจากปีการศึกษา 2557]]
 
* [[Oop lab-57|เอกสารจากปีการศึกษา 2557]]
 
* [[Oop lab-59|เอกสารจากปีการศึกษา 2559]]
 
* [[Oop lab-59|เอกสารจากปีการศึกษา 2559]]

รุ่นแก้ไขปัจจุบันเมื่อ 02:06, 10 พฤศจิกายน 2560

หน้านี้รวมเอกสารประกอบการเรียนการสอนวิชา การปฏิบัติการการเขียนโปรแกรมเชิงวัตถุ ภาคต้นปีการศึกษา 2560

Part 0: Intro (Java+Greenfoot)

Week1 (11 Aug)

Week2 (18 Aug)

  • greenfoot project + presentation

Part 1: Python

Week 3

Week 4

Week 5

Week 6

Part 2: Java

Week X

Week X+1

Week X+2

ลิงก์