Python Programming
KMITL MASTERCLASS
สถาบันเทคโนโลยีพระจอมเกล้าเจ้าคุณทหารลาดกระบัง
ราคา
1,000 บาท
- Don't have an account? Signup Now »
- Lost your password?
บทเรียนทั้งหมด (8 บท)
1 ตอนที่ 1 พื้นฐานการพัฒนาโปรแกรมด้วยภาษาไพทอน
ภาษาไพทอนเป็นภาษาคอมพิวเตอร์ที่ได้รับความนิยมสูงสุดในปัจจุบันเนื่องจากเป็นภาษาที่มีโครงสร้างการเขียนที่ง่าย มีโมดูลหรือไลบรารีให้เลือกใช้มากมาย สามารถเขียนโปรแกรมแบบโครงสร้างและโปรแกรมเชิงวัตถุได้ เครื่องมือในการเขียนโปรแกรมสามารถโหลดมาใช้ได้ฟรีนอกจากนี้ยังมีเครื่องมือเขียนโปรแกรมออนไลน์บนเว็บไซต์อีกหลายตัว เช่น Google colab replit เป็นต้น
การเขียนโปรแกรมแบ่งออกเป็น 2 ประเภทใหญ่ ๆ คือ การเขียนแบบ Python Shell ซึ่งนิยมใช้เขียนโปรแกรมทดสอบการทำงานของคำสั่งสั้น ๆ และการเขียนโปรแกรมในรูปแบบไฟล์โปรแกรมโดยจะบันทึกเป็นไฟล์นามสกุล .py เพื่อนำไปใช้ในงานด้านต่าง ๆ นอกจากนี้เครื่องมือเขียนโปรแกรมบางตัวยังเขียนเป็นโปรแกรมสั้น ๆ เป็นไฟล์ย่อย ๆ ได้อีกด้วยที่เรียกว่าการเขียนโปรแกรมแบบโน๊ตบุ๊ค สำหรับการเริ่มเขียนโปรแกรมนั้นควรทำความเข้าใจคำสั่ง input() สำหรับรับข้อมูลมาเก็บในหน่วยความจำของเครื่อง และการใช้คำสั่ง print() สำหรับส่งข้อมูลรูปแบบต่าง ๆ ออกทางจอภาพของเครื่องคอมพิวเตอร์
รศ.ธีรวัฒน์ ประกอบผล
2 ตอนที่ 2 การเขียนโปรแกรมแก้ปัญหาด้วยภาษาไพทอน
การออกแบบและพัฒนาโปรแกรมคอมพิวเตอร์มักจะเริ่มจากการทำความเข้าใจปัญหา หาแนวทางการแก้ปัญหาโดยอาจมองว่าปัญหาของเราที่ต้องการแก้นั้นข้อมูลนำเข้าของคอมพิวเตอร์หรืออินพุตคืออะไร ต้องการให้ระบบประมวลผลอย่างไร และต้องการคำตอบลักษณะใดออกมา จากนั้นจึงคิดขั้นตอนต่าง ๆ ในการแก้ปัญหาที่เรียกว่าอัลกอริทึมแล้วพัฒนาต่อเป็นโปรแกรมโดยการนำคำสั่งและตัวดำเนินการต่าง ๆ มาเขียนเป็นโปรแกรม
ข้อมูลในภาษาไพทอนมีหลายชนิด เช่น ค่าคงที่ ข้อมูลตัวเลข ข้อมูลแบบสตริง ข้อมูลแบบเชิงซ้อน ข้อมูลแบบออบเจ็กต์ นอกจากนี้ยังสามารถเก็บข้อมูลแบบกลุ่มของข้อมูลได้หลายรูปแบบ เช่น แบบลิสต์เป็นต้น การเขียนโปรแกรมประมวลผลข้อมูลมักจะต้องนำตัวดำเนินการมาดำเนินการกับข้อมูล เช่น การดำเนินการทางคณิตศาสตร์ การประมวลผลทางลอจิก ส่วนคำสั่งพื้นฐานที่ใช้ในการประมวลผลข้อมูลเช่น การตัดสินใจ การวนซ้ำเป็นต้น ถ้าหากโปรแกรมในส่วนใดมีความซับซ้อนหรือต้องเรียนใช้งานหลาย ๆ ครั้งมักจะสร้างเป็นฟังก์ชันเพื่อเรียกมาใช้งาน
รศ.ธีรวัฒน์ ประกอบผล
3 ตอนที่ 3 การสร้างฟังก์ชันและการเขียนโปรแกรมเชิงวัตถุ
การเขียนโปรแกรมภาษาไพทอนสามารถเรียกฟังก์ชันหรือคำสั่งพื้นฐานต่าง ๆ มาใช้งานได้ทันที ฟังก์ชันในภาษาไพทอนแบ่งออกเป็น 2 กลุ่มใหญ่ ๆ คือ ฟังก์ชันจากไลบรารีมาตรฐาน และฟังก์ชันที่สร้างขึ้นมาเอง ฟังก์ชันพื้นฐานมักเก็บอยู่ในตัวแปลภาษานอกจากนี้ยังมีฟังก์ชันบางกลุ่มจะถูกเก็บรวมไว้เป็นโมดูลโดยต้องเรียกเข้ามาร่วมกับโปรแกรมก่อนการใช้งาน โดยใช้คำสั่ง import โมดูลบางโมดูลจะมาพร้อมกับตัวแปลภาษา บางโมดูลต้องโหลดมาติดตั้งเพิ่มเติม ส่วนฟังก์ชันที่สร้างขึ้นมาเองนั้นจะเริ่มด้วยคำว่า def จากนั้นจึงเขียนคำสั่งต่าง ๆ ลงไป
การเขียนโปรแกรมที่มีความซับซ้อนนั้นมักจะรวมกลุ่มคำสั่งเป็นฟังก์ชันเพื่อให้เรียกใช้งานได้สะดวก นอกจากนี้งานบางประเภทยังใช้วิธีการเขียนโปรแกรมเชิงวัตถุ โดยเริ่มจากการสร้างคลาสขึ้นมาก่อน ซึ่งคลาสทำหน้าที่เหมือนกับแบบแปลนของการทำงานต่าง ๆ ภายในคลาสจะบรรจุคุณสมบัติของวัตถุและฟังก์ชันการทำงานที่เรียกว่า เมทอด เมื่อต้องการใช้งานจะสร้างออบเจ็กต์หรือวัตถุจากคลาสนั้นขึ้นมาใช้งาน การเขียนโปรแกรมแบบเชิงวัตถุนี้จะทำให้งานที่มีความซับซ้อนมาก ๆ สามารถออกแบบโปรแกรมได้ง่ายขึ้น
รศ.ธีรวัฒน์ ประกอบผล
4 ตอนที่ 4 การเขียนโปรแกรมประมวลผลทางคณิตศาสตร์
การเขียนประมวลผลทางคณิตศาสตร์มักจะใช้ตัวดำเนินการทางคณิตศาสตร์มาเกี่ยวข้อง แต่ถ้าหากต้องการทำงานที่ซับซ้อนขึ้น เช่น การหาค่ารากที่สอง การยกกำลัง การใช้ฟังก์ชันพิเศษต่าง ๆ จะต้องเรียนโมดูล math เข้ามาใช้งานซึ่งเป็นโมดูลที่ช่วยในการประมวลทางคณิตศาสตร์ และถ้าหากการคำนวณมีความซับซ้อนมักจะสร้างฟังก์ชันเพื่อการคำนวณโดยส่งค่าเข้าไปคำนวณแล้วให้ฟังก์ชันคืนค่าผลลัพธ์จากการคำนวณออกมา ตัวอย่างพื้นฐานของการคำนวณทางคณิตศาสตร์ เช่น การหาผลรวม การหาค่าเฉลี่ย การหาค่ารากที่สอง การหาค่าสูงสุด ค่าต่ำสุด การเรียงข้อมูล ซึ่งการคำนวณเหล่านี้นอกจากจะเขียนโปรแกรมขึ้นมาโดยตรงแล้วยังเรียกใช้ฟังก์ชันมาตรฐานมาช่วยในการคำนวณได้อีกด้วย
รศ.ธีรวัฒน์ ประกอบผล
5 ตอนที่ 5 การประยุกต์กับปัญหาทางคณิตศาสตร์วิทยาศาสตร์
แม้ว่าการประมวลผลทางคณิตศาสตร์วิทยาศาสตร์นั้นสามารถใช้เครื่องคิดเลขคำนวณโดยตรงได้ แต่การเขียนเป็นโปรแกรมคอมพิวเตอร์นั้นสามารถออกแบบให้ตรงตามความต้องการได้สะดวก สามารถนำข้อมูลที่ได้จากการคำนวณไปทำงานต่อได้ง่าย การฝึกเขียนโปรแกรมประยุกต์ด้านนี้สามารถนำความรู้เรื่องต่าง ๆ ที่ได้ศึกษาเรียนรู้มา นำมาพัฒนาเป็นโปรแกรมได้ไม่ยาก เช่น การสุ่มตัวเลข การคำนวณการเคลื่อนที่ในแนวเส้นตรง การบวกเมตริกซ์ โดยการพัฒนาโปรแกรมลักษณะนี้ผู้เขียนโปรแกรมจะต้องมีความรู้ในด้านนั้น ๆ ด้วย
นอกจากนี้ในภาษาไพทอนยังมีโมดูลพิเศษที่ช่วยในการคำนวณด้านวิทยาศาสตร์ เช่น โมดูล Numpy ซึ่งช่วยในการจัดการข้อมูลและมีฟังก์ชันสำหรับการคำนวณด้านคณิตศาสตร์วิทยาศาสตร์มากมาย
รศ.ธีรวัฒน์ ประกอบผล
6 ตอนที่ 6 การเขียนกราฟและประมวลผลข้อมูล
งานทางด้าน data visualization เป็นงานที่นำข้อมูลมาประมวลผลเป็นภาพเพื่อให้สื่อสารได้ง่ายขึ้น ในภาษาไพทอนมีโมดูลสำหรับการสร้างกราฟที่ได้รับความนิยมอย่างสูงคือ โมดูล matplotlib สามารถสร้างกราฟได้ง่าย ๆ จากข้อมูลที่กำหนดเพียงเขียนโปรแกรม 3 บรรทัด นอกจากนี้ยังกำหนดคุณสมบัติของกราฟได้หลายรูปแบบ เช่น กำหนดสีของกราฟ ลักษณะของกราฟ เช่น กราฟแท่ง กราฟเส้น กราฟวงกลม สามารถบันทึกกราฟที่ได้เก็บไว้ในเครื่องคอมพิวเตอร์ได้ ทำให้การคำนวณด้านวิทยาศาสตร์ คณิตศาสตร์ทำได้ง่ายขึ้น
รศ.ธีรวัฒน์ ประกอบผล
7 ตอนที่ 7 ตัวอย่างปัญหาและการประยุกต์
นำความรู้ต่าง ๆ ที่ได้เรียนรู้มา มาพัฒนาเป็นโปรแกรมประยุกต์โดยเชื่อมโยงกับปัญหาด้านวิทยาศาสตร์ คณิตศาสตร์ และนำเสนอข้อมูลจากการคำนวณอย่างเหมาะสม โดยเริ่มจากการออกแบบอัลกอริทึมสำหรับแก้ปัญหาโดยนำความรู้ในเรื่องที่สนใจมาช่วยในการออกแบบอัลกอริทึม เช่น การเขียนโปรแกรมเกี่ยวกับเซต การเคลื่อนที่แนวเส้นตรง การแก้สมการโพลิโนเมียล การแก้ระบบสมการเชิงเส้น โดยจะแสดงให้เห็นในรูปแบบของการเขียนโปรแกรมแก้ปัญหาเองและการเรียกฟังก์ชันจากโมดูลมาใช้งาน ตัวอย่างที่ได้ศึกษาในตอนนี้จะทำให้เห็นแนวทางการนำไปประยุกต์กับงานด้านต่าง ๆ อีกมากมาย
รศ.ธีรวัฒน์ ประกอบผล
8 ตอนที่ 8 โครงงานภาษาไพทอน
การทำโครงงานคอมพิวเตอร์อย่างง่าย เช่น การเขียนโปรแกรมคำนวณงานด้านคณิตศาสตร์ การออกแบบโปรแกรมเป็นส่วน ๆ โดยยกตัวอย่างโมดูล เต่าไพทอน หรือ turtle ซึ่งเป็นโมดูลสำหรับการวาดภาพอย่างง่าย คล้าย ๆ กับเต่าเดินไปพร้อมกับลากปากกาไปตามเส้นทาง โดยในโมดูลนี้สามารถกำหนดขนาดของปากกา กำหนดสี วาดรูปเส้นตรง วงกลม ระบายสีได้ โดยการวาดรูปพื้นฐานเหล่านี้สามารถนำมาทำโครงงานเชื่อมโยงความรู้ด้านคณิตศาสตร์วิทยาศาสตร์ได้เป็นอย่างดี
รศ.ธีรวัฒน์ ประกอบผล
ผู้สอน
รศ.ธีรวัฒน์ ประกอบผล
อาจารย์คณะวิทยาศาสตร์ สถาบันเทคโนโลยีพระจอมเกล้าเจ้าคุณทหารลาดกระบัง
เชี่ยวชาญด้านการเขียนโปรแกรมคอมพิวเตอร์ การพัฒนาระบบสมองกลฝังตัว การพัฒนาสื่อการเรียนรู้วิทยาศาสตร์และคอมพิวเตอร์