วิทยาการคำนวณ ม.1

หน่วยที่ 1 นามธรรมกับการแก้ปัญหา

แนวคิดเชิงนามธรรม

แนวคิดเชิงนามธรรม

โดย จีระพงษ์ โพพันธุ์

การออกแบบการแก้ปัญหาโดยนำแนวคิดเชิงนามธรรมมาประยุกต์ใช้ จะทำให้การแก้ปัญหามีประสิทธิภาพมากขึ้น ในบทนี้จะกล่าวถึงกระบวนการในการพิจารณารายละเอียดของปัญหา ซึ่งจะนำมาสู่วิธีการแก้ปัญหา

แนวคิดเชิงนามธรรม

แนวคิดเชิงนามธรรม (Abstract thinking หรือ Abstraction) เป็นองค์ประกอบหนึ่งของแนวคิดเชิงคำนวณ (Computational thinking) ซึ่งใช้กระบวนการคัดแยกคุณลักษณะที่สำคัญออกจากรายละเอียดปลีกย่อยของปัญหา เพื่อให้ได้รายละเอียดของข้อมูลที่จำเป็นและเพียงพอในการแก้ปัญหา

จากภาพด้านบน คำว่า Hello แต่ละตัวมีรูปแบบที่แตกต่างกันขึ้นอยู่กับประสบการณ์ของแต่ละคน จากตัวอย่าง จะเห็นรายละเอียดที่แตกต่างกัน เช่น สี รูปแบบตัวอักษร เป็นต้น ซึ่งรูปแบบที่แต่ละคนมีอยู่ ถ้าจะถ่ายทอดให้ผู้อื่นรับรู้และเข้าใจทุกอย่าง แทบจะเป็นไปไม่ได้เลย และอาจจะไม่มีความจำเป็นที่ผู้อื่นจะต้องรับรู้ทั้งหมด

ในที่นี้หากผู้รับข้อมูลต้องการทราบแค่ว่าคำนี้ประกอบไปด้วยอักขระใดบ้าง โดยไม่สนใจองค์ประกอบอื่นๆ ภาพๆ นี้ก็จะมีองค์ประกอบเชิงนามธรรมคือ เป็นคำที่ประกอบด้วยอักขระ H, E, L, L และ O เท่านั้น

การคัดเลือกคุณลักษณะที่จำเป็นต่อการแก้ปัญหา

การคัดเลือกคุณลักษณะที่จำเป็นต่อการแก้ปัญหา คือการพิจารณาปัญหาที่อาจประกอบไปด้วยรายละเอียดจำนวนมาก ทั้งที่จำเป็นและไม่จำเป็นต่อการแก้ปัญหา ดังนั้นในการแก้ปัญหานักเรียนควรเลือกเฉพาะรายละเอียดที่จำเป็นเท่านั้น

กิจกรรม

          จากภาพในบทเรียน ให้นักเรียนคัดกรองรายละเอียดของคำว่า HELLO โดยตอบคำถามต่อไปนี้

          1) ข้อมูลประกอบด้วยคำกี่คำ

          2) ข้อมูลประกอบด้วยอักขระกี่อักขระ

          3) ข้อมูลประกอบด้วยอักขระใดบ้าง

          4) ข้อมูลประกอบด้วยอักขระใดบ้าง แต่ละอักขระประกอบด้วยสีอะไร

          5) ข้อมูลประกอบด้วยอักขระใดบ้าง แต่ละอักขระเป็นตัวอักษรพิมพ์ใหญ่หรือพิมพ์เล็ก และมีสีอะไร

การถ่ายทอดรายละเอียดของปัญหาและการแก้ปัญหา

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

กิจกรรม

สถานการณ์ : ครูไอซ์ต้องการเก็บค่าเข้าใช้คอมพิวเตอร์ โดยเก็บคนละ 10 บาท และเก็บค่าธรรมเนียมเพิ่มอีกโดยคิดจากระดับชั้นที่นักเรียนกำลังเรียนอยู่ ชั้นปีละ 5 บาท (ตัวอย่าง เด็กหญิงฝ้ายเรียนอยู่ชั้น ม.2 จะต้องเสียค่าเข้าใช้คอมพิวเตอร์ 10+5×2 = 20 บาท) ให้นักเรียนอธิบายสถานการณ์ใหม่ที่ประกอบด้วยรายละเอียดน้อยที่สุด โดยที่ยังมีข้อมูลเพียงพอที่จะนำไปคำนวณว่าครูไอซ์สามารถเก็บค่าผ่านทางได้เป็นจำนวนกี่บาท

ตารางแสดงข้อมูลนักเรียนที่เข้าใช้คอมพิวเตอร์

ชื่อ-สกุลอายุระดับชั้นเพศน้ำหนักส่วนสูง
เด็กชายแมว142ชาย100150
นายนาวี164ชาย64172
นางสาวแดง186หญิง48160
เด็กชายหมู153ชาย45165
เด็กหญิงขาว153หญิง102170
เด็กหญิงเปิ่น131หญิง38158

อ้างอิง

สถาบันส่งเสริมการสอนวิทยาศาสตร์และเทคโนโลยี, “เทคโนโลยี(วิทยาการคำนวณ)”, โรงพิมพ์แห่งจุฬาลงกรณ์มหาวิทยาลัย, ศูนย์หนังสือแห่งจุฬาลงกรณ์มหาวิทยาลัย, 2561 หน้า 4

thip, “ประเภทของอัลกอริทึม (Types of Algorithm)”, https://medium.com, สืบค้นวันที่ 26 พ.ค. 61

วิกิพีเดีย สารานุกรมเสรี, “ขั้นตอนวิธี”, https://th.wikipedia.org/, สืบค้นวันที่ 26 พ.ค. 61

komchadluek.net, “อัลคุวาริซมี่ย์:ปราชญ์มุสลิมที่โลกลืม”, http://www.komchadluek.net/news/politic/205581, สืบค้นวันที่ 26 พ.ค. 61

ปิยะฤทธิ์ พลายมณี, “AI – Khwarizmi, Muhammad Ibn Musa (ประมาณค.ศ.780-850)”, http://who-in-the-world-piyarith.blogspot.com/2014/09/ai-khwarizmi-muhammad-ibn-musa-780-850.html, สืบค้นวันที่ 26 พ.ค. 61

pantip.com, “นักวิทยาศาสตร์อิสลามที่โลกลืม”, https://pantip.com/topic/33857089, สืบค้นวันที่ 26 พ.ค. 61

Natayakorn T., “อัลกอริทึม (Algorithm)”, https://www.gotoknow.org/posts/629762, สืบค้นวันที่ 26 พ.ค. 61

พรสะอาด ศรีมาราช, “อัลกอริทึม”, http://pornsaaad554144039.blogspot.com/p/blog-page.html, สืบค้นวันที่ 26 พ.ค. 61

ขั้นตอนการแก้ปัญหา

โดย จีระพงษ์ โพพันธุ์

ในปัจจุบัน การดำเนินชีวิตต้องมีการใช้งานอุปกรณ์เทคโนโลยีสารสนเทศเพื่อการสื่อสารอยู่ตลอดเวลา โดยมีระบบการทำงานที่ซับซ้อนอยู่เบื้องหลัง เช่น สมาร์ทโฟนที่ทำหน้าที่หลังในการสื่อสารและมีโปรแกรมสำหรับสื่อสารอยู่เบื้องหลัง ซึ่งโปรแกรมเหล่านี้ ล้วนอาศัยการเขียนโปแรกรมเพื่อแก้ปัญหาทั้งสิ้น

ขั้นตอนการแก้ปัญหา

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

          1. วิเคราะห์และกำหนดรายละเอียดของปัญหา

เป็นการทำความเข้าใจเกี่ยวกับรายละเอียด เงื่อนไข ข้อกำหนด รวมถึงข้อจำกัดต่างๆ ของปัญหา วิเคราะห์ว่าข้อมูลที่ใดมีความจำเป็นในการแก้ปัญหา

2. วางแผนการแก้ปัญหา

เป็นการคิดค้นกระบวนการต่างๆ  ที่เป็นลำดับขั้นตอน ซึ่งต้องอาศัยประสบการณ์และความรู้ของผู้แก้ปัญหา โดยอาจนำวิธีที่เคยแก้ปัญหา หรือค้นหาวิธีการอื่นแล้วนำมาประยุกต์เข้ากับปัญหาที่กำลังแก้ไข เครื่องมือที่ใช้ในการวางแผนแก้ไขปัญหาสำหรับการพัฒนาโปรแกรม อาจเลือกใช้รหัสลำลอง หรือผังงาน โดยวิธีการแก้ปัญหาแบบนี้ เราเรียนกว่า “ขั้นตอนวิธีหรืออัลกอริทึม (algorithm)”

3. ดำเนินการแก้ปัญหา

เป็นการพัฒนาโปรแกรมตามอัลกอริทึมที่ได้วางไว้ โดยอาจใช้ภาษาโปรแกรมช่วยในการดำเนินการ

4. ตรวจสอบปละประเมินผล

