614185001 เทคนิคการสอนโปรแกรม python ... · 2018-07-19 ·...

66
614185001 เทคนิคการสอนโปรแกรม Python ง่าย ๆ ให้ได้ใจนักเรˣยน ระดับมัธยมปลาย ตามหลักสูตรใหม่ Intermediate รศ.ดร.ลัญฉกร วุฒิสิทธิกุลกิจ ผศ.ดร.โปรดปราน บุณยพุกกณะ ดร.นฤมล ประทานวณิช ดร.เอกพล ช่วงสุวนิช

Upload: others

Post on 28-Feb-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 614185001 เทคนิคการสอนโปรแกรม Python ... · 2018-07-19 · ระดับมัธยมปลาย ตามหลักสูตรใหม่

614185001เทคนิคการสอนโปรแกรม Python ง่าย ๆ ให้ได้ใจนักเรยน

ระดับมัธยมปลาย ตามหลักสูตรใหม่Intermediate

รศ.ดร.ลัญฉกร วุฒิสิทธิกุลกิจผศ.ดร.โปรดปราน บุณยพุกกณะ

ดร.นฤมล ประทานวณิชดร.เอกพล ช่วงสุวนิช

Page 2: 614185001 เทคนิคการสอนโปรแกรม Python ... · 2018-07-19 · ระดับมัธยมปลาย ตามหลักสูตรใหม่

แนะนําวทยากร

รศ.ดร.ลัญฉกร วุฒิสิทธิกุลกิจตําแหน่งงานปจจุบัน

อาจารย์ประจําภาควชาวศวกรรมไฟฟาจุฬาลงกรณ์มหาวทยาลัย

ดร.เอกพล ช่วงสุวนิชตําแหน่งงานปจจุบันอาจารย์ประจําภาควชาภาควชา

วศวกรรมคอมพิวเตอร์จุฬาลงกรณ์มหาวทยาลัย

ดร.นฤมล ประทานวณิชตําแหน่งงานปจจุบัน

อาจารย์ประจําภาควชาคณิตศาสตร์และวทยาการคอมพิวเตอร์จุฬาลงกรณ์มหาวทยาลัย

ผศ.ดร.โปรดปราน บุณยพุกกณะตําแหน่งงานปจจุบัน

อาจารย์ประจําคณะวศวกรรมศาสตร์ จุฬาลงกรณ์มหาวทยาลัย

Page 3: 614185001 เทคนิคการสอนโปรแกรม Python ... · 2018-07-19 · ระดับมัธยมปลาย ตามหลักสูตรใหม่

ภาพรวมของเนือหา

•บทที 1 แนวคิดเชิงคํานวณ•บทที 2 การแก้ปญหา•บทที 3 การเขียนโปรแกรมด้วยภาษาPython(1)•บทที 4 การเขียนโปรแกรมด้วยภาษาPython(2)•บทที 5 การแก้ปญหาทีซับซ้อน•บทที 6 การพัฒนาโครงงาน

Page 4: 614185001 เทคนิคการสอนโปรแกรม Python ... · 2018-07-19 · ระดับมัธยมปลาย ตามหลักสูตรใหม่

บทที 1 แนวคิดเชิงคํานวณ

Page 5: 614185001 เทคนิคการสอนโปรแกรม Python ... · 2018-07-19 · ระดับมัธยมปลาย ตามหลักสูตรใหม่

บทที 1 แนวคิดเชิงคํานวณ

• วทยาการคํานวณคืออะไร•แนวคิดเชิงคํานวณ•การออกแบบขันตอนวธี•การแยกส่วนประกอบและการย่อยปญหา•การหารูปแบบ•การคิดเชิงนามธรรม•แนวทางการสอนและการจัดกิจกรรม

Page 6: 614185001 เทคนิคการสอนโปรแกรม Python ... · 2018-07-19 · ระดับมัธยมปลาย ตามหลักสูตรใหม่

บทที 1 แนวคิดเชิงคํานวณ

• วทยาการคํานวณคืออะไร•แนวคิดเชิงคํานวณ•การออกแบบขันตอนวธี•การแยกส่วนประกอบและการย่อยปญหา•การหารูปแบบ•การคิดเชิงนามธรรม•แนวทางการสอนและการจัดกิจกรรม

Page 7: 614185001 เทคนิคการสอนโปรแกรม Python ... · 2018-07-19 · ระดับมัธยมปลาย ตามหลักสูตรใหม่

1.1 วทยาการคํานวณคืออะไร

• วทยาการคํานวณ (Computing Science) เปนศาสตร์ทีศึกษาการ “ออกแบบ” (สร้าง) องค์ประกอบต่างๆ ของคอมพิวเตอร์ และนําคอมพิวเตอร์มา “ใช้งาน” เพือแก้ปญหาและอํานวยความสะดวกต่างๆ

ออกแบบ ใช้งาน

Page 8: 614185001 เทคนิคการสอนโปรแกรม Python ... · 2018-07-19 · ระดับมัธยมปลาย ตามหลักสูตรใหม่

1.1 วทยาการคํานวณคืออะไร

•“ออกแบบ” (สร้าง) องค์ประกอบต่างๆ ของคอมพิวเตอร์

ออกแบบหน่วยประมวลผล

เขียนโปรแกรม

สร้างเครอข่ายคอมพิวเตอร์

สร้างฐานข้อมูล

Page 9: 614185001 เทคนิคการสอนโปรแกรม Python ... · 2018-07-19 · ระดับมัธยมปลาย ตามหลักสูตรใหม่

•“ใช้งาน” คอมพิวเตอร์เพือแก้ปญหา หรออํานวยความสะดวก

1.1 วทยาการคํานวณคืออะไร

