วิทยาการคอมพิวเตอร์ หรือ วิทยาศาสตร์คอมพิวเตอร์ ( Computer science) เป็นศาสตร์เกี่ยวกับการศึกษาค้นคว้าทฤษฎีการคำนวณสำหรับคอมพิวเตอร์ และทฤษฎีการประมวลผลสารสนเทศ ทั้งด้านซอฟต์แวร์ ฮาร์ดแวร์ และ เครือข่าย ซึ่งวิทยาการคอมพิวเตอร์นั้นประกอบด้วยหลายหัวข้อที่เกี่ยวข้องกับคอมพิวเตอร์ ตั้งแต่ระดับนามธรรม หรือความคิดเชิงทฤษฎี เช่น การวิเคราะห์และสังเคราะห์ขั้นตอนวิธี ไปจนถึงระดับรูปธรรม เช่น ทฤษฎีภาษาโปรแกรม ทฤษฎีการพัฒนาซอฟต์แวร์ ทฤษฎีฮาร์ดแวร์คอมพิวเตอร์ และ ทฤษฎีเครือข่าย
ในแง่ของศาสตร์เกี่ยวกับคอมพิวเตอร์นั้น วิทยาการคอมพิวเตอร์เป็นหนึ่งในห้าสาขาวิชาคอมพิวเตอร์ ซึ่งประกอบด้วย สาขาวิทยาการคอมพิวเตอร์ หรือวิทยาศาสตรคอมพิวเตอร์ สาขาวิศวกรรมคอมพิวเตอร์ สาขาวิศวกรรมซอฟต์แวร์ สาขาเทคโนโลยีสารสนเทศ หรือเทคโนโลยีสารสนเทศและการสือสาร และ สาขาคอมพิวเตอร์ธุรกิจ หรือ ระบบสารสนเทศทางธุรกิจ
คำว่า วิทยาการคอมพิวเตอร์ มีความหมายเทียบเท่ากับคำในภาษาอังกฤษ คือ computer science (หรือในสหราชอาณาจักร นิยมใช้คำว่า computing science โดยมีความหมายต่างกันเล็กน้อย)
คำที่ใช้ในภาษาฝรั่งเศสคือ Informatique จาก "information" (สารสนเทศ) และ "automatique" (อัตโนมัติ) บัญญัติโดย Philippe Dreyfus ในปี พ.ศ. 2505 (ค.ศ. 1962) ซึ่งคำในภาษาอิตาลี Informatica และภาษาสเปน Informática ก็มีที่มาจากคำในภาษาฝรั่งเศสคำนี้ ส่วนคำที่ใช้ในภาษาเยอรมันคือ Informatik ซึ่งก็ดูคล้ายกัน และมีรากจากคำทั้งสองเหมือนกัน แต่ได้ถูกบัญญัติใช้ในเยอรมันมาตั้งแต่ปี พ.ศ. 2500 (ค.ศ. 1957) และเมื่อไม่นานมานี้ ในภาษาอังกฤษเอง ก็ได้มีการใช้คำว่า informatics ซึ่งก็มาจากรากเดียวกัน แต่มักใช้หมายความถึง information science (สารสนเทศศาสตร์) หรือในบางครั้งใช้แทนคำว่า computer science (หรือ computing science) แต่กินความหมายที่กว้างไปกว่าคอมพิวเตอร์หรือเครื่องจักร โดยรวมถึงการคำนวณและสารสนเทศในธรรมชาติด้วย
คำว่า "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
ระบบคอมพิวเตอร์นั้นประกอบด้วยองค์ประกอบ 3 ส่วน
1.ส่วนนำข้อมูลเข้า Input Unit
2.ส่วนประมวลผล Processing Unit
3. ส่วนนำข้อมูลออก Output Unit
ในการใช้งานแต่ละประเภทจะทำให้มีผลทำให้เลือกใช้อุปกรณ์แตกต่างกันออกไป เช่นถ้าประมวลผลคำ Word Processing อุปกรณ์นำข้อมูลเข้าจะเป็นแป้นพิมพ์ Kayboard และอุปกรณ์นำข้อมูลออกมักจะเป็นเครื่องพิมพ์ Printer แต่ถ้าเป็นงานออกแบบของสถาปนิก อุปกรณ์นำเข้าอาจจะใช้สแคนเนอร์Scanner
และอุปกรณ์นำออกข้อมูลอาจจะเป็นจอภาพที่มีความคมมากๆหรืออาจจะใช้พล็อตเตอร์ Plotter ก็ได้ หรือถ้าเป็นระบบงานการเสียภาษีของรัฐบาลก็จะมีการส่งข้อมูล ส่งข้อมูลของผู้เสียภาษีผ่าน เทอร์มินัล Terminal เพื่อไปยังคอมพิวเตอร์ศูนย์กลางของกระทรวงการคลัง เพื่อประมวลผลราการเสียภาษีและได้รับข้อมูลออกมาทางเครื่องพิมพ์
องค์ประกอบของสามส่วนคือ ส่วนข้อมูลนำเข้า ส่วนประมวลผล และส่วนนำข้อมูลออก นั้นเราอาจจะรวมเรียกว่า ส่วนเครื่อง (Hardawre)
ข้อมูลบางส่วนจาก วิทยาศาตร์เบื้องต้นบทเรียนมหาวิทยาลัยรามกำแหงวิทยาศาสตร์และคณิตศาสตร์ในชีวิตประจำวัน 1 (Science and Mathematics in Everyday Life 1)
ขอมารับความรู้ดีๆด้วยคนนะเจ้าคะ