ขั้นตอนนี้ควรทำควบคู่ไปกับขั้นตอนดำเนินการแก้ปัญหา โดยตรวจสอบผลลัพธ์ที่ได้ หากผลลัพธ์ที่ได้ไม่ถูกต้อง หรือยังมีส่วนที่ต้องแก้ไข ต้องย้อนกลับไปทำซ้ำตั้งแต่ขั้นตอนแรกจนกว่าจะได้ผลลัพธ์ที่ถูกต้อง

ตัวอย่าง

          สถานการณ์ ต้องการหาค่ามากที่สุดของจำนวนสามจำนวนดังนี้

          ขั้นตอนการแก้ปัญหา :

                   1. วิเคราะห์และกำหนดรายละเอียดของปัญหา

                             ข้อมูลเข้า : จำนวน 3 จำนวนคือ 30 5 และ 25

                             ข้อมูลออก : ตัวเลขที่มีค่ามากที่สุด

                             วิธีตรวจสอบความถูกต้อง : ดำเนินการหาตัวเลขที่มีค่ามากที่สุดตัวตนเอง

                   2. วางแผนการแก้ปัญหา

                             – เปรียบเทียบจำนวนที่หนึ่งกับจำนวนที่สอง เพื่อหาค่ามากกว่าระหว่างสองจำนวน

                             – นำค่าที่ได้มาเปรียบเทียบกับค่าที่สาม เพื่อหาค่าที่มากกว่า

                             – ค่าที่มากที่สุดคือ ผลลัพธ์จากขั้นตอนก่อนหน้า

                   3. ดำเนินการแก้ปัญหา

                             ดำเนินการทดสอบตามขั้นตอนที่วางไว้ โดย

                             – เปรียบเทียบจำนวนที่หนึ่งคือ 30 กับจำนวนที่สองคือ 5 พบว่า 30 มากที่สุด

                             – นำค่าที่ได้คือ 30 มาเปรียบเทียบกับค่าที่สามคือ 25 พบว่า 30 มากที่สุด

                             – ค่าที่มากที่สุดคือ 30

                   4. ตรวจสอบปละประเมินผล

                             เมื่อพิจารณาคำตอบแล้ว ผลที่ได้คือ 30 มีค่ามากที่สุด

กิจกรรม

ให้นักเรียนแสดงขั้นตอนการแก้ปัญหา หาค่าส่วนสูงที่มากที่สุดของนักเรียนชายชั้น ม.1

อ้างอิง

สถาบันส่งเสริมการสอนวิทยาศาสตร์และเทคโนโลยี, “เทคโนโลยี(วิทยาการคำนวณ)”, โรงพิมพ์แห่งจุฬาลงกรณ์มหาวิทยาลัย, ศูนย์หนังสือแห่งจุฬาลงกรณ์มหาวิทยาลัย, 2561 หน้า 9

รหัสลำลองและผังงาน

โดย จีระพงษ์ โพพันธุ์

เมื่อรู้จักกับปัญหาและความต้องการแล้ว สิ่งต่อไปคือการคิดอย่างมีเหตุผล เพื่อหาแนวทางในการแก้ปัญหา โดยกระบวนการในการออกแบบการแก้ปัญหานั้น จะต้องถ่ายทอดความคิดและความเข้าใจไปสู่การนำไปปฏิบัติได้ การถ่ายทอดความคิดจะต้องมีจุดเริ่มต้น จุดสิ้นสุด และมีลำดับก่อนหลังที่ชัดเจน อาจอยู่ในรูปของข้อความเรียงกันเป็นลำดับ ซึ่งเราเรียกว่า “รหัสลำลอง (pseudocode)” หรืออาจจะอยู่ในรูปของ “ผังงาน (flowchart)” ที่ประกอบไปด้วยสัญลักษณ์ ข้อความ และเส้นเชื่อมโยง

รหัสลำลอง (pseudocode)

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

ตัวอย่าง

          สถานการณ์ : เขียนรหัสลำลองการคำนวณหาพื้นที่รูปสามเหลี่ยม

          เขียนรหัสลำลอง :

                   เริ่ม

                   1. รับค่าความกว้างของฐาน

                   2. รับค่าความสูง

                   3. คำนวณหาพื้นที่รูปสามเหลี่ยมจากสูตร ½ x ความกว้างของฐาน x ความสูง

                   จบ

ผังงาน (Flowchart)

ผังงาน คือ แผนภาพแสดงลำดับขั้นตอนการทำงานของอัลกอริทึม เป็นเครื่องมือที่ใช้การรวบรวมจัดลำดับความคิด เพื่อให้เห็นขั้นตอนการทำงานที่ชัดเจนและใช้วางแผนการทำงานขั้นแรก โดยสัญลักษณ์ Flowchart แสดงถึงการทำงานลักษณะต่างๆ เชื่อมต่อกัน

สัญลักษณ์พื้นฐานสำหรับการเขียนผังงาน

ตัวอย่าง

          สถานการณ์ : เขียนผังงานการคำนวณหาพื้นที่รูปสามเหลี่ยม

          เขียนผังงาน :

การกำหนดค่าให้ตัวแปร

          การกำหนดค่าให้กับตัวแปรสามารถทำได้ 3 วิธีคือ

          1. รับค่าจากภายนอก

          2. กำหนดค่าจากค่าคงที่

          3. กำหนดค่าจากการคำนวณ

          สัญลักษณ์ที่นิยมใช้สำหรับกำหนดค่าให้กับตัวแปรคือ ß ใช้เพื่อนำค่าทางขวาของ ß ไปกำหนดให้กับตัวแปรทางด้านซ้ายของ ß

ตัวอย่าง

          สถานการณ์ : เขียนรหัสลำลองการคำนวณหาพื้นที่รูปสามเหลี่ยม

          เขียนรหัสลำลอง :

                   เริ่ม

                   1. width ß รับค่าความกว้างของฐาน

                   2. height ß รับค่าความสูง

                   3. trianglearea ß  ½ x ความกว้างของฐาน x ความสูง

                   จบ

          เขียนผังงาน :

กิจกรรม

ให้นักเรียนเขียนผังงานเพื่อแก้ปัญหาสถานการณ์ดังนี้ นักเรียนเข้าร่วมการแข่งขันวิ่งมินิมาลาทอนกีฬาสีของโรงเรียน ซึ่งหากวิ่งไม่ครบ 5 กิโลเมตรจะไม่หยุดวิ่ง

อ้างอิง

ผศ.บุรินทร์ รุจจนพันธุ์, “รหัสเทียม หรือซูโดโค้ด”, http://www.thaiall.com/datastructure/pseudocode.htm, สืบค้นวันที่ 7 มิ.ย. 61

dictionary.sanook.com, “Pseudo code”, https://dictionary.sanook.com/search/dict-computer/pseudo-code, สืบค้นวันที่ 7 มิ.ย. 61

วิฑูร มีสมคิด, “ภาษาคอมพิวเตอร์ ขั้นตอนการทำงาน Algorithm”, http://thecprogrammingproject.weebly.com/3595364136503604365035883658360436493621363235853634361936483586363736183609361236333591359136343609.html, สืบค้นวันที่ 7 มิ.ย. 61

โอฬาร สัมฤทธิ์เจียรผล, “Flowchart คือ แผนภาพแสดงลำดับขั้นตอนการทำงาน Algorithm, Workflow, Process”, http://share.olanlab.com/th/it/blog/view/214, สืบค้นวันที่ 7 มิ.ย. 61

สถาบันส่งเสริมการสอนวิทยาศาสตร์และเทคโนโลยี, “เทคโนโลยี(วิทยาการคำนวณ)”, โรงพิมพ์แห่งจุฬาลงกรณ์มหาวิทยาลัย, ศูนย์หนังสือแห่งจุฬาลงกรณ์มหาวิทยาลัย, 2561 หน้า 24

ภาษาโปรแกรม

โดย จีระพงษ์ โพพันธุ์

          การเขียนโปรแกรมเพื่อแก้ปัญหานั้น ไม่จำเป็นต้องใช้กับสถานการณ์ที่ซับซ้อนเสมอไป แต่ยังสามารถเขียนโปรแกรมเพื่อแก้ไขปัญหาในชีวิตประจำวันได้ เช่น นักเรียนอาจเขียนโปรแกรมเพื่อประมวลผลการฝากเงินออมทรัพย์ประจำวันของนักเรียน แทนที่จะต้องจดลงบนกระดาษ นักเรียนสามารถกลั่นกรองแนวคิดของตนเอง ออกแบบขั้นตอนวิธี และเขียนโปรแกรมเพื่อช่วยประมวลผล

ภาษาโปรแกรม

          ภาษาโปรแกรม คือภาษาประดิษฐ์ชนิดหนึ่งที่มีวิวัฒนาการมาอย่างยาวนาน ออกแบบขึ้นมาเพื่อสื่อสารชุดคำสั่งแก่เครื่องจักร โดยเฉพาะอย่างยิ่งคอมพิวเตอร์ โดยภาษาโปรแกรมสามารถควบคุมคอมพิวเตอร์ด้วยภาษาเครื่องที่ประกอบด้วยเลข 0 และ 1

          ในยุคเริ่มต้นภาษาโปรแกรมเป็นอุปสรรคต่อการเขียนโปรแกรมเป็นอย่างมาก จนมาถึงปัจจุบันภาษาโปรแกรมมีความคล้ายคลึงกับภาษาอังกฤษ ทำให้การเขียนโปรแกรมง่ายมากขึ้น แต่เนื่องจากคอมพิวเตอร์ยังคงต้องทำงานตามคำสั่งภาษาเครื่อง เมื่อเราเขียนโปรแกรมแล้ว จึงต้องมีการแปลให้เป็นภาษาเครื่องก่อน