จัดการเอกสาร

ค้นหาข้อมูล

ส่งอีเมล

เล่นเกมและความบันเทิง

Page 10: 614185001 เทคนิคการสอนโปรแกรม Python ... · 2018-07-19 · ระดับมัธยมปลาย ตามหลักสูตรใหม่

•“ใช้งาน” คอมพิวเตอร์เพือแก้ปญหา หรออํานวยความสะดวก

1.1 วทยาการคํานวณคืออะไร

สือสังคมออนไลน์

ซือ-ขายสินค้าออนไลน์

นา ิกาอัจฉรยะ

การเกษตรอัจฉรยะ

Page 11: 614185001 เทคนิคการสอนโปรแกรม Python ... · 2018-07-19 · ระดับมัธยมปลาย ตามหลักสูตรใหม่

•ตัวอย่างกิจกรรม

1.1 วทยาการคํานวณคืออะไร

ให้นักเรยนช่วยกันระบุสิงของในโรงเรยน หรอในชีวตประจําวัน

ทีมีระบบคอมพิวเตอร์ หรออาศัยระบบคอมพิวเตอร์ในการทํางาน

Page 12: 614185001 เทคนิคการสอนโปรแกรม Python ... · 2018-07-19 · ระดับมัธยมปลาย ตามหลักสูตรใหม่

•ตัวอย่างกิจกรรม

1.1 วทยาการคํานวณคืออะไร

ให้นักเรยนช่วยกันระบุข้อดีและข้อเสีย

ของการใช้งานคอมพิวเตอร์ทีพบในชีวตประจําวัน

Page 13: 614185001 เทคนิคการสอนโปรแกรม Python ... · 2018-07-19 · ระดับมัธยมปลาย ตามหลักสูตรใหม่

1.1 วทยาการคํานวณคืออะไร

•หัวข้อทาง “วทยาการคํานวณ” ทีน่าสนใจ• แนวคิดเชิงคํานวณ• การเขียนโปรแกรมเพือแก้ปญหา• หลักการทํางานของระบบคอมพิวเตอร์• การรวบรวมข้อมูล ประมวลผล ประเมินผล และนําเสนอข้อมูลและสารสนเทศ• การใช้เทคโนโลยีสารสนเทศอย่างปลอดภัยและมีความรับผิดชอบต่อสังคม• การพัฒนาโครงงานทางเทคโนโลยีสารสนเทศ

Page 14: 614185001 เทคนิคการสอนโปรแกรม Python ... · 2018-07-19 · ระดับมัธยมปลาย ตามหลักสูตรใหม่

บทที 1 แนวคิดเชิงคํานวณ

• วทยาการคํานวณคืออะไร•แนวคิดเชิงคํานวณ•การออกแบบขันตอนวธี•การแยกส่วนประกอบและการย่อยปญหา•การหารูปแบบ•การคิดเชิงนามธรรม•แนวทางการสอนและการจัดกิจกรรม

Page 15: 614185001 เทคนิคการสอนโปรแกรม Python ... · 2018-07-19 · ระดับมัธยมปลาย ตามหลักสูตรใหม่

1.2 แนวคิดเชิงคํานวณ

•แนวคิดเชิงคํานวณ (Computational Thinking) เปนแนวคิดทีใช้การวเคราะห์และตรรกะประกอบกัน ทําให้เราสามารถใช้คอมพิวเตอร์เพือแก้ปญหาได้อย่างมีประสิทธิภาพ

•ศาสตร์ทีเกียวข้องกับแนวคิดเชิงคํานวณ ได้แก่ คณิตศาสตร์ และ วทยาศาสตร์ แต่เราสามารถนําแนวคิดเชิงคํานวณไปใช้แก้ปญหาในศาสตร์อืนๆ ได้

Page 16: 614185001 เทคนิคการสอนโปรแกรม Python ... · 2018-07-19 · ระดับมัธยมปลาย ตามหลักสูตรใหม่

1.2 แนวคิดเชิงคํานวณ

แนวคิดเชิงคํานวณ

การแยกส่วนประกอบและการย่อยปญหา

การออกแบบขันตอนวธี

การคิดเชิงนามธรรมการหารูปแบบ

Page 17: 614185001 เทคนิคการสอนโปรแกรม Python ... · 2018-07-19 · ระดับมัธยมปลาย ตามหลักสูตรใหม่

บทที 1 แนวคิดเชิงคํานวณ

• วทยาการคํานวณคืออะไร•แนวคิดเชิงคํานวณ•การออกแบบขันตอนวธี•การแยกส่วนประกอบและการย่อยปญหา•การหารูปแบบ•การคิดเชิงนามธรรม•แนวทางการสอนและการจัดกิจกรรม

Page 18: 614185001 เทคนิคการสอนโปรแกรม Python ... · 2018-07-19 · ระดับมัธยมปลาย ตามหลักสูตรใหม่

1.3 การออกแบบขันตอนวธี

•ขันตอนวธี (Algorithm) คือ ลําดับขันตอนการแก้ปญหาหรอการทํางาน

•ลักษณะของขันตอนวธีทีดี• มีความชัดเจน ไม่กํากวม สามารถปฏิบัติตามได้• มีขันตอนการเรมต้น และขันตอนการสินสุดกระบวนการ• มีหน้าทีชัดเจน ว่าจะแก้ปญหาใด

Page 19: 614185001 เทคนิคการสอนโปรแกรม Python ... · 2018-07-19 · ระดับมัธยมปลาย ตามหลักสูตรใหม่

1.3 การออกแบบขันตอนวธี

•การอธิบายขันตอนวธี สามารถทําได้หลายแบบรหัสลําลอง ผังงาน ภาษาโปรแกรม

