อ่าน 3 นาที
โครงสร้างและการตีความโปรแกรมคอมพิวเตอร์
โครงสร้างและการตีความโปรแกรมคอมพิวเตอร์ ( SICP ) เป็น ตำรา วิทยาศาสตร์คอมพิวเตอร์ ที่เขียนโดยศาสตราจารย์ Harold Abelson และ Gerald Jay Sussman จาก สถาบันเทคโนโลยีแมสซาชู เซตส์...
โครงสร้างและการตีความโปรแกรมคอมพิวเตอร์
ปกของฉบับพิมพ์ครั้งที่สอง | |
| ผู้เขียน | แฮโรลด์ แอเบลสัน , เจอรัลด์ เจย์ ซัสส์แมน , จูลี่ ซัสส์แมน |
|---|---|
| เรื่อง | วิทยาการคอมพิวเตอร์ |
| ประเภท | ตำราเรียน |
| สำนักพิมพ์ | สำนักพิมพ์ MIT |
| วันที่เผยแพร่ | 1984 (ฉบับพิมพ์ครั้งที่ 1), 1996 (ฉบับพิมพ์ครั้งที่ 2), 2022 ( ฉบับ JavaScript ) |
| หน้า | 657 |
| ISBN | 0-262-51087-1(ฉบับพิมพ์ครั้งที่ 2) |
| คลาส LC | QA76.6 .A255 1996 |
| เว็บไซต์ | mitp-content-server |
โครงสร้างและการตีความโปรแกรมคอมพิวเตอร์ ( SICP ) เป็น ตำรา วิทยาศาสตร์คอมพิวเตอร์ที่เขียนโดยศาสตราจารย์ Harold Abelsonและ Gerald Jay Sussman จาก สถาบันเทคโนโลยีแมสซาชู เซตส์ ร่วมกับ Julie Sussman เป็นที่รู้จักกันในชื่อ "หนังสือพ่อมด" ในวัฒนธรรมแฮกเกอร์ [ 1 ] ตำรา เล่ม นี้สอนหลักการพื้นฐานของการเขียนโปรแกรมคอมพิวเตอร์รวมถึงการเรียกซ้ำการนามธรรมความเป็นโมดูลและการออกแบบและการใช้งานภาษาโปรแกรม
สำนักพิมพ์ MIT Pressได้ตีพิมพ์ฉบับพิมพ์ครั้งแรกในปี 1984 และฉบับพิมพ์ครั้งที่สองในปี 1996 หนังสือเล่มนี้ถูกใช้เป็นตำราเรียนสำหรับหลักสูตรเบื้องต้นด้านวิทยาการคอมพิวเตอร์ ของ MIT ตั้งแต่ปี 1984 ถึง 2007 SICP มุ่งเน้นไปที่การค้นหารูปแบบ ทั่วไป สำหรับการแก้ปัญหาเฉพาะ และการสร้างระบบซอฟต์แวร์ที่ใช้รูปแบบเหล่านั้น[ 2 ]
MIT Press ได้เผยแพร่หนังสือเวอร์ชันJavaScript ในปี 2022 [ 3 ]
เนื้อหา
หนังสือเล่มนี้อธิบายแนวคิดทางวิทยาศาสตร์คอมพิวเตอร์โดยใช้ภาษา Schemeซึ่งเป็นภาษาถิ่นของLispนอกจากนี้ยังใช้เครื่องรีจิสเตอร์เสมือน และแอสเซมเบลอร์ในการสร้างตัวแปลภาษาและคอมไพเลอร์ของ Lisp อีกด้วย
หัวข้อในหนังสือมีดังนี้:
บทที่ 1: การสร้างนามธรรมด้วยขั้นตอนการทำงาน
- องค์ประกอบของการเขียนโปรแกรม
- ขั้นตอนและ กระบวนการที่เกิดขึ้นจาก ขั้นตอนเหล่านั้น
- การกำหนดรูปแบบนามธรรมด้วยกระบวนการลำดับสูง
บทที่ 2: การสร้างนามธรรมด้วยข้อมูล
- บทนำสู่การนามธรรมของข้อมูล
- ข้อมูลเชิงลำดับชั้นและคุณสมบัติการปิด
- ข้อมูลเชิงสัญลักษณ์
- การนำเสนอข้อมูลนามธรรมหลายรูปแบบ
- ระบบที่มีการดำเนินการทั่วไป
- การมอบหมายและรัฐท้องถิ่น
- แบบจำลองการประเมินด้านสิ่งแวดล้อม
- การสร้างแบบจำลองด้วยข้อมูลที่เปลี่ยนแปลงได้
- การทำงานพร้อมกัน : เวลาเป็นสิ่งสำคัญ
- สตรีม
บทที่ 4: นามธรรมเชิงอภิ ภาษา
- ผู้ประเมินเมตาเซอร์คูลาร์
- รูปแบบต่างๆ ของแผนงาน – การประเมินแบบง่ายๆ
- รูปแบบต่างๆ ของแผนการ – การคำนวณแบบไม่กำหนด
- การเขียนโปรแกรมเชิงตรรกะ
บทที่ 5: การคำนวณด้วยเครื่องรีจิสเตอร์
- การออกแบบเครื่องลงทะเบียน
- โปรแกรมจำลองเครื่องลงทะเบียน
- การจัดสรร พื้นที่จัดเก็บและการเก็บขยะ
- ตัวประเมินการควบคุมแบบชัดเจน
- การรวบรวม
ตัวละคร
ในหนังสือเล่มนี้มีตัวละครสมมุติหลายตัวที่มีชื่อเรียกชวนขำ:
- อลิสสา พี. แฮ็กเกอร์แฮ็กเกอร์ ภาษาลิสป์
- เบน บิตดิดเดิล
- ไซ ดี. เฟคท์อดีตโปรแกรมเมอร์ภาษาซีที่กลับตัวกลับใจ
- อีวา ลู อาเตอร์
- เลม อี. ทวีคิท
- หลุยส์ รีโซเนอร์ นักคิดเชิงตรรกะที่ไม่เคร่งครัดนัก
ใบอนุญาต
หนังสือเล่มนี้ได้รับอนุญาตภายใต้ ใบอนุญาต Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) [ 4 ]
การเรียนในชั้นเรียน
หนังสือเล่มนี้ถูกใช้เป็นตำราเรียนสำหรับหลักสูตรการเขียนโปรแกรมเบื้องต้น 6.001 ของ MIT [ 5 ]ตั้งแต่ฤดูใบไม้ร่วงปี 1984 จนถึงภาคการศึกษาสุดท้ายในฤดูใบไม้ร่วงปี 2007 [ 6 ]โรงเรียนอื่นๆ ก็ใช้หนังสือเล่มนี้เป็นตำราเรียนเช่นกัน[ 7 ]
แผนกต้อนรับ
นิตยสาร Byteแนะนำ SICP ในปี 1986 "สำหรับโปรแกรมเมอร์มืออาชีพที่สนใจในวิชาชีพของตนอย่างแท้จริง" นิตยสารกล่าวว่าหนังสือเล่มนี้อ่านยาก แต่จะช่วยให้โปรแกรมเมอร์ที่มีประสบการณ์ได้เรียนรู้ทั้งหัวข้อเก่าและใหม่ [ 8 ]
บทวิจารณ์ SICP ในฐานะตำราเรียนระดับปริญญาตรีโดยPhilip Wadlerระบุถึงจุดอ่อนของภาษา Scheme ในฐานะภาษาเบื้องต้นสำหรับหลักสูตรวิทยาการคอมพิวเตอร์[ 9 ] Wadler วิพากษ์วิจารณ์โดยเฉพาะอย่างยิ่งการขาดการจับคู่รูปแบบซึ่งทำให้การให้เหตุผลเชิงสมการคลุมเครือและทำให้การสอนการพิสูจน์ยากขึ้น การขาดประเภทข้อมูลเชิงพีชคณิตใน Scheme และการพึ่งพา คู่ cons มากเกินไป สำหรับทั้งโค้ดและการแสดงข้อมูล ซึ่งอาจทำให้นักเรียนเริ่มต้นสับสน และการเลือกใช้ การประเมิน แบบเข้มงวดแทนการประเมินแบบขี้เกียจเป็นกลยุทธ์การประเมินมาตรฐาน
อิทธิพล
SICP มีอิทธิพลต่อการศึกษาด้านวิทยาการคอมพิวเตอร์ และหนังสือหลายเล่มในภายหลังได้รับแรงบันดาลใจจากรูปแบบการเขียนของ SICP
- หนังสืออีกเล่มที่ใช้ Scheme เป็นองค์ประกอบในการสอนคือ " Structure and Interpretation of Classical Mechanics (SICM)" เขียนโดย Gerald Jay Sussman และ Jack Wisdom
- การออกแบบซอฟต์แวร์เพื่อความยืดหยุ่นโดย คริส แฮนสัน และ เจอรัลด์ เจย์ ซัสส์แมน
- หนังสือ "วิธีออกแบบโปรแกรม" (How to Design Programs - HtDP)มีจุดประสงค์เพื่อให้เป็นหนังสือที่เข้าถึงได้ง่ายขึ้นสำหรับวิชาวิทยาการคอมพิวเตอร์เบื้องต้น และเพื่อแก้ไขข้อบกพร่องที่พบใน SICP
- หนังสือ Essentials of Programming Languages (EoPL) สำหรับใช้ในหลักสูตรภาษาโปรแกรม
ดูเพิ่มเติม
- คอมไพเลอร์: หลักการ เทคนิค และเครื่องมือ – หรือที่รู้จักกันในชื่อหนังสือมังกร
ลิงก์ภายนอก
- เว็บไซต์อย่างเป็นทางการ
- วิดีโอการบรรยาย
- หนังสือเล่มนี้เรียบเรียงจากแหล่งข้อมูล TeX
- โครงสร้างและการตีความโปรแกรมคอมพิวเตอร์ เวอร์ชันเชิงโต้ตอบ
สรุปเนื้อหา
ข้อมูลสำคัญจากบทความ
ข้อมูลสำคัญเกี่ยวกับ โครงสร้างและการตีความโปรแกรมคอมพิวเตอร์
โครงสร้างและการตีความโปรแกรมคอมพิวเตอร์ ( SICP ) เป็น ตำรา วิทยาศาสตร์คอมพิวเตอร์ ที่เขียนโดยศาสตราจารย์ Harold Abelson และ Gerald Jay Sussman จาก สถาบันเทคโนโลยีแมสซาชู เซตส์...
เนื้อหา
หนังสือเล่มนี้อธิบายแนวคิดทางวิทยาศาสตร์คอมพิวเตอร์โดยใช้ ภาษา Scheme ซึ่งเป็นภาษาถิ่นของ Lisp นอกจากนี้ยังใช้ เครื่องรีจิสเตอร์ เสมือน และ แอสเซมเบลอร์ ในการสร้าง ตัวแปลภาษา และ คอมไพเลอร์ ของ Lisp อีกด้วย
บทที่ 1: การสร้าง นามธรรม ด้วย ขั้นตอนการทำงาน
องค์ประกอบของการเขียนโปรแกรม ขั้นตอนและ กระบวนการที่เกิดขึ้นจาก ขั้นตอน เหล่านั้น การกำหนดรูปแบบนามธรรมด้วยกระบวนการลำดับสูง
บทที่ 2: การสร้างนามธรรมด้วย ข้อมูล
บทนำสู่การนามธรรมของข้อมูล ข้อมูลเชิงลำดับชั้นและ คุณสมบัติการปิด ข้อมูลเชิงสัญลักษณ์ การนำเสนอข้อมูลนามธรรมหลายรูปแบบ ระบบที่มีการดำเนินการทั่วไป