ตัวแปลภาษา

          อินเตอร์พรีเตอร์ (Interpreter) เป็นตัวแปลภาษาระดับสูงซึ่งแปลภาษาที่ใกล้เคียงกับภาษามนุษย์ ไปเป็นภาษาเครื่อง โดยใช้หลักการแปลพร้อมกับงานตามคำสั่งทีละบรรทัดตลอดทั้งโปรแกรมทำให้การแก้ไขโปรแกรมทำได้ง่ายและรวดเร็ว ภาษาที่แปลแบบอินเตอร์พรีเตอร์ เช่น Python , LOGO

          คอมไพเลอร์ (Compiler) เป็นตัวแปลภาษาระดับสูงเช่นเดียวกับอินเตอร์พรีเตอร์แต่จะใช้วิธีแปลคำสั่งทั้งโปรแกรมให้ถูกต้อง จึงจะได้ผลลัพธ์ของโปรแกรม ภาษาที่แปลแบบคอมไพเลอร์ เช่น C , C++ , JAVA

          ปัจจุบันยังมีภาษาอีกกลุ่มหนึ่งที่ไม่ได้ใช้ในการสั่งงานคอมพิวเตอร์โดยตรง แต่ใช้ในการกำหนดรูปแบบการแสดงผล หรือรูปแบบการจัดเก็บข้อมูล เพื่อให้เป็นมาตรฐานให้ใช้งานร่วมกันได้ เช่น HTML (HyperText Markup Language) , XML (Extensible Markup Language)

กิจกรรม

          ให้นักเรียนสืบค้นภาษาโปรแกรม และนำเสนอให้เพื่อนๆ ในห้องเรียนได้รู้จัก

อ้างอิง

จรินทร์ ธงงาม, “ตัวแปลภาษาคอมพิวเตอร์ (Translator)”, http://www.thaigoodview.com/library/contest2552/type2/tech03/05/_translator.html, สืบค้นวันที่ 7 มิ.ย. 61

รณชิต, “การแปลภาษาคอมพิวเตอร์”, https://kropomprograming.wordpress.com/, สืบค้นวันที่ 7 มิ.ย. 61

วิกิพีเดีย สารานุกรมเสรี, “ภาษาโปรแกรม”, https://th.wikipedia.org/, สืบค้นวันที่ 7 มิ.ย. 61

สถาบันส่งเสริมการสอนวิทยาศาสตร์และเทคโนโลยี, “เทคโนโลยี(วิทยาการคำนวณ)”, โรงพิมพ์แห่งจุฬาลงกรณ์มหาวิทยาลัย, ศูนย์หนังสือแห่งจุฬาลงกรณ์มหาวิทยาลัย, 2561 หน้า 28

ภาษาโปรแกรม

โดย จีระพงษ์ โพพันธุ์ -30 กรกฎาคม 201912081

          การเขียนโปรแกรมเพื่อแก้ปัญหานั้น ไม่จำเป็นต้องใช้กับสถานการณ์ที่ซับซ้อนเสมอไป แต่ยังสามารถเขียนโปรแกรมเพื่อแก้ไขปัญหาในชีวิตประจำวันได้ เช่น นักเรียนอาจเขียนโปรแกรมเพื่อประมวลผลการฝากเงินออมทรัพย์ประจำวันของนักเรียน แทนที่จะต้องจดลงบนกระดาษ นักเรียนสามารถกลั่นกรองแนวคิดของตนเอง ออกแบบขั้นตอนวิธี และเขียนโปรแกรมเพื่อช่วยประมวลผล

ภาษาโปรแกรม

          ภาษาโปรแกรม คือภาษาประดิษฐ์ชนิดหนึ่งที่มีวิวัฒนาการมาอย่างยาวนาน ออกแบบขึ้นมาเพื่อสื่อสารชุดคำสั่งแก่เครื่องจักร โดยเฉพาะอย่างยิ่งคอมพิวเตอร์ โดยภาษาโปรแกรมสามารถควบคุมคอมพิวเตอร์ด้วยภาษาเครื่องที่ประกอบด้วยเลข 0 และ 1

          ในยุคเริ่มต้นภาษาโปรแกรมเป็นอุปสรรคต่อการเขียนโปรแกรมเป็นอย่างมาก จนมาถึงปัจจุบันภาษาโปรแกรมมีความคล้ายคลึงกับภาษาอังกฤษ ทำให้การเขียนโปรแกรมง่ายมากขึ้น แต่เนื่องจากคอมพิวเตอร์ยังคงต้องทำงานตามคำสั่งภาษาเครื่อง เมื่อเราเขียนโปรแกรมแล้ว จึงต้องมีการแปลให้เป็นภาษาเครื่องก่อน

ตัวแปลภาษา

          อินเตอร์พรีเตอร์ (Interpreter) เป็นตัวแปลภาษาระดับสูงซึ่งแปลภาษาที่ใกล้เคียงกับภาษามนุษย์ ไปเป็นภาษาเครื่อง โดยใช้หลักการแปลพร้อมกับงานตามคำสั่งทีละบรรทัดตลอดทั้งโปรแกรมทำให้การแก้ไขโปรแกรมทำได้ง่ายและรวดเร็ว ภาษาที่แปลแบบอินเตอร์พรีเตอร์ เช่น Python , LOGO

          คอมไพเลอร์ (Compiler) เป็นตัวแปลภาษาระดับสูงเช่นเดียวกับอินเตอร์พรีเตอร์แต่จะใช้วิธีแปลคำสั่งทั้งโปรแกรมให้ถูกต้อง จึงจะได้ผลลัพธ์ของโปรแกรม ภาษาที่แปลแบบคอมไพเลอร์ เช่น C , C++ , JAVA

          ปัจจุบันยังมีภาษาอีกกลุ่มหนึ่งที่ไม่ได้ใช้ในการสั่งงานคอมพิวเตอร์โดยตรง แต่ใช้ในการกำหนดรูปแบบการแสดงผล หรือรูปแบบการจัดเก็บข้อมูล เพื่อให้เป็นมาตรฐานให้ใช้งานร่วมกันได้ เช่น HTML (HyperText Markup Language) , XML (Extensible Markup Language)

กิจกรรม

          ให้นักเรียนสืบค้นภาษาโปรแกรม และนำเสนอให้เพื่อนๆ ในห้องเรียนได้รู้จัก

อ้างอิง

จรินทร์ ธงงาม, “ตัวแปลภาษาคอมพิวเตอร์ (Translator)”, http://www.thaigoodview.com/library/contest2552/type2/tech03/05/_translator.html, สืบค้นวันที่ 7 มิ.ย. 61

รณชิต, “การแปลภาษาคอมพิวเตอร์”, https://kropomprograming.wordpress.com/, สืบค้นวันที่ 7 มิ.ย. 61

วิกิพีเดีย สารานุกรมเสรี, “ภาษาโปรแกรม”, https://th.wikipedia.org/, สืบค้นวันที่ 7 มิ.ย. 61

สถาบันส่งเสริมการสอนวิทยาศาสตร์และเทคโนโลยี, “เทคโนโลยี(วิทยาการคำนวณ)”, โรงพิมพ์แห่งจุฬาลงกรณ์มหาวิทยาลัย, ศูนย์หนังสือแห่งจุฬาลงกรณ์มหาวิทยาลัย, 2561 หน้า 28

หน่วยที่ 2 เขียนโปรแกรมเบื้องต้น

ภาษาไพทอน

โดย จีระพงษ์ โพพันธุ์

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