1. ตังกระทะบนเตาแก๊ส2. เปดเตาแก๊ส3. ใส่นามันลงในกระทะ4. รอให้นามันร้อน5. ตอกไข่ลงในกระทะ6. รอให้ไข่สุก7. ตักไข่ขึนมาจากกระทะ8. ปดเตาแก๊ส

a = input(‘ใส่ค่า a’)b = input(‘ใส่ค่า b’)if a > b: print(‘a มีค่ามากกว่า b’)if a < b: print(‘b มีค่ามากกว่า a’)if a == b: print(‘a มีค่าเท่ากับ b’)

เรมต้น

คะแนนน้อยกว่า 50 คะแนน ใช่ไหม

ดูคะแนนนสอบ

ขอสอบแก้ตัว

สินสุด

ไม่ใช่

ใช่

ดูคะแนนสอบทําไข่ดาว เปรยบเทียบจํานวน

Page 20: 614185001 เทคนิคการสอนโปรแกรม Python ... · 2018-07-19 · ระดับมัธยมปลาย ตามหลักสูตรใหม่

1.3 การออกแบบขันตอนวธี

•ขันตอนวธีทีใช้แก้ปญหาเดียวกัน อาจมีได้หลายแบบ

เดินตรงไปถึงแยก B

เลียวขวา

เดินตรงไปถึงโรงเรยน

เดินตรงไปถึงแยก A

เดินตรงไปถึงแยก C

เลียวขวา

เดินตรงไปถึงโรงเรยน

เลียวซ้าย

เดินตรงไปถึงแยก A

เดินตรงไปถึงแยก D

เลียวขวา

เดินตรงไปถึงโรงเรยน

เลียวซ้าย

เดินตรงไปถึงแยก E

เลียวขวา

ขันตอนวธีที 1 ขันตอนวธีที 2 ขันตอนวธีที 3

เดินจากบ้านไปโรงเรยนได้อย่างไร?

A

B

C D

E

Page 21: 614185001 เทคนิคการสอนโปรแกรม Python ... · 2018-07-19 · ระดับมัธยมปลาย ตามหลักสูตรใหม่

•ตัวอย่างกิจกรรม

1.3 การออกแบบขันตอนวธี

มีขันตอนการทําบะหมีกึงสําเร็จรูปมาให้ ให้นักเรยนช่วยกันเรยงลําดับขันตอน

ให้สามารถทํางานได้ถูกต้องอาจมีการเรยงลําดับได้หลายแบบ

ฉีกซองบะหมี

ใส่เส้นบะหมีลงในชาม

ใส่ผงเครองปรุงลงในชาม

เติมนาร้อน

รอ 3 นาที

ต้มนาให้ร้อน

Page 22: 614185001 เทคนิคการสอนโปรแกรม Python ... · 2018-07-19 · ระดับมัธยมปลาย ตามหลักสูตรใหม่

•ตัวอย่างกิจกรรม

1.3 การออกแบบขันตอนวธี

ให้นักเรยนช่วยกันเขียนขันตอนวธีในการทําสิงต่างๆ ในชีวตประจําวัน

เช่น การทํางานประดิษฐ์การซักรดเสือผ้า เปนต้น

Page 23: 614185001 เทคนิคการสอนโปรแกรม Python ... · 2018-07-19 · ระดับมัธยมปลาย ตามหลักสูตรใหม่

•ตัวอย่างกิจกรรม

1.3 การออกแบบขันตอนวธี

ให้นักเรยนเขียนขันตอนวธีทีมีเงือนไขและการตัดสินใจ

เช่น ถ้าอากาศดี จะไปสวนสาธารณะแต่ถ้าฝนตก จะไปห้างสรรพสินค้า

เปนต้น

Page 24: 614185001 เทคนิคการสอนโปรแกรม Python ... · 2018-07-19 · ระดับมัธยมปลาย ตามหลักสูตรใหม่

•ตัวอย่างกิจกรรม

1.3 การออกแบบขันตอนวธี

ให้นักเรยนนําเสนอขันตอนวธีของตนเอง และเปรยบเทียบกับนักเรยนคนอืนว่า

เหมือนหรอแตกต่างกันอย่างไรของใครอ่านแล้วเข้าใจได้ง่ายกว่า

Page 25: 614185001 เทคนิคการสอนโปรแกรม Python ... · 2018-07-19 · ระดับมัธยมปลาย ตามหลักสูตรใหม่

1.3 การออกแบบขันตอนวธี

•ประโยชน์ของ “การออกแบบขันตอนวธี”• ได้การทํางานทเีปนระบบ• ผู้ปฏิบัติ (อาจจะเปนคนหรอคอมพิวเตอร์) สามารถนําไปทําตามได้ถูกต้อง• ได้ผลลัพธ์ทีถูกต้องตามทีต้องการ• สามารถตรวจสอบจุดผิดพลาดได้ง่าย

Page 26: 614185001 เทคนิคการสอนโปรแกรม Python ... · 2018-07-19 · ระดับมัธยมปลาย ตามหลักสูตรใหม่

1.3 การออกแบบขันตอนวธี

•ตัวอย่างขันตอนวธีในการแก้ปญหาทางคณิตศาสตร์และวทยาศาสตร์

ให้ ฐ แทนความยาวของฐานสามเหลียม

พืนที = 1/2 x ฐ x ส

ให้ ส แทนความสูงของสามเหลียม

ตอบค่าพืนทีสามเหลียม

ขันตอนวธีการคํานวณพืนทีสามเหลียมให้ ฐ = 3 cm

พืนที = 1/2 x 3 x 4 = 6 cm2

ให้ ส = 4 cm

ตอบค่าพืนทีสามเหลียม = 6 cm2

