วิทยาการคอมพิวเตอร์ หรือ วิทยาศาสตร์คอมพิวเตอร์ (อังกฤษ: computer science) เป็นศาสตร์เกี่ยวกับการศึกษาค้นคว้าทฤษฏีการคำนวณสำหรับคอมพิวเตอร์ และทฤษฏีการประมวลผลสารสนเทศ ทั้งด้านซอฟต์แวร์ ฮาร์ดแวร์ และ เครือข่าย ซึ่งวิทยาการคอมพิวเตอร์นั้นประกอบด้วยหลายหัวข้อที่เกี่ยวข้องกับคอมพิวเตอร์ ตั้งแต่ระดับนามธรรม หรือความคิดเชิงทฤษฎี เช่น การวิเคราะห์และสังเคราะห์ขั้นตอนวิธี ไปจนถึงระดับรูปธรรม เช่น ทฤษฎีภาษาโปรแกรม ทฤษฏีการพัฒนาซอฟต์แวร์ ทฤษฎีฮาร์ดแวร์คอมพิวเตอร์ และ ทฤษฏีเครือข่าย

ในแง่ของศาสตร์เกี่ยวกับคอมพิวเตอร์นั้น วิทยาการคอมพิวเตอร์เป็นหนึ่งในห้าสาขาที่เกี่ยวกับคอมพิวเตอร์ ซึ่งประกอบด้วย วิทยาการคอมพิวเตอร์ เทคโนโลยีสารสนเทศ ระบบสารสนเทศ วิศวกรรมซอฟต์แวร์ และวิศวกรรมคอมพิวเตอร์

เนื้อหา [ซ่อน]
1 ประวัติของชื่อ
1.1 ชื่อในภาษาไทย
2 ผู้บุกเบิก
3 รางวัลทางด้านคอมพิวเตอร์
4 สาขาหลัก
4.1 พื้นฐานคณิตศาสตร์
4.2 วิทยาการคอมพิวเตอร์เชิงทฤษฎี
4.3 ฮาร์ดแวร์
4.4 ซอฟต์แวร์
4.5 ระบบข้อมูลและสารสนเทศ
4.6 ระเบียบวิธีคำนวณด้วยคอมพิวเตอร์
4.7 ระบบเครือข่ายคอมพิวเตอร์และสารสนเทศ
5 สาขาที่เกี่ยวข้อง
6 อ้างอิง
7 ดูเพิ่ม
8 แหล่งข้อมูลอื่น

[แก้] ประวัติของชื่อ
คำว่า วิทยาการคอมพิวเตอร์ มีความหมายเทียบเท่ากับคำในภาษาอังกฤษ คือ computer science (หรือในสหราชอาณาจักร นิยมใช้คำว่า computing science โดยมีความหมายต่างกันเล็กน้อย)

คำที่ใช้ในภาษาฝรั่งเศสคือ Informatique จาก "information" (สารสนเทศ) และ "automatique" (อัตโนมัติ) บัญญัติโดย Philippe Dreyfus ในปี พ.ศ. 2505 (ค.ศ. 1962) ซึ่งคำในภาษาอิตาลี Informatica และภาษาสเปน Informática ก็มีที่มาจากคำในภาษาฝรั่งเศสคำนี้ ส่วนคำที่ใช้ในภาษาเยอรมันคือ Informatik ซึ่งก็ดูคล้ายกัน และมีรากจากคำทั้งสองเหมือนกัน แต่ได้ถูกบัญญัติใช้ในเยอรมันมาตั้งแต่ปี พ.ศ. 2500 (ค.ศ. 1957) และเมื่อไม่นานมานี้ ในภาษาอังกฤษเอง ก็ได้มีการใช้คำว่า informatics ซึ่งก็มาจากรากเดียวกัน แต่มักใช้หมายความถึง information science (สารสนเทศศาสตร์) หรือในบางครั้งใช้แทนคำว่า computer science (หรือ computing scince) แต่กินความหมายที่กว้างไปกว่าคอมพิวเตอร์หรือเครื่องจักร โดยรวมถึงการคำนวณและสารสนเทศในธรรมชาติด้วย