รู้จักไพทอน (Python)

          ไพทอน คือชื่อภาษาที่ใช้ในการเขียนโปรแกรมภาษาหนึ่ง ซึ่งถูกพัฒนาขึ้นมาโดยไม่ยึดติดกับแพลตฟอร์ม คือสามารถรันภาษาไพทอนได้ทั้งบนระบบ Unix, Linux , Windows หรือแม้แต่ระบบ FreeBSD ภาษาไพทอนเป็น Open Source เหมือนกับภาษา PHP ทำให้ทุกคนสามารถที่จะนำภาษาไพทอนมาพัฒนาโปรแกรมได้ฟรี ๆ โดยไม่ต้องเสียค่าใช้จ่าย และความเป็น Open Source ทำให้มีผู้เชี่ยวชาญเข้ามาช่วยกันพัฒนาให้ภาษาไพทอนมีความสามารถสูงขึ้น และใช้งานได้ครอบคลุมกับทุกลักษณะงาน

          การเขียนโปรแกรมไพทอนจะใช้เครื่องมือในการพัฒนาที่เรียกว่า ไอดีอี (Integrated Development Environment : IDE) ซึ่งประกอบด้วยเครื่องมือแก้ไขโปรแกรมต้นฉบับ (Source Code Editor) เครื่องมือแก้ไขจุดบกพร่อง (Debugger) และเครื่องมือช่วยให้โปรแกรมทำงาน (Run) โดยทั่วไป Python IDE จะทำงานตามคำสั่งได้ใน 2 โหมด คือ

          1. โหมดอิมมีเดียท (immediate mode) เป็นโหมดที่ผู้ใช้จะพิมพ์คำสั่งลงไปในส่วนที่เรียกว่าเชลล์ (shell) หรือคอนโซน (console) ทีละคำสั่ง และตัวแปลภาษาจะแปลคำสั่ง หากไม่มีข้อผิดพลาดจะทำงานตามคำสั่งดังกล่าว

          2. โหมดสคริปต์ (script mode) ในโหมดนี้ผู้เขียนโปรแกรมต้องพิมพ์คำสั่งหลายคำสั่งประกอบกันแล้วบันทึกเป็นไฟล์ไว้ก่อน เพื่อจะสั่งให้ตัวแปลภาษาทำงานตามคำสั่งตั้งแต่คำสั่งแรก จนถึงคำสั่งสุดท้าย ถ้าหากต้องการตรวจสอบความถูกต้องสามารถใช้โหมดอิมมีเดียทในการทดสอบได้

คำสั่งแสดงผล

          PRINT () เป็นคำสั่งชนิดฟังก์ชัน ทำหน้าที่แสดงสิ่งที่อยู่ในเครื่องหมายวงเล็บออกทางจอภาพ

ตัวอย่างการใช้คำสั่ง พิมพ์คำสั่งว่า print (“Hello World”) ลงไปในโปรแกรม เมื่อรันคำสั่งจะได้โปรแกรมออกมาดังภาพ

กิจกรรม

ให้นักเรียนทดลองพิมพ์คำสั่งต่อไปนี้ แล้ววิเคราะห์ผลลัพธ์ที่ได้

                   print (“5+5”)

                   print (5+5)

คำสั่งรับข้อมูล

          INPUT () เป็นคำสั่งชนิดฟังก์ชัน ทำหน้าที่รับข้อมูลเข้าที่ผู้ใช้ป้อนผ่านทางคีย์บอร์ด

ตัวอย่างการใช้คำสั่ง

                   ผลลัพธ์ที่ได้

ตัวแปร

          ตัวแปร (VARIABLE) ใช้ในการอ้างอิงค่าข้อมูล โดยตัวแปรจะถูกกำหนดค่าด้วยเครื่องหมาย =

ตัวอย่างการใช้คำสั่ง

          ผลลัพธ์ที่ได้

กิจกรรม

ให้นักเรียนสร้างตัวแปรชื่อ name ที่มีค่าเป็น krui3.com แล้วใช้คำสั่ง print() เรียกตัวแปร name ให้แสดงผล

ชนิดข้อมูล

          ภาษาไพทอนมีการแบ่งประเภทของข้อมูลออกเป็นหลายประเภท โดยมีประเภทข้อมูลพื้นฐานคือ ข้อมูลประเภทข้อความ (String) และข้อมูลประเภทจำนวน (Numerical)

          ข้อมูลประเภทข้อความ

          การกำหนดข้อมูลที่เป็นข้อความหรือสตริงให้ใช้เครื่องหมายอัญประกาศครอบข้อความที่ต้องการกำหนด โดยเลือกใช้ได้ทั้งอัญประกาศเดี่ยว (‘) หรือคู่ (“) โดยกรณีที่มีข้อความยาวหลายบรรทัดต้องใช้ “ หรือ ‘ ติดต่อกัน 3 ตัว เช่น name = “’KRUI3’”

          ข้อมูลชนิดจำนวน

          ภาษาไพทอนมีข้อมูลจำนวนที่สามารถนำไปคำนวณทางคณิตศาสตร์ได้หลายชนิด อาทิ จำนวนเต็ม (integer หรือ int) สามารถเก็บค่าจำนวนเต็มบวกและจำนวนเต็มลบได้ และจำนวนจริง (float) สามารถเก็บค่าทั้งจำนวนจริงบวกและลบ ที่อยู่ในรูปแบบของทศนิยมได้

ตัวอย่างการใช้ข้อมูลชนิดจำนวน

                   ผลลัพธ์ที่ได้

ตัวดำเนินการทางคณิตศาสตร์

ตัวดำเนินการความหมาย
+บวก
ลบ
*คูณ
/หาร
**ยกกำลัง
//หารปัดเศษทิ้ง
%เศษที่ได้จากการหาร

กิจกรรม

ให้นักเรียนเขียนโปรแกรมด้วยภาษาไพทอนเพื่อคำนวณหาพื้นที่วงกลม ที่มีเส้นผ่านศูนย์กลางขนาด 5 เซนติเมตร

อ้างอิง

ดาวน์โหลดโปรแกรม PyCharm Edu https://www.jetbrains.com/pycharm-edu/download/#section=windows

Watsan Homsin, “แนะนำภาษา Python”, http://marcuscode.com/lang/python/introduction, สืบค้นวันที่ 8 มิ.ย. 61

mindphp.com, “Python คืออะไร ไพธอน คือภาษา สำหรับเขียนโปรแกรมคอมพิวเตอร์ภาษาหนึ่ง
Python คืออะไร ไพธอน คือภาษา สำหรับเขียนโปรแกรมคอมพิวเตอร์ภาษาหนึ่ง”, http://www.mindphp.com, สืบค้นวันที่ 8 มิ.ย. 61

Chai Phonbopit, “หัดเขียน Python เบื้องต้นฟรีด้วยโปรแกรม PyCharm Edu”, https://devahoy.com/posts/learn-python-with-pycharm-edu/, สืบค้นวันที่ 9 มิ.ย. 61

การทำงานแบบวนซ้ำและมีทางเลือก

โดย จีระพงษ์ โพพันธุ์

การทำงานแบบวนซ้ำ

          ในการเขียนโปรแกรมมีหลายกรณีที่ต้องมีการทำงานแบบซ้ำ ๆ กัน ซึ่งทำให้ต้องเขียนคำสั่งชุดเดียวกันซ้ำกันหลายครั้ง เพื่อให้การทำงานมีประสิทธิภาพ ดังนั้นจึงต้องอาศัยคำสั่งวนซ้ำ (Loop Statement) เพื่อช่วยให้การเขียนคำสั่งสั้นลง โดยมีรูปแบบดังนี้

For ตัวแปร in ลิสต์ :

                             ชุดคำสั่ง

ตัวอย่าง

          เขียนโปรแกรมที่รับชื่อ นามสกุล แล้วพิมพ์ซ้ำออกทางจอภาพ 3 ครั้ง

          ตัวอย่างการใช้คำสั่ง

          ผลลัพธ์ที่ได้

          ผังการทำงานของโปรแกรม

การทำงานแบบมีทางเลือก

          การทำงานแบบมีทางเลือกเป็นการเขียนคำสั่งที่ไม่จำเป็นต้องทำงานทุกคำสั่ง แต่จะทำงานเมื่อมีเงื่อนไขเป็นจริงตามที่ระบุเท่านั้น โดยมีรูปแบบดังนี้

                   If เงื่อนไขทางเลือก :

                             ชุดคำสั่ง

ตัวอย่าง

          เขียนโปรแกรมที่รับค่าคะแนนของนักเรียนจำนวนไม่เกิน 100 คะแนน โดยเก็บไว้ในตัวแปร x ถ้าใส่คะแนนน้อยกว่า 50 คะแนน ให้โปรแกรมแสดงคำว่า “น้อยเกินไป ควรปรับปรุง” ถ้าใส่คะแนนมากกว่า 50 คะแนน ให้โปรแกรมแสดงคำว่า “ดีมาก” และถ้าใส่คะแนน 50 คะแนน ให้โปรแกรมแสดงคำว่า “ดี”

          ตัวอย่างการใช้คำสั่ง

          ผลลัพธ์ที่ได้

          ในบางสถานการณ์ การเขียนโปรแกรมอาจมีการทำงานมากกว่าหนึ่งเงื่อนไข เราสามารถใช้คำสั่ง if-else ได้ โดยมีรูปแบบการใช้งานดังนี้

If เงื่อนไขทางเลือก :

                             ชุดคำสั่งที่ 1

                   Else :

                             ชุดคำสั่งที่ 2

          โดยถ้าเงื่อนไขทางเลือกเป็นจริงแล้ว จะทำตามคำสั่งชุดที่ 1 ไม่เช่นนั้นจะทำตามคำสั่งในชุดที่ 2

ตัวอย่าง

          เขียนโปรแกรมเกมทายเลข โดยจะกำหนดเลขไว้ในโปรแกรม 1 หมายเลข แล้วให้ผู้ใช้ทาย ถ้าทายถูกให้โปรแกรมแสดงคำว่า “ยินดีด้วย คุณทายถูก” แต่ถ้าทายไม่ถูกให้แสดงคำว่า “คุณยังทายไม่ถูก เสียใจด้วย”

          ตัวอย่างการใช้คำสั่ง

          ผลลัพธ์ที่ได้

