Computer Terminology คำเฉพาะทางเกี่ยวกับ Computer ที่ควรรู้จัก part 2

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

Algorithm คืออะไร

จาก https://th.wikipedia.org/wiki/อัลกอลิทึม

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

โดยทั่วไป ขั้นตอนวิธี จะประกอบด้วย วิธีการเป็นขั้นๆ และมีส่วนที่ต้องทำแบบวนซ้ำ (iterate) หรือ เวียนเกิด (recursive) โดยใช้ตรรกะ (logic) และ/หรือ ในการเปรียบเทียบ (comparison) ในขั้นตอนต่างๆ จนกระทั่งเสร็จสิ้นการทำงาน

Bio-Computer / Bio-informatics คืออะไร

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

ความรู้ของมนุษย์ในทางชีววิทยาถูกแบ่งออกเป็น 3 ยุคหลักๆคือ

  1. ยุคที่คิดว่า ชีววิทยา เป็นเครื่องจักร ที่เมื่อเสีย เราใส่ยา ใส่ของเข้าไปซ่อมเช่นเข่าหักก็ใส่ข้อเข่าเทียม เส้นเลือดอุดตันก็ใส่ของเข้าไปขยายเส้นเลือด มีลิ่มเลือดอุดในปอดหลังผ่าตัด ให้ยาสลายลิ่มเลือดเข้าไปกิน ให้มันทำงานได้ ทางการแพทย์ก็พัฒนาอย่างมากจากยุคนี้ แต่ในยุคนี้เราแก้ไข และมองเห็นสิ่งมีชีวิตเป็นเครื่องจักรที่อัศจรรย์แต่ตอบไม่ได้ว่าทำไมความต้องมีเขา ทำไมเราต้องมีขน ทำไมลิงชิมแพนซีหน้าแก่ กว่าคน
  2. ยุคที่มีการค้นพบ DNA สายพันธุกรรมเกลียวคู่เวียนขวาประกอบด้วยคู่เบส ACGT ทำหน้าที่เป็น แบบแปลนของสิ่งมีชีวิตต่างๆว่าควรจะสร้างอะไรอย่างไร แต่เมื่อ เราศึกษาไปมากขึ้นมากยิ่งขึ้นกลับค้นพบว่าจริงๆแล้ว DNA ไม่ได้ตรงไปตรงมาอย่างที่คิด ไม่ใช่ว่าเรารู้จัก DNA และรู้จัก ว่า รหัสพันธุกรรมไหน ทำอะไรจะเข้าไปแก้ได้ง่ายๆ ในรหัสพันธุกรรม มีทั้ง If -else และ Loop ที่สามารถสร้าง Protein ได้อย่างซับซ้อน ในตอนนี้เราเหมือนเป็นลิงชิมแพนซีที่ถึงแม้จะนั่งอยู่หน้า Computer ที่มีหนังสือที่อธิบายวิธีการสร้าง Computer อย่างละเอียดจากไม่มีอะไรขึ้นมาเป็น Computer ก็ไม่อาจจะเข้าใจได้เพราะว่า สมองน้อยๆของมันไม่มีความสามารถพอ นอกจากนี้ ยังมีกระบวนการปิดเปิดรหัสพันธุกรรมที่ซับซ้อนอีก เช่น ยีน A จะทำงานเมื่อ ยีน B เปิด อะไรแบบนี้ซึ่งต้องไปเกี่ยวกับ Protien อีกทอดหนึ่ง จึงเกิดเป็นยุคที่ 3 ของชีววิทยาคือ
  3. Bio-informatics ซึ่งเป็นศาสตร์ที่ศึกษาเกี่ยวกับข้อมูลทางชีววิทยา (โดยใช้ Computer ช่วยประมวลผล ) เป็นการศึกษาชีววิทยาจากมุมมองของ คณิตศาสตร์ และ สถิติ เรา Model Element ของ cell ด้วย Element ทางคณิตศาสตร์ เช่น Group , Set , และ Function หรือพูดภาษาที่เข้าใจง่ายๆคือ ศึกษา Algorithm (ในระดับ Cell )ของสิ่งมีชีวิตนั้นเอง

 

ซึ่งเป้าหมายของ Bio-informatics คือเข้าใจกระบวนการทางชีววิทยาของสารพันธุกรรม และหลังจากนั้นเราอาจจะได้เห็น Bio-Computer หรือ Computer ที่สร้างจากสิ่งมีชีวิต ก็ในเมื่อสิ่งมีชีวิต เป็น ก้อนที่รับ Input เข้าไปและประมวลผลอะไรบางอย่างและปล่อย Output ออกมาอยู่แล้ว ทั้งระดับใหญ่ เช่น มะเขือเทศรับ Gas และ น้ำ เข้าไปเพื่อผลิตผลมะเขือเทศ ปลาไหนไฟฟ้า รับภาพ รับ เสียงรับแรงดันน้ำ เพื่อประมาณผล ว่าควรจะว่ายน้ำหนี ว่ายไปกินเหยื่อหรืออะไรดี ในระดับที่เล็กลง Cell ก็ รับ input เป็นสารเคมี เป็น ปริมาณ protein และสร้าง output คือ Protein ออกมา เช่นกัน ถ้าเราเข้าใจกระบวนการทั้งหมดนี้ เราสามารถสร้าง Computer ด้วย Cell ของ แบททีเรีย หรือแม้แต่ Cell ของพืชของสัตว์ได้ ต่อไป Computer อาจจะไม่ต้องใช้ไฟฟ้า แต่เติมน้ำตาลแท