[แก้] ชื่อในภาษาไทย
คำว่า "computer science" แต่เดิมในภาษาไทยเรียกทับศัพท์ว่า "คอมพิวเตอร์ไซแอ้นซ์" [ต้องการแหล่งอ้างอิง] โดยเป็นชื่อของหน่วยงานหนึ่งของจุฬาลงกรณ์มหาวิทยาลัย ซึ่งเป็นหน่วยงานแรกในประเทศไทยที่สอนวิชาวิทยาศาสตร์คอมพิวเตอร์ ต่อมาได้ย้ายมาเป็นภาควิชาวิศวกรรมคอมพิวเตอร์ สังกัดคณะวิศวกรรมศาสตร์ และยังคงหลักสูตรวิทยาศาสตร์คอมพิวเตอร์มหาบัณฑิตไว้ ซึ่งเป็นหลักสูตรเดียวในประเทศที่ใช้คำว่า "วิทยาศาสตร์คอมพิวเตอร์" ส่วนหน่วยงานที่เปิดสอนวิชานี้ในระดับปริญญาตรีแห่งแรกในประเทศไทยคือ สาขาศาสตร์คอมพิวเตอร์ (ชื่อเดิม) คณะวิทยาศาสตร์และเทคโนโลยี มหาวิทยาลัยธรรมศาสตร์ ซึ่งสาเหตุที่เดิมเรียกว่า "ศาสตร์คอมพิวเตอร์" เนื่องจากคำว่า "ไซน์" ในความหมายนี้คือ "ศาสตร์" เช่นเดียวกับใน สังคมศาสตร์ หรือ โซเชียลไซน์ (social science)

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

[แก้] ผู้บุกเบิก
ชาร์ลส แบบเบจ ผู้ออกแบบและสร้างเครื่องลบเลข
จอห์น แบกคัส ผู้คิดค้น ภาษาฟอร์แทรน
อลอนโซ เชิร์ช ผู้พัฒนาพื้นฐานของวิทยาการคอมพิวเตอร์เชิงทฤษฎี
เจมส์ ดับเบิลยู คูลีย์ (James W. Cooley) และ จอหน์ ดับเบิลยู ทูคีย์ (John W. Tukey คิดค้น) ขั้นตอนวิธีการแปลงฟูเรียร์แบบเร็ว ซึ่งมีบทบาทอย่างสูงในการวิจัยด้านวิทยาศาสตร์
โอเล-โจฮาน ดาห์ล (Ole-Johan Dahl) และ เคียสเทน ไนก์อาร์ด (Kristen Nygaard) คิดค้นภาษา SIMILA ซึ่งเป็นโปรแกรมเชิง(กึ่ง)วัตถุ
เอดส์เกอร์ ไดจ์สตรา (Edsger Dijkstra) พัฒนาขั้นตอนวิธีพื้นฐาน, rigor, การโปรแกรมโดยใช้ semaphore, บทความ "คำสั่ง โกทู (Goto) นั้นพิจารณาดูแล้วไม่ปลอดภัย" ซึ่งพูดถึงอันตรายจากการใช้คำสั่งโกทู (Goto), และกลวิธีในการสอน
ซี.เอ.อาร์. ฮอร์ (C.A.R Hoare) พัฒนาภาษาทางการซีเอสพี (CSP) (Communicating Sequential Processes) และ ขั้นตอนวิธี Quicksort
พลเรือเอกเกรซ มัวเรย์ ฮอปเปอร์ (Admiral Grace Murray Hopper) บุกเบิกพื้นฐานของโปรแกรมภาษาระดับสูง ที่เธอเรียกว่า "การโปรแกรมอัตโนมัติ", พัฒนาตัวแปลภาษา (A-O compiler), และมีอิทธิพลอย่างสูงกับภาษาโคบอล (COBOL)
เคนเนท ไอเวอร์สัน (Kenneth Iverson) คิดค้นภาษา APL และมีส่วนร่วมพัฒนาการคำนวณแบบปฏิสัมพันธ์
โดนัล คนุท (Donald Knuth) เขียนชุดหนังสือ The Art of Computer Programming และระบบสร้างเอกสาร TeX
เอดา ไบรอน หรือ เอดา เลิฟเลซ ริเริ่มการศึกษาด้านวิทยาศาสตร์เชิงคำนวณ โดยเฉพาะบทความ "Sketch of the Analytical Engine" ที่เป็นการวิเคราะห์งานของ แบบเบจ, ชื่อของเธอยังเป็นชื่อของภาษาโปรแกรมคอมพิวเตอร์สมัยใหม่ Ada อีกด้วย
จอห์น วอน นอยแมน (John von Neuman) ออกแบบสถาปัตยกรรมวอนนอยแมน ที่เป็นพื้นฐานของเครื่องคอมพิวเตอร์ในปัจจุบัน
คลอด อี. แชนนอน (Claude E. Shannon) ริเริ่มทฤษฎีสารสนเทศ (information theory)
แอลัน ทัวริง (Alan Turing) บุกเบิกพื้นฐานด้านวิทยาการคอมพิวเตอร์ สำหรับการวางรูปแบบของเครื่องจักรทัวริง (Turing machine) และออกแบบไพลอท เอซีอี (Pilot ACE)
มัวริส วิลค์ส (Maurice Wilkes) สร้างคอมพิวเตอร์แบบเก็บโปรแกรมได้ (stored program computer) ได้สำเร็จ และมีส่วนในโครงสร้างพื้นฐานของภาษาโปรแกรมระดับสูง
คอนราด ซูส (Konrad Zuse) สร้างเครื่องคอมพิวเตอร์ไบนารีที่เขาได้ออกแบบทฤษฎีสำหรับภาษาโปรแกรมชั้นสูง ชื่อว่า Plankalkül
โทชิยาสึ ลอเรนส์ คูนิอิ (Tosiyasu Laurence Kunii) นิยามความหมายของโลกไซเบอร์ (Cyberworlds) และเป็นบิดาแห่งคอมพิวเตอร์กราฟิกส์ของเอเชีย