กิจกรรม

          ให้นักเรียนเขียนโปรแกรมเพื่อคำนวณเกรดในรายวิชาต่าง ๆ โดยกรอกคะแนนเก็บทั้งหมด ถ้าได้คะแนนมากกว่า 80 คะแนน ให้โปแรกรมแสดงคำว่า “คุณได้เกรด 4” ถ้าได้คะแนน 75-79 คะแนน ให้โปแรกรมแสดงคำว่า “คุณได้เกรด 3.5” ถ้าได้คะแนน 70-74 คะแนน ให้โปแรกรมแสดงคำว่า “คุณได้เกรด 3” ถ้าได้คะแนน 65-69 คะแนน ให้โปแรกรมแสดงคำว่า “คุณได้เกรด 2.5” ถ้าได้คะแนน 60-64 คะแนน ให้โปแรกรมแสดงคำว่า “คุณได้เกรด 2” ถ้าได้คะแนน 55-59 คะแนน ให้โปแรกรมแสดงคำว่า “คุณได้เกรด 1.5” ถ้าได้คะแนน 50-59 คะแนน ให้โปแรกรมแสดงคำว่า “คุณได้เกรด 1” ถ้าได้คะแนนน้อยกว่า 50 คะแนน ให้โปแรกรมแสดงคำว่า “คุณได้เกรด 0”

อ้างอิง

สถาบันส่งเสริมการสอนวิทยาศาสตร์และเทคโนโลยี, “เทคโนโลยี(วิทยาการคำนวณ)”, โรงพิมพ์แห่งจุฬาลงกรณ์มหาวิทยาลัย, ศูนย์หนังสือแห่งจุฬาลงกรณ์มหาวิทยาลัย, 2561 หน้า 71Facebook62TwitterLine

สถาบันส่งเสริมการสอนวิทยาศาสตร์และเทคโนโลยี, “เทคโนโลยี(วิทยาการคำนวณ)”, โรงพิมพ์แห่งจุฬาลงกรณ์มหาวิทยาลัย, ศูนย์หนังสือแห่งจุฬาลงกรณ์มหาวิทยาลัย, 2561 หน้า 38

หน่วยที่ 3 จัดการกับข้อมูล

ข้อมูล

โดย จีระพงษ์ โพพันธุ์

ข้อมูลเป็นทรัพย์สินที่มีค่า มีการใช้ประโยชน์จากข้อมูลอย่างแพร่หลาย เราทุกคนต่างเป็นผู้ผลิตและผู้ใช้ข้อมูลในเวลาเดียว เมื่อเรามองสิ่งต่างๆ ที่อยู่รอบตัว จะพบว่าสิ่งเหล่านี้ล้วนเป็นข้อมูลที่เกี่ยวข้องกับสิ่งใดสิ่งหนึ่ง

          ข้อมูล (DATA) หมายถึง ข้อเท็จจริง หรือสิ่งที่ถือ หรือยอมรับว่าเป็นข้อเท็จจริง สำหรับใช้เป็นหลักอนุมานหาความจริงหรือการคำนวณ (พจนานุกรม ฉบับราชบัณฑิตยสถาน พ.ศ. 2554)

องค์ประกอบของข้อมูล

          1. ข้อมูลเชิงปริมาณ (Quantitative data) คือข้อมูลที่สามารถวัด หรือนับได้ทั้งสิ้นทั้งปวง เช่น อายุ, น้ำหนัก, ส่วนสูง

          2. ข้อมูลเชิงคุณภาพ (Qualitative Data) อยู่ในรูปข้อความ อธิบายความหมาย บรรยายความคิดเห็น ความรู้สึก บทสัมภาษณ์

แหล่งข้อมูล

          1. ข้อมูลปฐมภูมิ หมายถึง ข้อมูลที่ได้จากการเก็บรวบรวมหรือบันทึกจากแหล่งข้อมูลโดยตรง ซึ่งอาจจะได้สอบถาม การสัมภาษณ์ การสำรวจ การจดบันทึก ตลอดจนการจัดหามาด้วยเครื่องจักรอัตโนมัติต่างๆที่ดำเนินการจัดเก็บข้อมูลให้ได้ เช่น เครื่องอ่านรหัสแท่ง เครื่องอ่านแถบแม่เหล็ก ข้อมูลปฐมภูมิจึงเป็นข้อมูลพื้นฐานที่ได้มาจากจุดกำเนิดของข้อมูลนั้นๆ

          2. ข้อมูลทุติยภูมิ หมายถึง ข้อมูลที่มีผู้อื่นรวบรวมให้แล้ว บางครั้งอาจจะมีการประมวลผล เพื่อเป็นสารสนเทศผู้ใช้ข้อมูลไม่จำเป็นต้องไปสำรวจเอง ดังตัวอย่างข้อมูลสถิติต่างๆ ที่หน่วยงานรัฐบาลทำไว้แล้ว เช่น สถิติจำนวนประชากรแต่ละจังหวัด สถิติการส่งออกสินค้า สถิติการนำเสนอสินค้า ข้อมูลเหล่านนี้มีการตีพิมพ์เผยแพร่เพื่อให้ใช้งานได้หรือนำเอาไปประมวลผลต่อ

การรวบรวมข้อมูล

          1. การสัมภาษณ์ (interview) เป็นวิธีการที่ส่งเจ้าหน้าที่หรือพนักงานออกไปสัมภาษณ์ผู้ให้คำตอบ และบันทึกคำตอบลงในแบบสอบถาม วิธีนี้นิยมใช้กันมากในการทำสำมะโนและสำรวจ โดยเฉพาะอย่างยิ่งกับสภาพการณ์ของประเทศไทย เป็นวิธีการที่จะทำให้ได้ข้อมูลที่ละเอียด พนักงานสัมภาษณ์สามารถชี้แจงหรืออธิบายให้ ผู้ตอบเข้าใจในคำถามได้ ทำให้ได้รับคำตอบตรงตามวัตถุประสงค์ แต่การที่จะให้ได้คำตอบที่ดี ก็ต้องขึ้นอยู่กับปัจจัยอื่นๆ เช่น วิสัยสามารถของผู้ตอบที่จะเข้าใจคำถาม ความตั้งใจของผู้ตอบและความสุจริตใจที่จะให้คำตอบ ความสามารถของพนักงาน ที่จะสัมภาษณ์ได้อย่างละเอียดครบถ้วน และบันทึกคำตอบอย่างถูกต้อง และที่สำคัญที่สุดคือ ความซื่อสัตย์สุจริตของพนักงานสัมภาษณ์ที่จะไม่กรอกข้อมูลเอง ซึ่งในทางปฏิบัติก่อนที่จะส่งเจ้าหน้าที่หรือพนักงานออกไปปฏิบัติงาน จะต้องทำการอบรมชี้แจงให้เข้าใจถึงขั้นตอนการสัมภาษณ์ ตลอดจนวัตถุประสงค์ของโครงการ คำจำกัดความหรือความหมายของคำต่างๆ ที่ใช้ในแบบสอบถาม การกรอกแบบสอบถาม ซึ่งรายละเอียดต่างๆ เหล่านี้ ได้กำหนดไว้ในคู่มือการปฏิบัติงานเก็บรวบรวมข้อมูล

          2. การสังเกตการณ์ (Observation) เป็นวิธีเก็บข้อมูลโดยการสังเกตโดยตรงจากปฏิกิริยา ท่าทาง หรือเหตุการณ์หรือปรากฏการณ์ ที่เกิดขึ้นในขณะใดขณะหนึ่ง และจดบันทึกไว้โดยไม่มีการสัมภาษณ์ วิธีนี้ใช้กันอย่างกว้างขวางในการวิจัย เช่น จะศึกษาดูปฏิกิริยาของผู้ขับรถยนต์บนท้องถนนภายใต้ สภาพการณ์จราจรต่าง ๆ กัน ก็อาจจะส่งเจ้าหน้าที่ไปยืนสังเกตการณ์ได้ การสังเกตจำนวนลูกค้าและบันทึกปริมาณการขายของสถานประกอบการ โดยพนักงานเก็บภาษีของกรมสรรพากร เพราะการไปสัมภาษณ์ผู้ประกอบการถึงปริมาณการขาย ย่อมไม่ได้ข้อมูลที่แท้จริง

          3. การสำรวจ (Survey) ทำโดยสร้างแบบสำรวจที่กำหนดคำถามเพื่อค้นหาข้อมูล หรือความเห็นที่ต้องการ

          4. การทดลอง (Experiment) เป็นการรวบรวมข้อมูลจากการทดลอง หรือการทดสอบที่มีการควบคุมปัจจัยบางประการ

          5. การทบทวนเอกสาร (Document) เป็นการรวบรวมข้อมูลจากเอกสาร รายงาน บทความ หรือแบบฟอร์มสำหรับรวบรวมข้อมูล

          6. การสำมะโน (Census) เป็นการรวบรวมข้อมูลด้วยการสำรวจจากประชากรเกี่ยวกับเรื่องที่กำหนด เช่น สำนักงานสถิติแห่งชาติได้มีการสำมะโนประชากรและเคหะ