ทําตามขันตอนวธี

3 cm

4 cm

Page 27: 614185001 เทคนิคการสอนโปรแกรม Python ... · 2018-07-19 · ระดับมัธยมปลาย ตามหลักสูตรใหม่

1.3 การออกแบบขันตอนวธี

•ตัวอย่างขันตอนวธีในการแก้ปญหาทางคณิตศาสตร์และวทยาศาสตร์

•จํานวนเฉพาะ คือจํานวนเต็มบวกทีมีเพียง 1 และตัวมันเองเท่านันทีหารลงตัว

จํานวนเฉพาะ เช่น 2, 7, 13, 37, ...

จํานวนทีไม่เปนจํานวนเฉพาะเช่น 1, 4, 10, 28, 57, ...

เรมต้น

ให้ x แทนจํานวนเต็มบวกทีจะตรวจสอบ

ไม่ใช่

ใช่ x < 2หรอไม่

เขียนตัวเลขตังแต่ 2 ถึง x – 1 ลงบนกระดาษ

ยังมีตัวเลขเหลือบนกระดาษ

x/y ลงตัวหรอไม่

ลบเลข y บนกระดาษ

สินสุด

x ไม่เปนจํานวนเฉพาะ x เปนจํานวนเฉพาะ

ใช่

ไม่ใช่

ใช่

ไม่ใช่

เลือกเลขบนกระดาษมา 1 ตัว เรยกว่า y

ใช่

ไม่ใช่

Page 28: 614185001 เทคนิคการสอนโปรแกรม Python ... · 2018-07-19 · ระดับมัธยมปลาย ตามหลักสูตรใหม่

1.3 การออกแบบขันตอนวธี

•ตัวอย่างขันตอนวธีในการแก้ปญหาทางคณิตศาสตร์และวทยาศาสตร์

•ถ้า x = 7จะเขียนเลข 2, 3, 4, 5, 6ซึงไม่มีตัวใดหาร 7 ลงตัวได้ว่า 7 เปนจํานวนเฉพาะ•ถ้า x = 9จะเขียนเลข 2, 3, 4, 5, 6, 7, 8จะพบว่า 9 หาร 3 ลงตัวได้ว่า 9 ไม่เปนจํานวนเฉพาะ

เรมต้น

ให้ x แทนจํานวนเต็มบวกทีจะตรวจสอบ

ไม่ใช่

ใช่ x < 2หรอไม่

เขียนตัวเลขตังแต่ 2 ถึง x – 1 ลงบนกระดาษ

ยังมีตัวเลขเหลือบนกระดาษ

x/y ลงตัวหรอไม่

ลบเลข y บนกระดาษ

สินสุด

x ไม่เปนจํานวนเฉพาะ x เปนจํานวนเฉพาะ

ใช่

ไม่ใช่

ใช่

ไม่ใช่

เลือกเลขบนกระดาษมา 1 ตัว เรยกว่า y

ใช่

ไม่ใช่

Page 29: 614185001 เทคนิคการสอนโปรแกรม Python ... · 2018-07-19 · ระดับมัธยมปลาย ตามหลักสูตรใหม่

•ตัวอย่างกิจกรรม

1.3 การออกแบบขันตอนวธี

จากผังงานการตรวจสอบจํานวนเฉพาะให้นักเรยนลองตรวจสอบจํานวนต่างๆ

ว่าเปนจํานวนเฉพาะหรอไม่โดยดําเนินการตามผังงานทีละขันตอน

Page 30: 614185001 เทคนิคการสอนโปรแกรม Python ... · 2018-07-19 · ระดับมัธยมปลาย ตามหลักสูตรใหม่

•ตัวอย่างกิจกรรม

1.3 การออกแบบขันตอนวธี

ให้นักเรยนเขียนขันตอนวธีการแปลงอุณหภูมิจากองศาฟาเรนไฮต์เปนองศาเซลเซียส โดยใช้ความสัมพันธ์

Page 31: 614185001 เทคนิคการสอนโปรแกรม Python ... · 2018-07-19 · ระดับมัธยมปลาย ตามหลักสูตรใหม่

•ตัวอย่างกิจกรรม

1.3 การออกแบบขันตอนวธี

ให้ F แทนอุณหภูมิเปนองศาฟาเรนไฮต์

คํานวณ อุณหภูมิเปนองศาเซลเซียสจาก C = 5 × (F - 32) / 9

ตอบค่า C เปนอุณหภูมิองศาเซลเซียส

ขันตอนวธีการแปลงอุณหภูมิจากองศาเซลเซียส เปนองศาฟาเรนไฮต์

Page 32: 614185001 เทคนิคการสอนโปรแกรม Python ... · 2018-07-19 · ระดับมัธยมปลาย ตามหลักสูตรใหม่

บทที 1 แนวคิดเชิงคํานวณ

• วทยาการคํานวณคืออะไร•แนวคิดเชิงคํานวณ•การออกแบบขันตอนวธี•การแยกส่วนประกอบและการย่อยปญหา•การหารูปแบบ•การคิดเชิงนามธรรม•แนวทางการสอนและการจัดกิจกรรม

Page 33: 614185001 เทคนิคการสอนโปรแกรม Python ... · 2018-07-19 · ระดับมัธยมปลาย ตามหลักสูตรใหม่

1.4 การแยกส่วนประกอบและการย่อยปญหา

•คือ การแบ่งปญหาเปนส่วนย่อย เพือให้จัดการปญหาได้ง่ายขึน•อาจทําได้ 2 รูปแบบ

• การแยกองค์ประกอบ• การแบ่งขันตอน

1การแยกองค์ประกอบ

2การแบ่งขันตอน