[แก้] รางวัลทางด้านคอมพิวเตอร์
รางวัลทัวริง (Turing Award) รางวัลที่ได้รับการยกย่องสูงสุดในวงการวิทยาการคอมพิวเตอร์
รางวัลด้านการศึกษาเทย์เลอร์ แอล บูธ (Taylor L. Booth Education Award) เพื่อยกย่องผู้ทำคุณประโยชน์ให้กับวงการการศึกษาด้านวิทยาการคอมพิวเตอร์

[แก้] สาขาหลัก

[แก้] พื้นฐานคณิตศาสตร์
พีชคณิตบูลีน
วิยุตคณิต หรือ ภินทนคณิตศาสตร์
ทฤษฎีกราฟ
ทฤษฎีสารสนเทศ
ตรรกศาสตร์สัญลักษณ์
ทฤษฎีความน่าจะเป็น และ สถิติศาสตร์

[แก้] วิทยาการคอมพิวเตอร์เชิงทฤษฎี
ทฤษฎีสารสนเทศเชิงขั้นตอนวิธี (Algorithmic information theory)
ทฤษฎีการคำนวณได้
วิทยาการเข้ารหัสลับ
อรรถศาสตร์รูปนัย (Formal semantics)
ทฤษฎีการคำนวณ
การวิเคราะห์ขั้นตอนวิธี และ ความซับซ้อนของปัญหา
ตรรกศาสตร์และความหมายของโปรแกรม
คณิตตรรกศาสตร์ และภาษารูปนัย (Formal languages)
ทฤษฎีแบบชนิด (Type theory)

[แก้] ฮาร์ดแวร์
หน่วยประมวลผลกลาง
หน่วยความจำ
วงจรรวม
วงจรรวมขนาดใหญ่ (VLSI)
อินพุต/เอาต์พุต และ การสื่อสารข้อมูล
การ์ดแสดงผล
การ์ดเสียง
อุปกรณ์คอมพิวเตอร์

[แก้] ซอฟต์แวร์
โปรแกรมคอมพิวเตอร์ และ การเขียนโปรแกรม
วิศวกรรมซอฟต์แวร์
ภาษาโปรแกรม
ระบบปฏิบัติการ
ตัวแปลภาษา (คอมไพเลอร์)

[แก้] ระบบข้อมูลและสารสนเทศ
โครงสร้างข้อมูล (Data structures )
การบีบอัดข้อมูล (Data compression )
ฐานข้อมูล (Database )
การวิเคราะห์และออกแบบระบบ (System Analysis and Design )
ตัวแปลภาษา (Compiler )
คลังข้อมูล (Data Warehouse )

[แก้] ระเบียบวิธีคำนวณด้วยคอมพิวเตอร์
ปัญญาประดิษฐ์ (Artificial intelligence )
วิชาเรขภาพคอมพิวเตอร์ (คอมพิวเตอร์กราฟิกส์) (Computer graphics )
การประมวลผลภาพ (Image processing ) และ คอมพิวเตอร์วิทัศน์ (Computer vision )
การรู้จำแบบ (Pattern recognition )
การรู้จำคำพูด (Speech recognition )
การรู้จำภาพ (Image recognition )
การประมวลผลเอกสารและข้อความ (Document processing , Text processing )
การประมวลผลสัญญาณดิจิทัล (Digital signal processing )
การค้นคืนสารสนเทศ (Information retrieval )
การทำเหมืองข้อมูล (Data Mining )
การทำเหมืองข้อความ (Text Mining )

[แก้] ระบบเครือข่ายคอมพิวเตอร์และสารสนเทศ
ฮาร์ดแวร์สำหรับเครือข่าย (Network hardware)
แลน (Local Area Networks)
แมน (Metropolitan Area Networks)
แวน (Wide Area Networks)
เครือข่ายไร้สาย (Wireless Networks)
อินเทอร์เน็ต (Internetworks)
ซอฟต์แวร์สำหรับเครือข่าย (Network software)
ลำดับชั้นโปรโตโคล (Protocol Hierarchies)
Design issue for layers
การเชื่อมต่อและการให้บริการ (Interface and services)
Connection-Oriented and Connectionless services
แบบโครงสร้างเครือข่าย (Reference Model)
โครงสร้างแบบ โอเอสไอ (OSI Model)
โครงสร้างแบบ ทีซีพี/ไอพี (TCP/IP Model)
โลกไซเบอร์ (Cyberworlds)

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

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