สิ่งที่ต้องคำนึงถึงในการรวบรวมข้อมูล

การประมวลผลข้อมูล

          การประมวลผลข้อมูล (Data Processing) หมายถึง กระบวนการที่กระทำกับข้อมูลที่รวบรวมไว้ เพื่อให้ได้ข้อมูล หรือสารสนเทศที่อยู่ในรูปแบบที่ต้องการนำไปใช้

          รูปแบบในกระบวนการประมวลผลข้อมูลในปัจจุบัน เป็นการประมวลผลด้วยเครื่องมืออิเล็กทรอนิกส์ เราเรียกข้อมูลที่นำเข้าสู่การประมวลว่า “ข้อมูลเข้า (Input)” และเรียกสิ่งที่ได้จากการประมวลผล (Process) ว่า “ข้อมูลออก (Output)”

การสร้างทางเลือกเพื่อตัดสินใจ

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

          ขั้นตอนการตัดสินใจ

          1. กำหนดเป้าหมายของการตัดสินใจ

          2. รวบรวมข้อมูลและความรู้ที่เกี่ยวข้อง

          3. กำหนดทางเลือกทั้งหมดที่เป็นไปได้

          4. ประเมินทุกทางเลือก โดยใช้การวิเคราะห์เชิงตรรกะ

          5. ตัดสินใจเลือกทางเลือกที่เหมาะสม

กิจกรรม

          1. ถ้านักเรียนมีเงิน 50 บาท ต้องการรับประทานอาหารกลางวัน ซึ่งประกอบด้วยอาหารหลัก และขนมหวาน ให้นักเรียนออกแบบรายการอาหารอย่างน้อย 3 เมนู ยกตัวอย่างเช่น ก๋วยเตี๋ยวหมู (25 บาท) + น้ำปั่นรสส้ม (15 บาท)

          2. จากรายการอาหารที่นักเรียนออกแบบไว้ นักเรียนจะเลือกรับประทานเมนูไหน เพราะเหตุใด

อ้างอิง

วราภรณ์ พิมา, “ลักษณะของข้อมูลที่ใช้ในการวิเคราะห์”, http://www.dpu.ac.th/bigdata/variable_type.html, สืบค้นวันที่ 9 มิ.ย. 61

สำนักงานสถิติแห่งชาติ, “วิธีการเก็บรวบรวมข้อมูล”, http://service.nso.go.th/nso/nsopublish/know/estat1_9.html, สืบค้นวันที่ 9 มิ.ย. 61

สถาบันส่งเสริมการสอนวิทยาศาสตร์และเทคโนโลยี, “เทคโนโลยี(วิทยาการคำนวณ)”, โรงพิมพ์แห่งจุฬาลงกรณ์มหาวิทยาลัย, ศูนย์หนังสือแห่งจุฬาลงกรณ์มหาวิทยาลัย, 2561 หน้า 139

ซอฟต์แวร์จัดการข้อมูล

โดย จีระพงษ์ โพพันธุ์

          ปัจจุบันมีผู้ให้บริการซอฟต์แวร์บนคราวด์ (Cloud-Based Service) จำนวนมาก ทำให้ผู้ใช้สามารถใช้งานได้อย่างสะดวก เราสามารถใช้ซอฟต์แวร์เหล่านี้เป็นเครื่องมือในการจัดการกับข้อมูลได้ นอกจากนี้ซอฟต์แวร์บนคราวด์ยังสามารถแบ่งปันหรือทำงานร่วมกับผู้อื่นได้อีกด้วย ตัวอย่างบริการซอฟต์แวร์บนคราวด์ ได้แก่

          1. ซอฟต์แวร์ประมวลผลคำ (Word Processor) ใช้สำหรับสร้าง แก้ไข และจัดรูปแบบเอกสาร โดยทำงานร่วมกันผ่านอินเตอร์เน็ต เช่น Google Docs และ Microsoft Words ในชุด Office 365

          2. ซอฟต์แวร์สร้างฟอร์ม (Form) ใช้สำหรับสร้างแบบสำรวจ/แบบสอบถาม เพื่อรวบรวมข้อมูล โดยคำถามที่กำหนดในแบบสำรวจแจเป็นได้ทั้งคำถามปลายปิดและปลายเปิด ซึ่งเมื่อสร้างแบบสอบถามเสร็จแล้ว สามารถนำ URL ไปให้ผู้ตอบแบบสอบถาม ตอบแบบสอบถามแบบออนไลน์ได้เลย

          3. ซอฟต์แวร์ตารางทำงาน (Spreadsheet) ใช้สำหรับสร้าง และแก้ไขตารางทำงาน รวมถึงการประมวลผลข้อมูลในตาราง คำสั่งในการประมวลผล เช่น การหาค่าเฉลี่ย การหาค่าความถี่ เป็นต้น รวมถึงการสร้างงานนำเสนอให้เข้าใจง่ายโดยทำเป็นแผนภูมิ ตัวอย่างของซอฟต์แวร์ตารางทำงาน เช่น Google Sheets และ Microsoft Excel ในชุด Office 365

          4. ซอฟต์แวร์นำเสนอ (Presentation) ใช้สำหรับสร้างและแก้ไข ตกแต่งแฟ้มงานนำเสนอ โดยสามารถใส่ตาราง แผนภูมิ รูปภาพ เพื่อให้ง่ายต่อการเข้าใจ ตัวอย่างของซอฟต์แวร์ตารางทำงาน เช่น Google Slides และ Microsoft PowerPoint ในชุด Office 365

ปัจจุบันมีบริการเก็บไฟล์ข้อมูลบนคราวด์ โดยให้บริการแบบไม่มีค่าใช้จ่ายเมื่อใช้งานพื้นที่เก็บข้อมูลในปริมาณไม่มากนัก ตัวอย่างของผู้ให้บริการเก็บไฟล์ข้อมูลบนคราวด์ เช่น Google Drive , One Drive , iCloud และ Dropbox

กิจกรรม

          ให้นักเรียนสืบค้นกระบวกการทำงาน วิธีการใช้งาน ซอฟต์แวร์ประมวลผลคำ, ซอฟต์แวร์สร้างฟอร์ม, ซอฟต์แวร์ตารางทำงาน, ซอฟต์แวร์นำเสนอ และบริการเก็บไฟล์ข้อมูลบนคราวด์ พร้อมทั้งสร้างคู่มือการใช้งานฉบับที่นักเรียนเข้าใจ

อ้างอิง

สถาบันส่งเสริมการสอนวิทยาศาสตร์และเทคโนโลยี, “เทคโนโลยี(วิทยาการคำนวณ)”, โรงพิมพ์แห่งจุฬาลงกรณ์มหาวิทยาลัย, ศูนย์หนังสือแห่งจุฬาลงกรณ์มหาวิทยาลัย, 2561 หน้า 158

หน่วยที่ 4 ใช้เทคโนโลยีอย่างปลอดภัย

ภัยคุกคามจากเทคโนโลยี

โดย จีระพงษ์ โพพันธุ์

          เทคโนโลยีสารสนเทศ (Information Technology : IT) เป็นเครื่องมือและมีบทบาทสำคัญต่อการเรียนรู้ และการใช้ชีวิตประจำวัน รวมทั้งสนับสนุนการดำเนินกิจกรรมต่างๆ ให้บรรลุวัตถุประสงค์ และเป้าหมายได้

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