คณิตศาสตร์คือภาษาอย่างหนึ่งและ ภาษาก็คือคณิตศาสตร์อย่างหนึ่ง

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

ฟรี TUTORIAL JAVA

ฟรีtutorial JAVA 01 install Eclipse ฟรีtutorial JAVA 02 intro to programming Eclipse ฟรีtutorial JAVA 03 condiotion ฟรีtutorial JAVA 04.loop ฟรีtutorial JAVA 05.array ฟรีtutorial JAVA 05 2 array cont ฟรีtutorial JAVA 06 01 function ฟรีtutorial JAVA 06 02 function cont ฟรีtutorial JAVA 07 object ฟรีtutorial JAVA 08 string ฟรีtutorial JAVA 09 constructor ฟรีtutorial JAVA 10 01 oop ฟรีtutorial JAVA 10 02 oop2 ฟรีtutorial JAVA 11 exception ฟรีtutorial JAVA 12 reading file ฟรีtutorial JAVA 13 thread ฟรีtutorial JAVA 14 generic ฟรีtutorial JAVA 15 01 GUI ฟรีtutorial JAVA 15 02 GUI2 ฟรีtutorial JAVA 15 03.GUI3 ฟรีtutorial JAVA 16 using WindowBuilder ฟรีtutorial JAVA 17 event ฟรีtutorial JAVA 18 database management system ฟรีtutorial JAVA 19 ER diagram ฟรีtutorial JAVA 20 Relational ฟรีtutorial JAVA 21 Xampp ฟรีtutorial JAVA 22 JDBC ฟรีtutorial JAVA 23 MVC ฟรีtutorial JAVA 24 SQL ฟรีtutorial JAVA
ขอย้ำอีกครั้งว่าเนื้อหาที่เห็นอยู่นี้ไม่ใช่เนื้อหาตามปกติที่เราสอนในห้องเรียนเป็นแค่ tutorial ไว้อ่านประกอบเฉยๆ แทบไม่เกี่ยวกันเลย และไม่เกี่ยวกับการบ้านที่ทำครับ ในห้องเรียนเนื้อหาจะเยอะกว่านี้ค่อนข้างมากครับ
ขอบคุณน้องตี้ อย่างสูงสำหรับ Tutorial ดีๆ

ฟรี TUTORIAL DATA STRUCTURE

DATA STRUCTURE

ฟรีtutorial : DATA STRUCTURE : 01 1การเรียงลำดับ(Sorting) ฟรีtutorial : DATA STRUCTURE : 01 2 การเรียงลำดับ2 ฟรีtutorial : DATA STRUCTURE : 02 อาร์เรย์ลิสต์ (Array List) ฟรีtutorial : DATA STRUCTURE : 03 ลิงค์ลิสต์ (Linked List) ฟรีtutorial : DATA STRUCTURE : 04 สแต๊ค ฟรีtutorial : DATA STRUCTURE : 05 1 คิวและไพออริตี้คิว ฟรีtutorial : DATA STRUCTURE : 05 2 คิวและไพออริตี้คิว ฟรีtutorial : DATA STRUCTURE : 06 1 ไบนารีทรี ฟรีtutorial : DATA STRUCTURE : 06 2 ไบนารีเสิร์ชทรี ฟรีtutorial : DATA STRUCTURE : 06 3 ไบนารีเสิร์ชทรี ฟรีtutorial : DATA STRUCTURE : 08 แฮช ฟรีtutorial : DATA STRUCTURE : 09 กราฟ ฟรีtutorial : DATA STRUCTURE :
ขอย้ำอีกครั้งว่าเนื้อหาที่เห็นอยู่นี้ไม่ใช่เนื้อหาตามปกติที่เราสอนในห้องเรียนเป็นแค่ tutorial ไว้อ่านประกอบเฉยๆ แทบไม่เกี่ยวกันเลย และไม่เกี่ยวกับการบ้านที่ทำครับ ในห้องเรียนเนื้อหาจะเยอะกว่านี้ค่อนข้างมากครับ
ขอบคุณน้องตี้ อย่างสูงสำหรับ Tutorial ดีๆ


แผนผังการเรียนเขียนโปรแกรม