ผลต่างระหว่างรุ่นของ "Oop lab"
ไปยังการนำทาง
ไปยังการค้นหา
Jittat (คุย | มีส่วนร่วม) |
Jittat (คุย | มีส่วนร่วม) |
||
(ไม่แสดง 9 รุ่นระหว่างกลางโดยผู้ใช้คนเดียวกัน) | |||
แถว 1: | แถว 1: | ||
หน้านี้รวมเอกสารประกอบการเรียนการสอนวิชา '''การปฏิบัติการการเขียนโปรแกรมเชิงวัตถุ''' ภาคต้นปีการศึกษา 2560 | หน้านี้รวมเอกสารประกอบการเรียนการสอนวิชา '''การปฏิบัติการการเขียนโปรแกรมเชิงวัตถุ''' ภาคต้นปีการศึกษา 2560 | ||
− | == Part | + | == 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 | ||
− | ** [ | + | ** [http://www.greenfoot.org/doc/tut-1 Tutorial 1] - การเรียกเมท็อดการสร้างวัตถุ, สถานการณ์ wombat |
− | + | *** คลิปประกอบ https://www.youtube.com/watch?v=cCjoQe5E3bY | |
− | + | ** [http://www.greenfoot.org/doc/tut-2 Tutorial 2] - สถานการณ์ crab, เมท็อด act, การควบคุมด้วย keyboard | |
− | + | *** คลิปประกอบ https://www.youtube.com/watch?v=xAMZKA0_5rg | |
− | + | ** [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)
- Greenfoot
- Download Mirror: ku mirror
- Tutorials
- Tutorial 1 - การเรียกเมท็อดการสร้างวัตถุ, สถานการณ์ wombat
- คลิปประกอบ https://www.youtube.com/watch?v=cCjoQe5E3bY
- Tutorial 2 - สถานการณ์ crab, เมท็อด act, การควบคุมด้วย keyboard
- คลิปประกอบ https://www.youtube.com/watch?v=xAMZKA0_5rg
- Tutorial 3 - สร้างคลาส, การหาวัตถุที่อยู่ในโลก, refactoring
- คลิปประกอบ https://www.youtube.com/watch?v=pWj5BGzykL0
- Tutorial 4 - เก็บ world, เล่นเสียง
- คลิปประกอบ https://www.youtube.com/watch?v=WsJVPiYPz4A
- Tutorial 5 - สร้างศัตรู, เลขสุ่ม
- คลิปประกอบ https://www.youtube.com/watch?v=NYQekLPycpc
- Tutorial 1 - การเรียกเมท็อดการสร้างวัตถุ, สถานการณ์ wombat
- เอกสารอื่น ๆ
Week2 (18 Aug)
- greenfoot project + presentation
Part 1: Python
Week 3
- Python: งูเหลือมตะลุยจักรวาล เอกสาร pdf
- เอกสารเขียนโดยใช้ Python 2 อย่างไรก็ตามเราจะใช้ Python 3 อ่านการปรับแก้ที่นี่
- การเลือก editor:
- บน Ubuntu: สามารถใช้ gedit ซึ่งเป็น editor ที่ติดมากับ ubuntu อย่างไรก็ตามเพื่อความสะดวกในการเขียนโปรแกรม Python ควรเปลี่ยน syntax highlight mode เป็น Python, ปรับ tab ให้มีขนาด 4 ช่อง และให้ gedit ใส่ spaces แทน tab ให้ด้วย
- โหลดไฟล์สำหรับทำแลบที่นี่
- สไลด์เนื้อหาไพธอน
Week 4
- การเขียนโปรแกรมเชิงวัตถุบน Python
- คลิปอื่น ๆ เพิ่มเติม:
- Task breakdown
Week 5
- Development techniques: version control -- git: คลิปแนะนำ Git
- Arcade Tutorial 1: เกมยานอวกาศ
Week 6
Part 2: Java
Week X
- ส่วนแรก แนะนำ Java + Unit testing
- ส่วนสอง เริ่มต้น OOP
- คลิปประกอบ:
- แนะนำการเขียนโปรแกรมเชิงวัตถุ 1
- แนะนำการเขียนโปรแกรมเชิงวัตถุ 2 - ตัวอย่างการเขียนคลาส Counter
- Lab:
- หัด TDD กับเกม Sokoban
- คลิปประกอบ:
Week X+1
- โครงสร้างของเกมบน libgdx
- Tutorial: เกม Pacman
Week X+2
- ตัวอย่างโค้ด Java เพื่อทบทวน oop
- คลิปเกี่ยวกับ subclass จากปีการศึกษาก่อน ในตัวอย่างเป็นการเขียนบน Slick2D แต่แนวคิดน่าจะใช้กันได้ครับ
- ตัวอย่าง inheritance 1: เพิ่ม Pacman เดินกลับข้างในเกม Pacman