Page 34: 614185001 เทคนิคการสอนโปรแกรม Python ... · 2018-07-19 · ระดับมัธยมปลาย ตามหลักสูตรใหม่

1.4 การแยกส่วนประกอบและการย่อยปญหา

•การแยกองค์ประกอบ• เช่น การออกแบบบ้าน ดูว่าบ้านจะมีห้องอะไรบ้าง และแยกออกแบบห้องต่างๆ• สามารถออกแบบแต่ละห้องได้อย่างอิสระต่อกัน ออกแบบพร้อมกันได้

ห้องนอน

ห้องนาห้องครัว

ห้องนังเล่น

ห้องทํางาน

ห้องเก็บของ

Page 35: 614185001 เทคนิคการสอนโปรแกรม Python ... · 2018-07-19 · ระดับมัธยมปลาย ตามหลักสูตรใหม่

1.4 การแยกส่วนประกอบและการย่อยปญหา

•การแบ่งขันตอน• เช่น การสร้างบ้าน แบ่งออกเปนหลายขันตอน(ออกแบบบ้าน ลงเสาเข็ม ก่อกําแพง เดินท่อนา เดินสายไฟ ทาสี ตกแต่งภายใน)

• ทํางานตามลําดับ โดยในแต่ละขันตอน จะใช้วธีการใดก็ได้

Page 36: 614185001 เทคนิคการสอนโปรแกรม Python ... · 2018-07-19 · ระดับมัธยมปลาย ตามหลักสูตรใหม่

1.4 การแยกส่วนประกอบและการย่อยปญหา

•ผสมการแยกองค์ประกอบและการแบ่งขันตอนได้

•แต่ละองค์ประกอบอาจมีองค์ประกอบย่อยได้

•แต่ละขันตอนอาจมีขันตอนย่อยได้

1. ออกแบบบ้าน

2. ก่อสร้าง

1.1ห้องนังเล่น

1.2ห้องครัว

1.3ห้องนอน

3. ทาสี

4. ตกแต่งภายใน4.1

ห้องนังเล่น4.2

ห้องครัว4.3

ห้องนอน

Page 37: 614185001 เทคนิคการสอนโปรแกรม Python ... · 2018-07-19 · ระดับมัธยมปลาย ตามหลักสูตรใหม่

1.4 การแยกส่วนประกอบและการย่อยปญหา

•ประโยชน์• ทําให้มองเห็นปญหาได้ครบทุกส่วน (ครบทุกองค์ประกอบ/ขันตอน)• ทําให้แก้ปญหาได้อย่างเปนระบบ• ทําให้แก้ปญหาแต่ละส่วนได้อย่างอิสระต่อกัน• ใช้แบ่งหน้าที/ความรับผิดชอบและเวลาทีใช้ในการแก้ปญหา

•ควรแยกส่วนประกอบด้วยความละเอียดทีเหมาะสม ไม่มาก/น้อยเกินไป

Page 38: 614185001 เทคนิคการสอนโปรแกรม Python ... · 2018-07-19 · ระดับมัธยมปลาย ตามหลักสูตรใหม่

1.4 การแยกส่วนประกอบและการย่อยปญหา

•ตัวอย่าง• การซือคอมพิวเตอร์แบบประกอบเอง• สามารถเลือกความสามารถของแต่ละองค์ประกอบแยกกันได้• ทําให้เห็นค่าใช้จ่ายทังหมดทีจะเกิดขึน

หน่วยประมวลผล

หน่วยความจํา

หน้าจอ คีย์บอร์ด เมาส์ เครองพิมพ์

Page 39: 614185001 เทคนิคการสอนโปรแกรม Python ... · 2018-07-19 · ระดับมัธยมปลาย ตามหลักสูตรใหม่

1.4 การแยกส่วนประกอบและการย่อยปญหา

•ตัวอย่าง• การทํารายงานกลุ่ม• แบ่งได้หลายขันตอน อาจกําหนดเวลาและความรับผิดชอบของสมาชิกในกลุ่มได้

1. ค้นหาข้อมูล – 3 วัน

2. เรยบเรยงรูปเล่ม – 3 วัน

3. จัดทําสือนําเสนอ – 2 วัน

4. นําเสนอหน้าชันเรยน

Page 40: 614185001 เทคนิคการสอนโปรแกรม Python ... · 2018-07-19 · ระดับมัธยมปลาย ตามหลักสูตรใหม่

1.4 การแยกส่วนประกอบและการย่อยปญหา

•ตัวอย่าง• การปลูกผักสวนครัว• ผสมการแยกองค์ประกอบและการแบ่งขันตอน• แยกองค์ประกอบตามชนิดของผักสวนครัว และศึกษาขันตอนการปลูกผักแต่ละชนิด

ฟกทอง

1. ตากเมล็ดให้แห้ง

2. หว่านเมล็ดลงดิน3. รดนา

พรก

1. เตรยมดิน

2. รองด้วยปุยหมัก3. รดนาให้ชุ่ม4. นําเมล็ดลงดิน

ต้นหอม

1. เตรยมดิน

2. ปกรากหอมลงดิน3. รดนา

Page 41: 614185001 เทคนิคการสอนโปรแกรม Python ... · 2018-07-19 · ระดับมัธยมปลาย ตามหลักสูตรใหม่

1.4 การแยกส่วนประกอบและการย่อยปญหา

•ตัวอย่าง• การจัดการขยะ• แบ่งองค์ประกอบตามประเภทขยะ• สามารถนําองค์ประกอบของการแก้ปญหาอืนมาประยุกต์ใช้ได้

ขยะแห้ง

ขยะรไซเคิล

ขยะเปยก

ขยะอันตราย

สารกําจัดแมลงด้วยสมุนไพร