วิธีการคุกคาม

          ภัยคุกคามทางด้านไอที มีหลากหลายวิธี โดยมีตั้งแต่ใช้ความรู้ขั้นสูงด้านไอที ไปจนถึงวิธีวิธีที่ไม่จำเป็นต้องใช้ความรู้ทางด้านเทคนิคอะไรเลย อาทิ

          1. การคุกคามโดยใช้หลักจิตวิทยา เป็นการคุกคามที่ใช้การหลอกลวงเพื่อให้ได้ข้อมูลที่ต้องการ เช่น การสร้างหน้าเว็บไซต์เลียนแบบเว็บไซต์ที่โด่งดัง เพื่อหลอกให้ผู้ใช้เข้าใจผิด แล้วหลงให้รหัสผ่าน การป้องกันคือผู้ใช้ต้องมีความระมัดระวัง ตรวจสอบ URL ให้มั่นใจว่าเป็นเว็บไซต์ที่เชื่อถือได้หรือไม่ก่อนกรอกข้อมูลต่างๆ ลงไป

          2. การคุกคามด้วยเนื้อหาที่ไม่เหมาะสม ข้อมูลและเนื้อหาที่มีอยู่ในแหล่งต่างๆ บนอินเตอร์เน็ตมีจำนวนมาก ทำให้ข้อมูลอาจจะไม่ได้รับการตรวจสอบ และในบางแหล่งข้อมูลอาจมีเนื้อหาไม่เหมาะสม เช่น การใช้ความรุนแรง ลามกอนาจาร การพนัน ดังนั้นผู้ใช้จึงควรมีวิจารณญาณ

          3. การคุกคามโดยใช้โปรแกรม เป็นการคุกคามโดยการใช้เครื่องมือทางด้านไอที เพื่อก่อปัญหาให้กับผู้ใช้อื่นๆ ซึ่งเครื่องมือดังกล่าวเราเรียกว่า มัลแวร์ (Malicious Software: Malware) ซึ่งมีหลายประเภท ดังนี้

                   3.1 ไวรัสคอมพิวเตอร์ (Computer Virus) เป็นโปรแกรมที่เขียนด้วยเจตนาร้าย อาจทำให้ผู้ใช้งานเกิดความรำคาญ หรือเกิดความเสียหายต่อระบบของผู้ใช้ ไวรัสคอมพิวเตอร์มักติดมากับไฟล์งานต่างๆ และจะทำงานเมื่อมีการเปิดไฟล์งานนั้นๆ

                   3.2 เวิร์ม (Worm) มีการเรียกเป็นภาษาไทยว่า “หนอนอินเตอร์เน็ต” เป็นโปรแกรมที่สามารถทำสำเนาตัวเอง (copy) และแพร่กระจายไปยังคอมพิวเตอร์เครื่องอื่นๆ ได้ ทำให้คอมพิวเตอร์และระบบเครือข่ายเสียหาย การป้องกันอย่างหนึ่งสำหรับเวิร์ม คือ การอัปเดตโปรแกรมที่ใช้ทั้งหมดให้ทันสมัยอยู่เสมอ ข้อสังเกตว่าคอมพิวเตอร์ติดเวิร์มหรือไม่คือ คอมพิวเตอร์ทำงานช้าลง , คอมพิวเตอร์ไม่สามารถทำงานได้ , ไม่สามารถติดต่อระบบเครือข่ายได้ , ไม่สามารถทำงานในระบบอินเตอร์เน็ตได้ เป็นต้น นอกจากนี้เรายังวิธีการป้องกันเบื้องต้นก็คือ การติดตั้งโปรแกรมตรวจสอบไวรัสแบบ Real time และที่สำคัญ ควรหลีกเลี่ยงการเปิดเมล์ที่เราไม่รู้จัก หรือไม่แน่ใจ

                   3.3 ม้าโทรจัน (Trojan Horse Virus) คือโปรแกรมคอมพิวเตอร์ที่ถูกบรรจุเข้าไปในคอมพิวเตอร์ เพื่อลอบเก็บข้อมูลของคอมพิวเตอร์เครื่องนั้น เช่น ข้อมูลชื่อผู้ใช้ รหัสผ่าน เลขที่บัญชีธนาคาร หมายเลขบัตรเครดิต และข้อมูลส่วนบุคคลอื่น ๆ โดยส่วนใหญ่แฮกเกอร์จะส่งโปรแกรมเข้าไปในคอมพิวเตอร์เพื่อดักจับข้อมูลดังกล่าว แล้วนำไปใช้ในการเจาะระบบ และเพื่อโจมตีคอมพิวเตอร์, เซิร์ฟเวอร์, หรือระบบเครือข่ายอีกที ซึ่งเป็นที่รู้จักกันในชื่อการโจมตีเพื่อ “ปฏิเสธการให้บริการ” (Denial of Services)

                   3.4 สปายแวร์ (Spyware) เป็นโปรแกรมเล็ก ๆ ที่ถูกเขียนขึ้นมาสอดส่อง (สปาย) การใช้งานเครื่องคอมพิวเตอร์ของผู้ใช้ อาจจะเพื่อโฆษณาสินค้าต่าง ๆ สปายแวร์บางตัวก็สร้างความรำคาญเพราะจะเปิดหน้าต่างโฆษณาบ่อย ๆ แต่บางตัวร้ายกว่านั้น คือ ทำให้ผู้ใช้ใช้อินเตอร์เน็ตไม่ได้เลย ไม่ว่าจะไปเว็บไซต์ไหน ก็จะโชว์หน้าต่างโฆษณาตลอดเวลา

                   3.5 โปรแกรมโฆษณา (Advertising Supported Software: Adware) คือโปรแกรมที่สามารถทำงาน แสดง หรือดาวน์โหลดสื่อโฆษณาโดยอัตโนมัติ ไปยังคอมพิวเตอร์ที่ได้รับการติดตั้งโปรแกรมชนิดนี้ไว้

                   3.6 โปรแกรมเรียกค่าไถ่ (Ransomware) เป็นมัลแวร์ (Malware) ประเภทหนึ่งที่มีลักษณะการทำงานที่แตกต่างกับมัลแวร์ประเภทอื่นๆ คือไม่ได้ถูกออกแบบมาเพื่อขโมยข้อมูลของผู้ใช้ แต่จะทำการเข้ารหัสหรือล็อกไฟล์ไม่ว่าจะเป็นไฟล์เอกสาร รูปภาพ วิดีโอ ผู้ใช้งานจะไม่สามารถเปิดไฟล์ใดๆ ได้เลยหากไฟล์เหล่านั้นถูกเข้ารหัส ซึ่งการถูกเข้ารหัสก็หมายความว่าจะต้องใช้คีย์ในการปลดล็อคเพื่อกู้ข้อมูลคืนมา ผู้ใช้งานจะต้องทำการจ่ายเงินตามข้อความ “เรียกค่าไถ่” ที่ปรากฏ

รูปแบบการป้องกันภัยคุกคาม

          วิธีการหนึ่งที่ใช้สำหรับการป้องกันภัยคุกคามด้านไอที คือการตรวจสอบ และยืนยันตัวตนก่อนเริ่มใช้งาน โดยสามารถดำเนินการได้ 3 รูปแบบดังนี้

          1. ตรวจสอบจากสิ่งที่ผู้ใช้รู้ เช่น ชื่อผู้ใช้และรหัสผ่าน

          2. ตรวจสอบจากสิ่งที่ผู้ใช้มี เช่น บัตรสมาร์ทการ์ด

          3. ตรวจสอบจากสิ่งที่เป็นส่วนหนึ่งของผู้ใช้ เช่น การสแกนนิ้วมือ ใบหน้า เสียง เป็นต้น

การตั้งรหัสผ่าน (password) ให้ปลอดภัย

          1. ตั้งให้เป็นเอกลักษณ์เว็บไหนเว็บนั้น อย่าใช้พาสเวิร์ดเดียวแต่ครอบคลุมทุกเว็บไซต์ เช่น ตั้งเอาไว้ว่า krui3dotcom แล้วใช้กับทุกบริการ ทุกเว็บไซต์ เพื่อความสะดวก การทำแบบนี้ถือว่าอันตรายอย่างมาก เพราะถ้ามีผู้ไม่หวังดีได้พาสเวิร์ดเราไป จะสามารถเอาไปลองได้กับทุกเว็บไซต์ และทุกบริการ

          2. อย่าใช้คำทั่วไปมาตั้งพาสเวิร์ด หากเราเป็นคนชอบดอกไม้ คนก็อาจจะเดาพาสเวิร์ดของเราว่า Flower เป็นต้น

          3. ยิ่งยาวยิ่งดี พาสเวิร์ดที่มีความยาว 10 ตัวอักษรนั้นเดายากกว่าพาสเวิร์ด 8 ตัวอักษรถึง 4 พันเท่า! ถ้าเดาพาสเวิร์ด 8 ตัวอักษรใช้เวลา 1 วัน เดาพาสเวิร์ด 10 ตัวอักษรก็ต้องใช้เวลา 4000 วัน! เว็บไซต์ในทุกวันนี้มักจะต้องการพาสเวิร์ดความยาว 8 ตัวอักษรเป็นขั้นต่ำอยู่แล้ว แต่ถ้าต้องการความปลอดภัยจริง ๆ 10 ตัวอักษรจะดีกว่า

          4. ผสมผสานทั้งตัวเลข เครื่องหมาย ตัวอักษรใหญ่ และตัวอักษรเล็ก เมื่อเราใช้ตัวอักษรใหญ่ เล็ก ตัวเลขและเครื่องหมายต่างๆ ลงในพาสเวิร์ด โอกาสที่จะเดาพาสเวิร์ดถูกจะมีแค่ 1 ในหลายแสนล้าน

          5. พิมพ์พาสเวิร์ดภาษาไทยด้วยคีย์บอร์ดภาษาอังกฤษ ตัวอย่างเช่น จะใช้พาสเวิร์ดว่า “ครูไอที” ก็จะพิมพ์ได้ว่า “8i^wvmu” เป็นต้น

กิจกรรม

          ให้นักเรียนสืบค้นข่าวที่เกี่ยวข้องกับภัยคุกคามจากเทคโนโลยี แล้วนำเสนอหน้าชั้นเรียน

อ้างอิง

Nat Berman, “Five Computer Viruses That Have Ruled 2017”, http://moneyinc.com/five-computer-viruses-ruled-2017/, สืบค้นวันที่ 11 มิ.ย. 61

Comnetsite.com, “ไวรัส Worm”, http://www.comnetsite.com/what-is-worm.php, สืบค้นวันที่ 11 มิ.ย. 61

วิกิพีเดีย สารานุกรมเสรี, “ม้าโทรจัน (คอมพิวเตอร์)”, https://th.wikipedia.org/, สืบค้นวันที่ 11 มิ.ย. 61

