วิทยาศาสตร์คอมพิวเตอร์เป็นเรื่องเกี่ยวกับอัลกอริธึมและไม่เกี่ยวกับคอมพิวเตอร์ (และอิเล็กทรอนิกส์) อย่างเคร่งครัด
ดังนั้นการศึกษาอัลกอริธึม (แม้แต่คณิตศาสตร์ระดับต้น) สามารถทำให้เกิดความเข้าใจในวิทยาการคอมพิวเตอร์และการเขียนโปรแกรม โปรดจำไว้ว่าแม้กระทั่งคำว่า "อัลกอริทึม" คือการถอดความของผู้เขียนหนังสือเลขคณิต ( al-Khwārizmī , ประมาณร้อยละ 9 CE)
การศึกษาอัลกอริทึมสามารถทำได้โดยใช้วิธีการพื้นฐาน แต่ควรให้ความคุ้มครองว่าทำไมอัลกอริธึมทำงานอย่างไรมันเกิดขึ้นได้อย่างไร
ประวัติศาสตร์เบื้องหลังวิวัฒนาการของวิทยาการคอมพิวเตอร์และอัลกอริธึมและการเขียนโปรแกรมต้องไม่ถูกประเมินต่ำไป ตัวอย่างเช่นเครื่องคิดเลขของ Babbage / Ada, เครื่อง Enigma, plankalkul ของ Konrad Zuse , ENIAC เป็นต้น
จากนั้นหนึ่งสามารถแนะนำการเขียนโปรแกรม (และภาษาการเขียนโปรแกรม) เป็นวิธีการทำอัลกอริทึมเป็นทางการ สิ่งนี้สามารถทำได้ (ขยายใหญ่) โดยใช้วิธีการพื้นฐาน
หมายเหตุงานวิจัยบางชิ้นแสดงให้เห็นว่าการเขียนโปรแกรมการเรียนรู้ peole มีปัญหาหลักสองประการในการทำความเข้าใจ (เกี่ยวข้องกับการใช้สัญลักษณ์มากเกินไปเช่นการทดสอบ asignment vs equality และการทำงานของเครื่อง RAM)
- โครงสร้างลูป (เช่นสำหรับในขณะที่ ฯลฯ .. ) ดูเหมือนยาก
- การทดสอบการมอบหมายและความเท่าเทียมกันดูเหมือนยากเช่นกัน
ดังนั้นเราจึงสามารถมั่นใจได้ว่าประชาชนเหล่านี้จะเข้าใจและเข้าใจได้อย่างชัดเจน
ยิ่งกว่านั้นหากคอมพิวเตอร์เครื่องใดสามารถเข้าถึงได้ (แม้แต่เครื่องคิดเลขที่สามารถตั้งโปรแกรมได้) สิ่งนี้สามารถใช้เพื่อให้ตัวอย่างแอปพลิเคชันและประสบการณ์ตรง อย่างอื่นสามารถใช้คอมพิวเตอร์จำลอง สิ่งนี้สามารถทำได้หลายวิธีเช่นกลุ่มคนสามารถจำลองส่วนต่าง ๆ ของคอมพิวเตอร์และชั้นเรียนสามารถออกแบบอัลกอริทึมเพื่อแก้ปัญหาต่าง ๆ สำหรับคอมพิวเตอร์จำลองนี้และดูว่ามันจะเป็นอย่างไร สิ่งนี้สามารถมองเห็นได้ว่าเป็นเกมเช่นกันมีความคิดสร้างสรรค์และสร้างสรรค์
จากนั้นแบบจำลองการคำนวณบางส่วน (นามธรรม) (เช่นเครื่องทัวริง ) สามารถนำมาใช้และเกี่ยวข้องกับเนื้อหาก่อนหน้านี้เกี่ยวกับอัลกอริทึมและฟอร์มาลดีไฮด์ในภาษา (การเขียนโปรแกรม)
หากต้องการแนะนำอุปกรณ์อิเล็กทรอนิกส์ของคอมพิวเตอร์จริงสามารถทำได้ด้วยสองส่วน
โปรดจำไว้ว่าแม้ในมหาวิทยาลัยบางหลักสูตรอิเล็กทรอนิกส์และสถาปัตยกรรมคอมพิวเตอร์เป็นวิชา (ไม่จริงไม่สัมผัสกับ CPU หรือการออกแบบอย่างใดอย่างหนึ่ง)
ดังนั้นหลักการบางอย่างของการทำงานของอิเล็กทรอนิกส์ (และฟิสิกส์พื้นฐาน) ที่เกี่ยวข้องกับสถาปัตยกรรมคอมพิวเตอร์สามารถนำมาใช้ได้ ( เซมิคอนดักเตอร์ , โซนพลังงานโซลิดสเตต, ประตู p-np ฯลฯ )
จากนั้นหนึ่งสามารถใช้ประโยชน์จากวัสดุก่อนหน้าเกี่ยวกับการเขียนโปรแกรมและอัลกอริทึมและแนะนำเทคนิค (ทันสมัย) ของการออกแบบ CPU (และคำอธิบาย) ซึ่งใช้ในอุตสาหกรรม ( ประตูตรรกะ , Flip-Flops , FPGA , VHDL , วงจร CMOSฯลฯ )
สิ่งนี้สามารถนำมาเพิ่มเติมในประเด็นสถาปัตยกรรมการออกแบบ CPU เช่น parallelism, pipelining, memory cache, vector adressing, micro-programming, DMA และอื่น ๆ
เอาละโอเคบางทีมันอาจจะมากเกินไป แต่เพิ่มเพื่อทำให้คำตอบมีอยู่ในตัวเอง