สารกําจัดวัชพืชด้วยสมุนไพร

ปยุหมักจากใบไม้การจัดการขยะ การทําเกษตร

Page 42: 614185001 เทคนิคการสอนโปรแกรม Python ... · 2018-07-19 · ระดับมัธยมปลาย ตามหลักสูตรใหม่

•ตัวอย่างกิจกรรม

1.4 การแยกส่วนประกอบและการย่อยปญหา

ให้นักเรยนแยกส่วนประกอบของการสร้างตุ๊กตาหมี โดยจะใช้การแยก

องค์ประกอบ, การแบ่งขันตอน, ผสมกัน, หรอมีองค์ประกอบ/ขันตอนย่อยก็ได้

(สามารถเขียนได้หลายแบบ)

Page 43: 614185001 เทคนิคการสอนโปรแกรม Python ... · 2018-07-19 · ระดับมัธยมปลาย ตามหลักสูตรใหม่

•ตัวอย่างกิจกรรม

1.4 การแยกส่วนประกอบและการย่อยปญหา

ให้นักเรยนแยกส่วนประกอบของอุปกรณ์ในชีวตประจําวันโดยไม่ซากัน แล้วดูว่า มีองค์ประกอบย่อยหรอขันตอนย่อยใด

ทีสามารถประยุกต์ใช้จากส่วนย่อยของเพือนได้บ้าง

Page 44: 614185001 เทคนิคการสอนโปรแกรม Python ... · 2018-07-19 · ระดับมัธยมปลาย ตามหลักสูตรใหม่

บทที 1 แนวคิดเชิงคํานวณ

• วทยาการคํานวณคืออะไร•แนวคิดเชิงคํานวณ•การออกแบบขันตอนวธี•การแยกส่วนประกอบและการย่อยปญหา•การหารูปแบบ•การคิดเชิงนามธรรม•แนวทางการสอนและการจัดกิจกรรม

Page 45: 614185001 เทคนิคการสอนโปรแกรม Python ... · 2018-07-19 · ระดับมัธยมปลาย ตามหลักสูตรใหม่

1.5 การหารูปแบบ

•คือ การหาความสัมพันธ์ แนวโน้ม ลักษณะทัวไป ของสิงของหรอปญหา•ทําได้ทังการหารูปแบบทเีหมือนกันและแตกต่างกัน

•ประโยชน์• ช่วยให้ทําความเข้าใจสิงของหรอปญหาได้ง่ายขึน• เมือพบว่าปญหามีรูปแบบเดียวกันกับทีเคยพบสามารถใช้วธีเดียวกันแก้ปญหาได้

Page 46: 614185001 เทคนิคการสอนโปรแกรม Python ... · 2018-07-19 · ระดับมัธยมปลาย ตามหลักสูตรใหม่

1.5 การหารูปแบบ

•ตัวอย่าง• เครองหมายการค้าของสินค้าจีนและญีปนุ

• รูปแบบทีพบ เช่น เครองหมายการค้าของสินค้าจีนเปนรูปสัตว์ ของญีปนุเปนตัวอักษร

จีน ญีปุน

Page 47: 614185001 เทคนิคการสอนโปรแกรม Python ... · 2018-07-19 · ระดับมัธยมปลาย ตามหลักสูตรใหม่

1.5 การหารูปแบบ

•ตัวอย่าง• ดัชนีรถติดของกรุงเทพมหานครและปรมณฑล เก็บเปนเวลา 3 สัปดาห์(0.0 คือรถไม่ติดเลย, 10.0 คือรถติดมากทีสุด)

• อ้างอิงจาก https://traffic.longdo.com/trafficdaily

• รูปแบบทีพบ เช่น วันศุกร์มีดัชนีรถติดมากทีสุด วันอาทิตย์มีดัชนีรถติดน้อยทีสุด

อาทิตย์ จันทร์ อังคาร พุธ พฤหัสบดี ศุกร์ เสาร์

5.0 6.9 5.1 6.6 6.4 6.9 6.2

5.4 6.5 6.3 6.3 6.5 7.0 5.9

4.8 6.0 6.2 6.6 6.5 7.2 6.2

Page 48: 614185001 เทคนิคการสอนโปรแกรม Python ... · 2018-07-19 · ระดับมัธยมปลาย ตามหลักสูตรใหม่

1.5 การหารูปแบบ

•ปญหาย่อยทีมีรูปแบบซาเดิม• บางปญหาสามารถแบ่งเปนปญหาย่อยทีมีรูปแบบเดิมได้• สามารถใช้วธีการเดิมในการแก้ปญหาย่อยได้

Page 49: 614185001 เทคนิคการสอนโปรแกรม Python ... · 2018-07-19 · ระดับมัธยมปลาย ตามหลักสูตรใหม่

1.5 การหารูปแบบ

•ตัวอย่าง• การล้างจาน 4 ใบ• เมือล้างจาน 1 ใบ จะเห็นว่าปญหากลายเปน “การล้างจาน 3 ใบ” ซึงมีรูปแบบเดิม• “การล้างจาน 3 ใบ” จึงเปนปญหาย่อยของ “การล้างจาน 4 ใบ” ซึงใช้วธีเดิมในการแก้ปญหาได้คือ “ล้างจานใบบนสุดเพิมอีก 1 ใบ”

ปญหาล้างจาน 4 ใบ

ปญหาย่อยล้างจาน 3 ใบ

ปญหาย่อยล้างจาน 2 ใบ

ล้างจานใบบนสุด

ล้างจานใบบนสุด

4 3 2

Page 50: 614185001 เทคนิคการสอนโปรแกรม Python ... · 2018-07-19 · ระดับมัธยมปลาย ตามหลักสูตรใหม่