ศูนย์คอมพิวเตอร์ มหาวิทยาลัยเทคโนโลยีสุรนารี, “spyware คืออะไร”, http://ccs.sut.ac.th/2012/index.php/helpdesk/helpdesk-faqs/249-help-241105, สืบค้นวันที่ 11 มิ.ย. 61

itnews4u.com, “Spyware คืออะไร แตกต่างจากไวรัสอย่างไรมาดูกัน”, http://itnews4u.com/What-is-Spyware.html, สืบค้นวันที่ 11 มิ.ย. 61

วิกิพีเดีย สารานุกรมเสรี, “แอดแวร์”, https://th.wikipedia.org, สืบค้นวันที่ 11 มิ.ย. 61

itnews4u.com, “Adware คืออะไร ส่งผลเสียอะไรต่อคอมพิวเตอร์ของเราบ้างมาดูกัน”, http://itnews4u.com/what-is-adware-on-a-computer.html, สืบค้นวันที่ 11 มิ.ย. 61

สำนักบริหารเทคโนโลยีสารสนเทศ จุฬาลงกรณ์มหาวิทยาลัย, “Ransomware คืออะไร?”, https://www.it.chula.ac.th/th/node/3351, สืบค้นวันที่ 11 มิ.ย. 61

Komentaru, “Majitel? iPhone hl?s? probl?m s Touch ID – po p?echodu na verzi iOS 9.1!”, http://applehelp.cz/2015/11/07/majitele-iphone-hlasi-problem-s-touch-id-po-prechodu-na-verzi-ios-9-1/, สืบค้นวันที่ 11 มิ.ย. 61

Luck_MThai, “5 เทคนิค การตั้ง password ให้ปลอดภัย”, https://tech.mthai.com/tips-technic/43045.html, สืบค้นวันที่ 11 มิ.ย. 61

สำนักบริหารเทคโนโลยีสารสนเทศ จุฬาลงกรณ์มหาวิทยาลัย, “รหัสผ่าน (Password) ตั้งค่าอย่างไรให้ปลอดภัย”, https://www.it.chula.ac.th/th/node/3348, สืบค้นวันที่ 11 มิ.ย. 61

สถาบันส่งเสริมการสอนวิทยาศาสตร์และเทคโนโลยี, “เทคโนโลยี(วิทยาการคำนวณ)”, โรงพิมพ์แห่งจุฬาลงกรณ์มหาวิทยาลัย, ศูนย์หนังสือแห่งจุฬาลงกรณ์มหาวิทยาลัย, 2561 หน้า 167

การใช้เทคโนโลยีสารสนเทศ

โดย จีระพงษ์ โพพันธุ์

          การใช้งานไอทีเป็นเรื่องใกล้ตัวของเราทุกคน อย่างไรก็ตามการใช้งานไอทีอาจส่งผลกระทบต่อผู้ใช้งาน ดังนั้น การเรียนรู้ การทำความเข้าใจเงื่อนไขการใช้งานจึงเป็นสิ่งสำคัญ

การศึกษาเงื่อนไขการใช้งาน

          การใช้งานไอทีในปัจจุบันมีทั้งแบบมีค่าใช้จ่ายและแบบไม่เสียค่าใช้จ่าย แต่ทุกระบบที่ให้บริการมีการกำหนดเงื่อนไขการใช้งานทั้งสิ้น ซึ่งบางระบบให้ชำระด้วยเงิน หรือบางระบบชำระด้วยการกรอกข้อมูลต่างๆ เป็นข้อแลกเปลี่ยน เงื่อนไขการใช้งาน อาจจะถูกกำหนดด้วยข้อตกลงในลักษณะต่างๆ เช่น

          1. ลิขสิทธิ์ (Copyright) ลิขสิทธิ์ ใช้กับงานสร้างสรรค์ทุกประเภท ได้รับความคุ้มครองทันทีที่สร้างขึ้นโดยไม่ต้องจดทะเบียน เป็นทรัพย์สินทางปัญญาอย่างหนึ่งซึ่งไม่มีรูปร่าง แต่สามารถถือเอาได้และกฎหมายให้ความคุ้มครองโดยให้เจ้าของลิขสิทธิ์เป็นผู้มีสิทธิแต่ผู้เดียว (exclusive rights) ที่จะกระทำการใด ๆ เกี่ยวกับงานสร้างสรรค์ที่ได้ทำขึ้น โดยหลักแล้วกฎหมายลิขสิทธิ์จะคุ้มครองเฉพาะรูปแบบของการแสดงออกของความคิด (expression of ideas) ไม่คุ้มครองถึงตัวความคิดที่ยังไม่ได้ถ่ายทอดให้ปรากฎออกมา งานลิขสิทธิ์ไม่จำเป็นต้องมี “ความใหม่” (novelty) ขอเพียงให้เกิดจากความคิดริเริ่มของตนเอง (original) ไม่ลอกเลียนแบบใคร และเป็นการสร้างสรรค์โดยใช้ความพยายามและสติปัญญาในระดับหนึ่งก็จะได้รับการคุ้มครองตามกฎหมายแล้ว

          2. สัญญาอนุญาตครีเอทีฟคอมมอนส์ (Creative Commons: CC) เป็นองค์กรไม่แสวงกำไรที่สนับสนุนการใช้เนื้อหาโดยไม่ถูกจำกัดจากสัญญาอนุญาต สัญญาอนุญาตของครีเอทีฟคอมมอนส์จะเอื้อให้มีการใช้สื่อทั้ง ภาพ เสียง ข้อมูล โดยการแบ่งแยกสัญญาอนุญาตย่อยออกสำหรับการแจกจ่ายและการใช้ข้อมูล โดยการอ้างอิงถึงเจ้าของลิขสิทธิ์เดิม

          ข้อกำหนดการใช้ผลงานต่างๆ จะแทนด้วยสัญลักษณ์ เช่น

          2.1  อ้างอิงแหล่งที่มา (CC-BY)

          2.2  อ้างอิงแหล่งที่มา ให้อนุญาตต่อไปแบบเดียวกัน (CC-BY-SA)

          2.3  อ้างอิงแหล่งที่มา ห้ามดัดแปลง (CC-BY-ND)

          2.4  อ้างอิงแหล่งที่มา ห้ามนำไปใช้เพื่อการค้า (CC-BY-NC)

          2.5  อ้างอิงแหล่งที่มา ห้ามนำไปใช้เพื่อการค้า และให้อนุญาตต่อไปแบบเดียวกัน (CC-BY-NC-SA)

          2.6  อ้างอิงแหล่งที่มา ห้ามนำไปใช้เพื่อการค้า และห้ามดัดแปลง (CC-BY-NC-ND)

แนวทางการใช้ไอทีอย่างปลอดภัย

          การใช้งานไอทีอาจส่งผลกระทบต่อผู้ใช้งาน โดยเฉพาะอย่างยิ่งการใช้งานไอทีผ่านสมาร์ทโฟน ที่มักจะมีแอปพลิเคชันจำนวนมากให้เลือกติดตั้งได้ฟรี แต่มีเงื่อนไขบางประการ ซึ่งหลายคนมักจะละเลยในการอ่านเงื่อนไขเหล่านั้น การใช้ไอทีให้ปลอดภัยจำเป็นต้องเข้ามจในประเด็นต่างๆ ดังนี้

กิจกรรม

          ถ้านักเรียนไม่มีแฟลชไดรว์ เมื่อมาเรียนวิชาวิทยาการคำนวณแล้วต้องนำไฟล์งานกลับไปทำต่อที่บ้าน นักเรียนจะแก้ปัญหาในการเก็บข้อมูลอย่างไร ให้อธิบายขั้นตอนการแก้ปัญหาอย่างละเอียด         

อ้างอิง

บริษัท คลิกเน็กซ์ จำกัด, “Copyright ? คืออะไร จำเป็นหรือไม่ ที่ต้องมี ??”, http://v1.makewebeasy.com/article/index.php?page=show&id=1011, สืบค้นวันที่ 11 มิ.ย. 61

ศูนย์ทรัพย์สินทางปัญญาและบ่มเพาะวิสาหกิจ มหาวิทยาลัยธรรมศาสตร์, “ลิขสิทธิ์ (Copyright)”, http://tuipi.tu.ac.th/tuip04.php, สืบค้นวันที่ 11 มิ.ย. 61

Pattida Sothornprapakorn, “ของแจกฟรีที่เจอบน INTERNET เอามาใช้ยังไงให้ไม่ผิดลิขสิทธิ์”, http://www.neverlandeffects.com/, สืบค้นวันที่ 11 มิ.ย. 61

วิกิพีเดีย สารานุกรมเสรี, “ครีเอทีฟคอมมอนส์”, https://th.wikipedia.org, สืบค้นวันที่ 11 มิ.ย. 61

สถาบันส่งเสริมการสอนวิทยาศาสตร์และเทคโนโลยี, “เทคโนโลยี(วิทยาการคำนวณ)”, โรงพิมพ์แห่งจุฬาลงกรณ์มหาวิทยาลัย, ศูนย์หนังสือแห่งจุฬาลงกรณ์มหาวิทยาลัย, 2561 หน้า 175