1. ความรู้พื้นฐานก่อนเริ่มเรียนเขียนโปรแกรม
คอมพิวเตอร์ (Computer)
หมายถึง เครื่องคำนวณอิเล็กทรอนิกส์ โดยใช้วิธีทางคณิตศาสตร์ ประกอบด้วย ฮาร์ดแวร์ (ส่วนตัวเครื่องและอุปกรณ์) และ ซอฟต์แวร์ (ส่วนชุดคำสั่งที่สั่งให้คอมพิวเตอร์ทำงาน) สามารถทำงานคำนวณผล และเปรียบเทียบค่าตามชุดคำสั่งด้วยความเร็วสูงอย่างต่อเนื่อง และอัตโนมัติ
*คอมพิวเตอร์ตั้งโต๊ะ (Desktop) คอมพิวเตอร์โน๊ตบุ๊ค หรือ แล็บท็อป (Notebook / Laptop) แท็บเล็ต (Tablet) และ สมาร์ทโฟน (Smartphone) ล้วนเป็นคอมพิวเตอร์
ฮาร์ดแวร์ (Computer Hardware)
หมายถึง อุปกรณ์ต่างๆ ที่ประกอบขึ้นเป็นเครื่องคอมพิวเตอร์ มีลักษณะเป็นโครงร่างสามารถมองเห็นด้วยตาและสัมผัสได้ แบ่งออกเป็นส่วนต่างๆ ตามลักษณะการทำงาน ได้ 4 หน่วย คือ
1.หน่วยรับข้อมูล (Input Unit) เช่น คีย์บอร์ด เมาส์ สแกนเนอร์ ไมโครโฟน
2.หน่วยประมวลผลกลาง (Central Processing Unit : CPU) เช่น CPU GPU
3.หน่วยแสดงผล (Output Unit) เช่น จอภาพ เครื่องพิมพ์ หูฟัง ลำโพง
4.หน่วยเก็บข้อมูลสำรอง (Secondary Storage) ฮาร์ดดิสไดรฟ์ โซลิดสเตตไดรฟ์ แฟลชไดรฟ์
*สายไฟ สายสัญญาณ เคสคอมพิวเตอร์ PSU รวมถึงส่วนควบอื่นๆ ก็เป็น Hardware เช่นกัน เพียงแต่อาจถูกจัดอยู่ในหมวดหมู่ อื่นๆ ไม่ใช่ 4 หน่วยหลัก
ซอฟท์แวร์ (Software)
โปรแกรมหรือชุดคำสั่งที่ถูกเขียนขึ้นเพื่อสั่งให้เครื่องคอมพิวเตอร์ทำงาน ซอฟต์แวร์เป็นดั่งตัวเชื่อมระหว่างผู้ใช้งานและเครื่องคอมพิวเตอร์ ซอฟต์แวร์สามารถแบ่งออกได้เป็น 2 ประเภท คือ
1. ซอฟต์แวร์สำหรับระบบ (System Software) หรือสามารถเรียกว่า Operating System (OS) หรือระบบปฏิบัติการได้
ระบบปฏิบัติการต้องถูกติดตั้งลงบนคอมพิวเตอร์เพื่อควบคุมการทำงานของฮาร์ดแวร์อยู่ภายใน ระบบทุกอย่างอุปกรณ์ทุกชิ้นภายในคอมพิวเตอร์จะถูกควบคุมสั่งการทำงานด้วยระบบปฏิบัติการ ซึ่งระบบปฏิบัติการที่ใช้งานกันอย่างแพร่หลายบนเครื่องคอมพิวเตอร์ตั้งโต๊ะ นั้นได้แก่ ระบบปฏิบัติการ Windows
*คอมพิวเตอร์ตั้งโต๊ะ iMAC ของแบรนด์ Apple ใช้ OS ชื่อว่า MacOS
**สมาร์ทโฟน นับว่าเป็นคอมพิวเตอร์ประเภทหนึ่ง จึงต้องมีระบบปฏิบัติการเช่นกัน ซึ่งรบบปฏิบัติการในสมาร์ทโฟนที่มีชื่อเสียง ได้แก่ระบบปฏิบัติการ Android และ iOS
2. ซอฟต์แวร์ประยุกต์ (Application Software)
หมายถึง โปรแกรมที่ทำให้เครื่องคอมพิวเตอร์ทำงานเฉพาะอย่างตามความต้องการของผู้ใช้ ซอฟต์แวร์ประยุกต์ที่ได้รับความนิยม เช่น โปรแกรมประมวลผลคำ โปรแกรมคำนวณ โปรแกรมจัดการฐานข้อมูล โปรแกรมค้นหาข้อมูลทางอินเทอร์เน็ต เป็นต้น
โปรแกรม (Program)
หมายถึง ชุดคำสั่งที่เขียนด้วยภาษาคอมพิวเตอร์
ความแตกต่างระหว่างซอฟท์แวร์และโปรแกรม
ซอฟท์แวร์และโปรแกรม แตกต่างกัน ตรงที่
Program คือชุดคำสั่งซึ่งถูกเขียนขึ้นเพื่อสั่งให้คอมพิวเตอร์ทำงานอะไรสักอย่าง ซึ่งอาจเป็นคำสั่งเพียงคำสั่งเดียว โดยโปรแกรมอาจอยู่ในสถานะที่ยังไม่พร้อมใช้งาน ทำให้ต้องนำไป Run ผ่าน Compiler อีกที เพื่อใช้งานโปรแกรม
Software นั้นหมายถึงชุดของโปรแกรมที่ถูกพัฒนาขึ้นมาอย่างเป็นระบบจากการรวมกันของโปรแกรมซึ่ง ทำการ Complie และ Debug ในช่วงการพัฒนาแล้ว ผ่านการทดสอบตามกระบวนการ รวมถึงซอฟท์แวร์จะอยู่ในสภาพพร้อมใช้งาน ทำให้สามารถติดตั้งและ เปิดใช้งานผ่านระบบปฏิบัติการได้เลย
*ตีความได้ว่า Software ทุกชิ้น ล้วนเกิดจาก Program แต่ไม่ได้หมายความว่า Program ทุกชิ้น จะถูกนำไปพัฒนาจนกลายเป็น Software นั่นเอง
ระบบคอมพิวเตอร์ (Computer System)
หมายถึง ขั้นตอนการปฏิบัติงานของคอมพิวเตอร์ที่มีการกำหนดอย่างชัดเจนว่าต้องทำอะไรบ้าง เพื่อให้ได้ผลออกมาตามที่ต้องการ ขั้นตอนการปฏิบัติงานจะประกอบด้วย ข้อมูลนำเข้า (Input) การประมวลผล (Process) และ ผลลัพท์(Output) ซึ่งมีความสัมพันธ์เชื่อมโยงกัน
*ระบบคอมพิวเตอร์ทั้งสามขั้นตอน จะสอดคล้องกับหน่วยต่างๆ ของคอมพิวเตอร์ฮาร์ดแวร์
**การเขียนโปรแกรมนั้น ก็จะเขียนตามขั้นตอนของระบบคอมพิวเตอร์
*** Storage (จัดเก็บข้อมูล) นั้นเป็นกระบวนการจัดเก็บข้อมูล ซึ่งเป็นหน่วยย่อยที่ทำงานในส่วนของ Process
**** Feedback (ข้อมูลย้อนกลับ) เป็นกระบวนการเสริม ที่จะนำผลลัพท์ที่ได้จากการประมวลผล กลับไปเข้ากระบวนการ Input ใหม่อีกครั้ง
อัลกอริทึม (Algorithm)
หมายถึง ขั้นตอนหรือลำดับการประมวลผลในการแก้ปัญหาใดปัญหาหนึ่ง
ราชบัณฑิตยสถานได้บัญญัติศัพท์คำว่า “Algorithm” ใช้คำว่า “ขั้นตอนวิธี” หมายถึง ขั้นตอนวิธีการแก้ปัญหาเชิงคำนวณด้วยคอมพิวเตอร์
อัลกอริทึมมีความสำคัญในการเขียนโปรแกรมเป็นอย่างมาก เพราะ อัลกอริทึมคือการจัดลำดับขั้นตอนวิธีการแก้ปัญหาหรือจัดการความคิดให้เป็นขั้นตอนต่าง ๆ เพื่อแก้ไขปัญหา การเขียนอัลกอริทึมจึงเป็นการกำหนดลำดับคำสั่งให้คอมพิวเตอร์ทำงาน
* สรุปได้ว่าการเขียนโปรแกรม เป็นการสั่งให้คอมพิวเตอร์ทำงานตามอัลกอริทึม ด้วยภาษาคอมพิวเตอร์
**อัลกอริทึม มีที่มาจากชื่อของนักคณิตศาสตร์ชาวเปอร์เซียในศตวรรษที่ 9 ชื่อ อะบู อับดิลลาห์ มูฮัมหมัด บิน มูซา อัลคอวาริซมีย์