1.5 การหารูปแบบ

•ตัวอย่าง• การขับรถจากเชียงใหม่ไปยะลา• อาจแก้ปญหาโดยการ ขับรถจากเชียงใหม่ไปลําพูน• เกิดปญหาใหม่คือ “การขับรถจากลําพูนไปยะลา” ซึงเปนปญหาย่อย• สามารถแก้ปญหาย่อยด้วยวธีการเดิมได้ คือ “ขับรถไปยังจังหวัดทีอยู่ติดกันทางใต้”

เชียงใหม่

ยะลา

ลําพูน

ยะลา

ขับรถไปจังหวัดทีอยู่ติดกันทางใต้

Page 51: 614185001 เทคนิคการสอนโปรแกรม Python ... · 2018-07-19 · ระดับมัธยมปลาย ตามหลักสูตรใหม่

•ตัวอย่างกิจกรรม

1.5 การหารูปแบบ

ให้นักเรยนหารูปแบบของปากกาดินสอ หรออุปกรณ์ใกล้ตัว

แล้วเปรยบเทียบรูปแบบทีหาได้กับเพือน

Page 52: 614185001 เทคนิคการสอนโปรแกรม Python ... · 2018-07-19 · ระดับมัธยมปลาย ตามหลักสูตรใหม่

•ตัวอย่างกิจกรรม

1.5 การหารูปแบบ

ให้นักเรยนหาวธีแก้ปญหา“การทาสีกําแพง”

โดยหาปญหาย่อย และวธีแก้ปญหาย่อย

Page 53: 614185001 เทคนิคการสอนโปรแกรม Python ... · 2018-07-19 · ระดับมัธยมปลาย ตามหลักสูตรใหม่

บทที 1 แนวคิดเชิงคํานวณ

• วทยาการคํานวณคืออะไร•แนวคิดเชิงคํานวณ•การออกแบบขันตอนวธี•การแยกส่วนประกอบและการย่อยปญหา•การหารูปแบบ•การคิดเชิงนามธรรม•แนวทางการสอนและการจัดกิจกรรม

Page 54: 614185001 เทคนิคการสอนโปรแกรม Python ... · 2018-07-19 · ระดับมัธยมปลาย ตามหลักสูตรใหม่

1.6 การคิดเชิงนามธรรม

•คือ การเลือกเฉพาะส่วนทีสําคัญและจําเปนของปญหามาพิจารณา•ทําให้เข้าใจปญหาและจัดการกับปญหาได้ง่ายขึน

•แผนภาพทีได้จากการเลือกเฉพาะส่วนทีสําคัญและจําเปน เรยกว่าแบบจําลอง (model)

•แบบจําลองต้องมีรายละเอียดเพียงพอสําหรับใช้แก้ปญหา

ของจรง แบบจําลอง

Page 55: 614185001 เทคนิคการสอนโปรแกรม Python ... · 2018-07-19 · ระดับมัธยมปลาย ตามหลักสูตรใหม่

1.6 การคิดเชิงนามธรรม

แบบจําลอง

โรงรถ

ห้องครัว

ห้องกินข้าว ห้องนังเล่น

ห้องรับแขก

ของจรง

Page 56: 614185001 เทคนิคการสอนโปรแกรม Python ... · 2018-07-19 · ระดับมัธยมปลาย ตามหลักสูตรใหม่

1.6 การคิดเชิงนามธรรม

•ตัวอย่าง• แบบจําลองทีนังในห้องเรยน• บอกลักษณะการจัดโต๊ะและทีนังของนักเรยน• ใช้ตอบคําถามว่า มีนักเรยนกีคน นังทีใดบ้างถ้าจัมโบ้อยากคุยกับนก ต้องเดินไปทางใด

• ไม่สามารถบอกได้ว่า ประตูห้องอยู่ทีใด ในห้องเรยนมีอุปกรณ์อะไรบ้าง

ต้น เจมส์ นก ฝน

จัมโบ้ พลอย ฟา ดิน

กระดาน

Page 57: 614185001 เทคนิคการสอนโปรแกรม Python ... · 2018-07-19 · ระดับมัธยมปลาย ตามหลักสูตรใหม่

1.6 การคิดเชิงนามธรรม

•ตัวอย่าง• แบบจําลองการไหลเวยนเลือดในร่างกาย• ใช้ตอบคําถามว่า เลือดไหลในทิศทางใดส่วนใดเปนเลือดดี/เสีย

• ไม่สามารถบอกได้ว่าร่างกายมนุษย์ประกอบด้วยอวัยวะใดบ้างขนาดของหัวใจและปอดเปนอย่างไร

Page 58: 614185001 เทคนิคการสอนโปรแกรม Python ... · 2018-07-19 · ระดับมัธยมปลาย ตามหลักสูตรใหม่

1.6 การคิดเชิงนามธรรม

•ตัวอย่าง• แบบจําลองการทํางานของโรงไฟฟานิวเคลียร์

• ใช้ตอบคําถามว่ามีการใช้นาในกระบวนการอย่างไรนาส่วนใดร้อน/เย็น

• ไม่สามารถบอกได้ว่าโรงไฟฟามีขนาดเท่าใด

Page 59: 614185001 เทคนิคการสอนโปรแกรม Python ... · 2018-07-19 · ระดับมัธยมปลาย ตามหลักสูตรใหม่

•ตัวอย่างกิจกรรม

1.6 การคิดเชิงนามธรรม

ให้นักเรยนลองค้นหาแบบจําลองทีใช้อธิบายการทํางานของอุปกรณ์ต่างๆ

เช่น กล้องถ่ายภาพ เปนต้นและพิจารณารายละเอียดของแบบจําลอง

Page 60: 614185001 เทคนิคการสอนโปรแกรม Python ... · 2018-07-19 · ระดับมัธยมปลาย ตามหลักสูตรใหม่

•ตัวอย่างกิจกรรม

1.6 การคิดเชิงนามธรรม

ให้นักเรยนเขียนแบบจําลองของโรงเรยนโดยมีรายละเอียดเพียงพอทีจะสามารถบอกวธีการเดินทางจากประตูโรงเรยน

มายังห้องเรยนของนักเรยนได้

Page 61: 614185001 เทคนิคการสอนโปรแกรม Python ... · 2018-07-19 · ระดับมัธยมปลาย ตามหลักสูตรใหม่

บทที 1 แนวคิดเชิงคํานวณ

• วทยาการคํานวณคืออะไร•แนวคิดเชิงคํานวณ•การออกแบบขันตอนวธี•การแยกส่วนประกอบและการย่อยปญหา•การหารูปแบบ•การคิดเชิงนามธรรม•แนวทางการสอนและการจัดกิจกรรม

Page 62: 614185001 เทคนิคการสอนโปรแกรม Python ... · 2018-07-19 · ระดับมัธยมปลาย ตามหลักสูตรใหม่

1.7 แนวทางการสอนและการจัดกิจกรรม

•หลังการสอนเครองมือทีช่วยในการแก้ปญหาแต่ละแบบ ให้นักเรยนลองฝกใช้เครองมือนันในการแก้ปญหาต่างๆ• ดูตัวอย่างจาก ตัวอย่างกิจกรรม

• เมือสอนเครองมือช่วยแก้ปญหาครบทัง 4 แบบแล้ว ให้นักเรยนลองเลือกใช้เครองมือทีได้เรยนมาให้เหมาะสมกับปญหา• ปญหาอาจแก้ได้โดยใช้เครองมือเดียว หรอหลายเครองมือประกอบกันก็ได้• นักเรยนอาจมองวธีแก้ปญหาได้หลายแบบ ให้นักเรยนลองนําเสนอและอภิปรายร่วมกันในชันเรยนว่า วธีของนักเรยนแต่ละคนมีข้อดีอย่างไร มีจุดใดทีเพิมเติมได้ และจะสามารถนําวธีของนักเรยนแต่ละคนมาประยุกต์รวมกันได้อย่างไร โดยมีครูช่วยชีแนวทางและประเด็นในการเปรยบเทียบ

Page 63: 614185001 เทคนิคการสอนโปรแกรม Python ... · 2018-07-19 · ระดับมัธยมปลาย ตามหลักสูตรใหม่

1.7 แนวทางการสอนและการจัดกิจกรรม

•ตัวอย่างปญหาและแนวทางการแก้ปญหา• อาจใช้วธีการนอกเหนือจากแนวทางนีได้

•อาจให้นักเรยนลองเสนอปญหาของตนเองเพือให้เพือนช่วยกันแก้ก็ได้

ลําดับ ปญหา เครองมือ

1 เลือกซือนมทีมีปรมาณต่อราคามากทีสุด การออกแบบขันตอนวธี

2 ตรวจสอบธนบัตรปลอม การหารูปแบบของธนบัตรจรงและปลอม

3 ซักผ้าหลายประเภท การแยกส่วนประกอบ, การออกแบบขันตอนวธี

4 ออกแบบผังงานนิทรรศการของโรงเรยน การคิดเชิงนามธรรม, การแยกส่วนประกอบ

5 หาระดับความพึงพอใจของนักเรยนทีมีต่ออาหารกลางวันของโรงเรยน

การหารูปแบบ, การแยกส่วนประกอบ, การออกแบบขันตอนวธี

Page 64: 614185001 เทคนิคการสอนโปรแกรม Python ... · 2018-07-19 · ระดับมัธยมปลาย ตามหลักสูตรใหม่

•ตัวอย่างกิจกรรม

1.7 แนวทางการสอนและการจัดกิจกรรม

ให้นักเรยนใช้เครองมือทัง 4 แบบในการหาวธีการออกแบบ

“หุ่นยนต์ทําอาหาร”(ไม่ต้องลงมือออกแบบจรง)

Page 65: 614185001 เทคนิคการสอนโปรแกรม Python ... · 2018-07-19 · ระดับมัธยมปลาย ตามหลักสูตรใหม่

1.7 แนวทางการสอนและการจัดกิจกรรม

•หุ่นยนต์ทําอาหาร• อาจใช้วธีการนอกเหนือจากแนวทางนีได้

เครองมือ ตัวอย่างการใช้เครองมือ

การออกแบบขันตอนวธี ออกแบบขันตอนการสร้างหุ่นยนต์ ขันตอนการสังอาหารกับหุ่นยนต์ ขันตอนการทํางานของหุ่นยนต์

การแยกส่วนประกอบและการย่อยปญหา

แยกการออกแบบเปนส่วนวงจร ส่วนกลไก ส่วนโปรแกรม แต่ละส่วนอาจมีขันตอนย่อยๆ ได้

การหารูปแบบ สังเกตรูปแบบการทํางานของหุ่นยนต์ประเภทต่าง ๆ เช่น หุ่นยนต์เครองดูดฝุน หุ่นยนต์เสิร์ฟอาหาร แขนกลอัตโนมัติ

การคิดเชิงนามธรรม ออกแบบวงจร กลไก โดยใช้แบบจําลอง(ไม่จําเปนต้องให้นักเรยนออกแบบวงจรและกลไกจรง)

Page 66: 614185001 เทคนิคการสอนโปรแกรม Python ... · 2018-07-19 · ระดับมัธยมปลาย ตามหลักสูตรใหม่

จบบทที 1