ฉันจะสอนวิทยาศาสตร์คอมพิวเตอร์โดยไม่ต้องใช้คอมพิวเตอร์ได้อย่างไร


21

ในบางสถานที่ในโลกผู้คนมักจะไม่สามารถเข้าถึงคอมพิวเตอร์ (และด้วยความรู้เพียงเล็กน้อย) และแม้ว่าพวกเขาจะมีฮาร์ดและซอฟต์แวร์ล้าสมัยและการใช้งานก็เกิดจากปัญหาไฟฟ้าดับและเช่นนั้น การเข้าถึงหนังสือ (ดี) ยังมีแนวโน้มที่จะไม่เพียงพอ ฉันจะสอนวิทยาศาสตร์คอมพิวเตอร์ในสถานการณ์เช่นนี้ได้อย่างไร

ฉันกังวลว่าหากไม่สามารถทำการทดลองและใช้สิ่งที่เรียนรู้พวกเขาจะไม่เรียนรู้ (ดี) เลยถึงแม้ว่าพวกเขาจะมีแรงบันดาลใจอย่างไม่น่าเชื่อและอุทิศเวลาส่วนใหญ่ให้กับงานอดิเรกนี้ เป็นไปได้หรือไม่ที่จะสอน CS ในทางทฤษฎี?


13
ผู้คนหลงใหลคณิตศาสตร์เป็นพัน ๆ ปี ไม่มีใครสามารถเข้าถึงคอมพิวเตอร์ดิจิทัลได้ในตอนนั้น อันที่จริงแล้วโดยทั่วไปแล้วในหลักสูตรทางทฤษฎีคุณไม่จำเป็นต้องใช้คอมพิวเตอร์เลย
Juho

3
ฉันต้องการจะชี้ให้เห็นว่าโปรแกรมคอมพิวเตอร์เครื่องแรกเขียนขึ้นประมาณ 100 ปีก่อนที่คอมพิวเตอร์เครื่องแรกจะถูกสร้างขึ้น
Gabe

2
ลองดูที่cstheory ส่วนใหญ่คนเหล่านั้นต้องการเพียงปากกาและกระดาษและมันอาจเป็นวิทยาศาสตร์คอมพิวเตอร์ที่สูงที่สุด (ฉันไม่รู้ว่าพวกเขาพูดถึงอะไรมากที่สุด)
Trylks

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

1
@ Bhimanyu Great คำถามได้ "ป้องกัน" ก่อนที่จะโพสต์คำตอบของฉัน; ฉันวางไว้ที่นี่เดี๋ยวนี้: pastebin.com/6tbMtVM8 (นี่เป็นคำตอบที่ยาวนานเนื่องจากความเป็นไปได้ที่ควรจะชัดเจน แต่ดูเหมือนจะไม่เป็นเช่นนั้นมีความคิดมากมายในนั้นและฉันหวังว่าคุณจะพบสิ่งที่มีประโยชน์ ... )
ไม่มีใคร

คำตอบ:


24

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

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

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


11
+1 ความแตกต่างระหว่าง CS และการเขียนโปรแกรมเป็นกุญแจสำคัญ! หลักสูตรระดับปริญญาตรี CS ของฉันมีข้อกำหนดน้อยที่สุดในการใช้คอมพิวเตอร์นอกเหนือจากการเข้าถึงสื่อการอ่านออนไลน์ที่ฉันสามารถค้นหาได้อย่างง่ายดายในรูปแบบต้นไม้ตายในห้องสมุด
Ossifrage ของจักรวาล

4
@CosmicOssifrage ฉันเห็นด้วย แต่ในขณะที่ CS ไม่ได้เขียนโปรแกรมการเขียนโปรแกรมเป็นเครื่องมือที่มีประโยชน์มากสำหรับนักวิทยาศาสตร์คอมพิวเตอร์ในการกำจัด และนั่นคือเหตุผลที่เราสอนมัน
David Richerby

2
@Abhimanyu นั้นขึ้นอยู่กับคุณสมบัติของคุณเอง หากคุณมีความรู้และทักษะพวกเขาเป็นเพียงกระดานดำห่างจากความคิดของนักเรียน
Raphael

2
@ vzn ไม่ส่วนใหญ่ของการเขียนโปรแกรมคือการเรียนรู้ศิลปะการแก้ไขข้อบกพร่อง มันเป็นสิ่งสำคัญมาก. แต่มันไม่ใช่วิทยาศาสตร์คอมพิวเตอร์
David Richerby

2
@vzn หากคุณอ้างผู้ชายทำถูกต้อง เขากำลังพูดถึงการทดลองรันไทม์เพื่อจุดประสงค์ในการตรวจสอบ / refuting สมมติฐาน (ทางวิทยาศาสตร์) ไม่ใช่การดีบั๊ก ฉันไม่คิดว่าเซดจ์วิกเคยอ้างว่าการทดสอบ / การแก้จุดบกพร่องการใช้งานทดลองของคุณเป็นวิทยาศาสตร์
ราฟาเอล

10

มีการใช้กระดาษและดินสออย่างชัดเจน เมื่อฉันได้รับการสอนการประมวลผลสัญญาณตัวประมวลผลสัญญาณพิเศษไม่สามารถใช้ได้โดยตรงกับเราและเราเพิ่งส่งรายงานกระดาษ

โปรดทราบว่านักวิทยาศาสตร์คอมพิวเตอร์ที่ยอดเยี่ยม Dijkstra ไม่ได้ใช้คอมพิวเตอร์มากนัก:

บทความเกือบทั้งหมดในซีรี่ส์นี้ปรากฏหลังปี 1972 เขียนด้วยมือ ด้วยการคิดค้นเทคโนโลยีของซอฟต์แวร์จำนวนมาก Dijkstra เลี่ยงการใช้คอมพิวเตอร์ในการทำงานของตัวเองมานานหลายสิบปี แม้หลังจากที่เขายอมให้กำลังใจเพื่อนร่วมงาน UT ของเขาและซื้อคอมพิวเตอร์ Macintosh เขาก็ใช้มันเพื่อการส่งอีเมล์เท่านั้น

อ้างจากอนุสรณ์สถาน Disjkstra

นี่แสดงว่าคุณสามารถทำวิทยาการคอมพิวเตอร์ที่ยอดเยี่ยมได้โดยไม่ต้องใช้คอมพิวเตอร์!

นอกจากกระดาษและดินสอปัญหาวิทยาการคอมพิวเตอร์ยังสามารถแก้ไขได้ในโลกแห่งความจริง 'เช่นการสาธิตของการเรียงลำดับขั้นตอนวิธีการที่มีบัตรหรือ - ผิดปกติอื่น ๆ - มีการเต้นรำเหมือนที่ดำเนินการโดยมหาวิทยาลัย Sapientia


มีคำแนะนำในการทำสิ่งนี้อย่างมีประสิทธิภาพหรือไม่? ครูอาจไม่ได้รับประโยชน์จากการบรรยายชอล์กกระดานดำในมหาวิทยาลัยขนาดใหญ่
ราฟาเอล

3
กระดานดำสอนคณิตศาสตร์จำนวนมาก ฉันคิดว่าคุณแค่ทำคล้ายกับวิทยาศาสตร์คอมพิวเตอร์
Finn Årup Nielsen

ตัวอย่างเช่นนี่คือการบรรยายกระดานดำที่ดีบนต้นไม้สเลย์: youtube.com/watch?v=So8szqIvIFs
ฟินน์Årup Nielsen

2
โดยส่วนตัวแล้วฉันใช้โครงสร้างข้อมูลและอัลกอริทึมของฉันกับงานสำนักงานในฤดูร้อน ฉันใช้ Radix เรียงในกล่องของสตับเช็คและไประหว่างลำดับที่หนึ่งและ 2 ของขนาดเร็วกว่าคนอื่น ๆ ที่ทำงานที่น่าเบื่อนั่นจนถึงจุดที่ไม่เชื่อ ฉันใช้การเรียงแบบผสานตามธรรมชาติบนการ์ดที่พิมพ์ซึ่งจำเป็นต้องยื่น โครงสร้างข้อมูลและการคำนวณที่มีอยู่ในโลกแห่งความจริง
JDługosz

8

ทฤษฎีวิทยาการคอมพิวเตอร์หลายทฤษฎีมีความบริสุทธิ์ทางทฤษฎีและสามารถแก้ไขได้โดยใช้ปากกา (cil) และกระดาษ การรับข้อมูลเกี่ยวกับพวกเขาและสื่อสารกับพวกเขาไปยังโลกภายนอกนั้นต้องใช้คอมพิวเตอร์


5
สิ่งนี้ทำให้ฉันมีความคิดเห็นมากกว่า
Raphael

7

ดูhttp://csunplugged.org/สำหรับแนวคิดที่ยอดเยี่ยม Google เป็นหนึ่งในผู้สนับสนุน

จากเว็บไซต์:

CS Unplugged คือชุดของกิจกรรมการเรียนรู้ฟรีที่สอนวิทยาศาสตร์คอมพิวเตอร์ผ่านเกมและปริศนาที่น่าสนใจซึ่งใช้ไพ่สตริงสีเทียนและการวิ่งรอบ ๆ

กิจกรรมแนะนำนักเรียนเกี่ยวกับแนวคิดพื้นฐานเช่นตัวเลขไบนารีอัลกอริธึมและการบีบอัดข้อมูลแยกจากการรบกวนและรายละเอียดทางเทคนิคที่เรามักจะเห็นด้วยคอมพิวเตอร์

CS Unplugged เหมาะสำหรับคนทุกวัยตั้งแต่ระดับประถมศึกษาถึงระดับสูงวัยและจากประเทศและภูมิหลังต่าง ๆ Unplugged ถูกนำมาใช้ทั่วโลกมานานกว่ายี่สิบปีในห้องเรียนศูนย์วิทยาศาสตร์บ้านและแม้กระทั่งสำหรับกิจกรรมวันหยุดในสวนสาธารณะ!


เงื่อนไขมีความซับซ้อน แต่ก็คุ้มค่าที่จะลองเมื่อทรัพยากรอนุญาต
Abhimanyu

ฉันเห็นด้วยว่าสิ่งนี้ดูดี แต่เพื่อให้เป็นคำตอบที่ถูกต้องคุณต้องจัดการกับปัญหาเฉพาะที่กำหนดไว้ในคำถาม: ต้องการทรัพยากรใดบ้าง เราสามารถคาดหวังที่จะมีพวกมันเช่นใน (ชนบท?) แอฟริกา?
Raphael

3

คุณสามารถทำได้มันค่อนข้างชัดเจนว่าคุณจะทำมัน ฉันไม่แน่ใจว่ามันจะมีประโยชน์กับผู้คนอย่างไร แต่คุณทำได้

แต่ฉันไม่รู้ด้วยซ้ำว่าจะเป็นอาจารย์ด้านวิทยาศาสตร์คอมพิวเตอร์ได้อย่างไรคุณสามารถถามวิธีที่คุณสามารถสอนวิทยาศาสตร์คอมพิวเตอร์โดยไม่มีคอมพิวเตอร์ได้

เพราะถ้าคุณสามารถสอนวิทยาศาสตร์คอมพิวเตอร์แล้วคุณจะรู้ได้อย่างไร

ถ้าคุณรู้ -

-Algorithms can be written on pen and paper, and traced on pen and paper.
-Flow charts are written on paper.

การศึกษาการปรับสภาพโครงสร้างของตารางข้อมูลสำหรับฐานข้อมูลสามารถทำได้บนปากกาและกระดาษ (ฉันทำอย่างนั้นกับปากกาและกระดาษเมื่อฉันศึกษาฐานข้อมูลเชิงสัมพันธ์)

ตำราวิทยาการคอมพิวเตอร์ไม่จำเป็นต้องใช้คอมพิวเตอร์

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

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

http://www.eis.mdx.ac.uk/research/PhDArea/saeed/paper1.pdf

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

ฉันจะเพิ่มที่จะเรียกว่าเป็นชนกลุ่มน้อยที่สำคัญคือการพูดน้อย มันเป็นชนกลุ่มน้อยขนาดเล็กที่สามารถโปรแกรม

ฉันจะทราบสาเหตุของการปฏิเสธที่เขาเห็น .. ในขณะที่คอมพิวเตอร์ได้รับความนิยมมากขึ้นเช่นระหว่างปี 2000 ถึงปี 2010 (เขาเขียนว่าในช่วงกลางทศวรรษที่ผ่านมา) มีความสนใจในการศึกษา 'วิทยาการคอมพิวเตอร์' มากขึ้น ก่อนหน้านั้นมีเพียงคนคลั่งคลั่งเท่านั้นที่สนใจ และก่อนหน้านี้การใช้คอมพิวเตอร์เป็นเรื่องทางเทคนิคมากกว่า แต่เมื่อคอมพิวเตอร์ง่ายขึ้นสำหรับคนทั่วไปที่ใช้งานและมีประสิทธิภาพมากขึ้นในแอพพลิเคชั่นที่พวกเขาสามารถเรียกใช้งานได้แล้วความยุ่งเหยิงก็มากขึ้นเรื่อย ๆ และคนอื่น ๆ มากกว่าวิธีที่พวกเขาทำและวิธีที่จะทำ


2
ห่าคืออะไร "wollies"?
Nate Eldredge

1
@NateEldredge Urban Dictionary : «คำร่าเริงสำหรับใครบางคนที่พูดหรือทำอะไรโง่ ๆ / คนที่เพิ่ม 2 และ 2 และได้รับ 5 "อะไรช่างน่าเบื่อ" »
Paul A. Clayton

@NateEldredge สะกดตามปกติ "เก่ง"
David Richerby

2
Berating the OP ไม่ใช่คำตอบ
Raphael

2

มันจะเป็นไปได้ที่จะสอนแนวคิดของวิทยาศาสตร์คอมพิวเตอร์โดยไม่ต้องใช้คอมพิวเตอร์ แน่นอนว่าไม่สามารถใช้คอมพิวเตอร์ได้การเรียนรู้วิทยาศาสตร์คอมพิวเตอร์ทำอะไรได้ดี?

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

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

เขาวาดไดอะแกรมบนกระดานอธิบายพื้นฐานของการทำงานของหน่วยความจำคอมพิวเตอร์และสแต็ค เขาแสดงให้เห็นถึงตัวแปรและพอยน์เตอร์ (มันเป็นคลาส C ++) และจากที่นั่นไปยังรายการที่เชื่อมโยงและต้นไม้ ...

ฉันอาจเพิ่มลงในสิ่งนี้ได้ถ้าฉันไปดูบันทึกที่ฉันเก็บไว้จากชั้นเรียนนั้น แต่นั่นคือทั้งหมดที่ฉันจำได้ในตอนนี้ หากคำแนะนำเหล่านี้น่าสนใจฉันสามารถขยายคำตอบนี้ได้


1
คุณดูเหมือนจะสับสนในการเขียนโปรแกรม (งานฝีมือ) กับคอมพิวเตอร์วิทยาศาสตร์
กราฟิลส์

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

@DavidRicherby ฉันขอ OP เพื่อชี้แจงว่าใคร (อายุ / ประสบการณ์กับคอมพิวเตอร์) กลุ่มเป้าหมายของนักเรียนจะเป็นใครและวัสดุที่เขาตั้งใจจะสอน ฉันจะปรับคำตอบของฉันให้เหมาะสม ถ้าฉันทำได้ฉันอยากจะแนะนำว่าการเปรียบเทียบที่ตรงกว่าจะเป็นการเขียนเชิงสร้างสรรค์และรู้วิธีใช้ตัวอักษรและคำศัพท์ ยกเว้นว่าการเปรียบเทียบนั้นสั้นเพราะการศึกษาภาษาการเขียนโปรแกรมนั้นถูกห้อมล้อมด้วยวิทยาศาสตร์คอมพิวเตอร์
Blackhawk

@ Blackhawk แน่นอนไม่มีการเปรียบเทียบที่สมบูรณ์แบบ (เกือบตามคำนิยาม) แต่ในขณะที่การออกแบบภาษาโปรแกรมเป็น CS เพียงแค่ใช้มันไม่ใช่
David Richerby

1
@DavidRicherby ฉันเพิ่งอ่านหน้าทัวร์สำหรับ CS และโดยเฉพาะ "ถามเกี่ยวกับ ... " และ "ไม่ถามเกี่ยวกับ ... " และฉันได้รับความประทับใจที่มีคนจำนวนมากเกินไปที่จะถาม / ตอบคำถามในเว็บไซต์นี้ จะดีกว่ามากบน SO ... ดังนั้นฉันขอโทษถ้าฉันมีส่วนร่วม คุณช่วยชี้ให้ฉันเห็นถึงสิ่งเฉพาะที่ฉันสามารถเปลี่ยนแปลงเกี่ยวกับคำตอบนี้เพื่อให้สอดคล้องกับเป้าหมายของไซต์ได้หรือไม่ ฉันสงสัยว่าอย่างน้อยฉันควรลบการอ้างอิงถึง "เซมิโคลอน" และ "C ++" แต่อย่างน้อยเกี่ยวกับการใช้ Karel ++ เป็นเครื่องมือการสอนสำหรับแนวคิดของภาษาเชิงวัตถุ? หรือหน่วยความจำคอมพิวเตอร์
Blackhawk

2

ฉันได้ปริญญาวิทยาศาสตร์คอมพิวเตอร์และคิดว่าเราได้รับการสอนเขียนโปรแกรมมากมาย (ในภาษาต่าง ๆ ) เรายังได้สอนด้านคณิตศาสตร์มากมาย (และฮาร์ดแวร์บางอย่างด้วย)

ส่วนคณิตศาสตร์มีความสำคัญมากกว่าปีแรก - คิดว่าเมทริกซ์คณิตศาสตร์ซึ่งจำเป็นสำหรับกราฟิก 3 มิติ (คุณคำนวณพื้นผิวปกติสำหรับให้แสงจุดยอดได้อย่างไร ) เราทำสถิติจำนวนมาก - คิดว่าการวิเคราะห์ปริมาณงานคุณสามารถส่งอัตรางานใดในระบบก่อนที่จะเกิดการอุดตัน นั่นเป็นสิ่งสำคัญสำหรับระบบรวมศูนย์และระบบเครือข่าย

คุณสามารถสอนอัลกอริทึมมากมายโปสเตอร์หนึ่งที่กล่าวถึงที่นี่ให้นักเรียนแต่ละหมายเลขจากนั้นให้พวกเขาเรียงลำดับตัวเองโดยใช้อัลกอริทึมต่าง ๆ (ที่ใช้งานและให้ข้อมูล) ในความเป็นจริงอัลกอริทึมใด ๆ ที่สามารถอธิบายได้ในภาพเคลื่อนไหวบนอินเทอร์เน็ตสามารถสอนได้ด้วยวิธีนี้ ในทำนองเดียวกันพื้นฐานของการคำนวณ -นับโปรแกรม, ตัวสะสมและการลงทะเบียนสามารถสอนในลักษณะเดียวกันหรือบนกระดาษ วิธีการเกี่ยวกับมัลติเธรดตามนักเรียน - ตั้งกลุ่มนักเรียนเกมไพ่ที่มีสแต็คระหว่างแต่ละเกมในแบบฝึกหัดมัลติเธรดแบบคลาสสิก (หรือปัญหาการแชร์ช้อน 1 อัน) หรือรูปแบบการออกแบบฉันสามารถคิดว่าสถาปัตยกรรมกระดานดำเหมาะสำหรับนักเรียนที่จะเรียนรู้วิธีการสื่อสารแบบหลายขั้นตอนที่สามารถนำไปใช้งานได้หรือสถาปัตยกรรม n-tier ที่อธิบายว่าเป็นเกมจีนกระซิบหรือเครื่องสถานะ จำกัด จะเหมาะกับนักเรียนที่ทำหน้าที่เป็น โมดูลใน 'คอมพิวเตอร์ที่มีชีวิต' คุณสามารถสอนเลขฐานสองคณิตศาสตร์หรือการประมวลผลแบบกองซ้อน (เช่นการขัดกลับ)

แน่นอนว่าถ้าคุณมีอุปกรณ์อิเล็กทรอนิกส์คุณสามารถสร้างคอมพิวเตอร์อนาล็อกจาก op-amps พวกเขาเท่ห์

น่าเสียดายที่ทั้งหมดนี้ดูเหมือนคณิตศาสตร์มากกว่าการคำนวณ แต่ส่วนมากจะติดอยู่และวันหนึ่งพวกเขาจะเข้าใจว่าทำไมพวกเขาถึงได้รับการสอน (สมมติว่าพวกเขาเข้าสู่อุตสาหกรรมคอมพิวเตอร์) โปรดจำไว้ว่าสิ่งที่คอมพิวเตอร์สามารถทำคนสามารถทำได้ - มันก็จะพาเขามากเวลาและความเบื่อหน่ายที่จะบรรลุผลเดียวกัน คุณแค่ต้องยกตัวอย่างง่ายๆเพื่อแสดงให้เห็นว่าคอมพิวเตอร์จะทำอะไรและจินตนาการในการอธิบายพื้นฐานการคำนวณในทางที่แห้งน้อยกว่าที่ฉันได้รับการสอนย้อนกลับ :)


1

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

ฉันส่วนใหญ่ตอบเพียงเพื่อตอบสนองต่อคำสั่งนี้และเพราะฉันไม่เห็นด้วยอย่างยิ่งกับคำตอบอื่น ๆ การเปรียบเทียบที่ถูกต้องในความคิดของฉันจะเป็น

ถามว่าคุณสามารถศึกษาวิทยาศาสตร์คอมพิวเตอร์โดยคอมพิวเตอร์เป็นบิตเช่นถามว่าคุณสามารถศึกษาจักรวาลโดยไม่ต้องจักรวาล

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

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

เช่นถ้าฉันสอนนักเรียนในแอฟริกาที่ไม่มีความรู้เรื่องคอมพิวเตอร์นอกจากความรู้ทั่วไป แต่ใครจะเรียนวิชาวิทยาศาสตร์คอมพิวเตอร์ขั้นสูงและอุทิศเวลาส่วนใหญ่ให้กับงานอดิเรกนี้

ขึ้นอยู่กับงบประมาณ:

  • เกือบจะไม่มีงบประมาณหากคุณมีเงินเดินทางไปแอฟริกาคว้าโคลนอาร์ดิโนหลายก้อน (มีอาร์ดิโน่โคลนนิ่งราคา $ 13 ให้ตรวจสอบรายการนี้ ) ส่วนประกอบเอาท์พุท (เช่น LEDs) และแล็ปท็อปหนึ่งเครื่อง เริ่มต้นด้วยการเขียนโปรแกรมพื้นฐานสอนให้พวกเขาลงบนกระดาษและต้องป้อนลงในแล็ปท็อป ไม่ใช่วิธีที่มีประสิทธิภาพมากที่สุด แต่จะสอนอย่างน้อยพวกเขาให้มีความเข้าใจพื้นฐานเกี่ยวกับคอมพิวเตอร์ที่ใช้งานจริง
  • งบประมาณต่ำซื้อ$ 750 เหรียญมูลค่า50 เหรียญสำหรับสมาร์ทโฟนและคีย์บอร์ด Android (คีย์บอร์ดขนาดเล็กหรือคีย์บอร์ดบลูทู ธ ตรวจสอบebay.comหรือaliexpress.comทั้งสมาร์ทโฟนและคีย์บอร์ด) ใช่พวกเขาเส็งเคร็งหลายล้านวิธีอย่าบอกฉันเกี่ยวกับเรื่องนี้ ถึงแม้ว่าคุณสามารถป้อนข้อมูลในพวกเขา (แม้ว่าจะไม่ได้พิจารณาการใช้แป้นพิมพ์บนหน้าจอ) และมีปพลิเคชันการเข้ารหัสง่าย ๆ สำหรับ Android มีนักเรียนหลายคนต่อสมาร์ทโฟนและสามารถทำงานได้ค่อนข้างดี

ดังนั้นขอให้ฉันชัดเจนฉันไม่ได้บอกว่าวิทยาการคอมพิวเตอร์ไม่สามารถสอนได้โดยไม่ต้องใช้คอมพิวเตอร์เพียงแค่คุณต้องใช้คอมพิวเตอร์และรู้จักพวกเขาค่อนข้างดีก่อนที่คุณจะเริ่มพิจารณาสิ่งนั้น


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

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

ฉันไม่เห็นด้วยอย่างยิ่งที่จะสอนใครบางคนเกี่ยวกับสิ่งที่มีอยู่จริง แต่พวกเขาไม่เคยมีประสบการณ์
David Richerby

2
@DavidRicherby: คุณและคนอื่น ๆ ที่นี่ฝังแน่นอยู่กับการใช้คอมพิวเตอร์มันยากที่จะเข้าใจว่ามันหมายถึงอะไรอย่างแท้จริงในการพยายามสอนวิทยาศาสตร์คอมพิวเตอร์โดยไม่มีพื้นฐานกับคอมพิวเตอร์ในตอนแรก ... ฉันรู้ว่าคนที่ได้รับหลักสูตรแน่นอน สำหรับเยาวชนที่ไม่เคยใช้คอมพิวเตอร์กับคอมพิวเตอร์จริง ๆ ... เขาไม่ได้ลองสอนการเขียนโปรแกรมหรือวิทยาศาสตร์คอมพิวเตอร์และแค่ไปถึงระดับพื้นฐานของความเข้าใจในสิ่งที่คอมพิวเตอร์เป็นงานของตัวเองถ้าคุณไม่โตขึ้น กับคอมพิวเตอร์ (ต่อ)
David Mulder

2
ทุกวันนี้มันค่อนข้างง่ายกว่าเนื่องจากมีเยาวชนมากกว่าอย่างน้อยก็มีประสบการณ์บ้าง แต่คำถามก็เกี่ยวกับกรณีเหล่านี้ที่พวกเขาไม่มีประสบการณ์เลย บุคคลเดียวกันนั้นบอกฉันว่าในประเทศที่เขาสอนอยู่มีช่วงเวลาไหนที่นักเรียนจากโรงเรียนมัธยมจะมาถึงหลักสูตรสารสนเทศในมหาวิทยาลัยโดยไม่ต้องสัมผัสคอมพิวเตอร์มาก่อน ... เรียนรู้ทฤษฎีบางอย่างในโรงเรียนมัธยมและวิธีการใน ส่วนใหญ่ (โดยไม่ได้ทั้งหมด) กรณีที่สิ้นสุดไม่ดี ปัญหา / ความคิดคืองานคอมพิวเตอร์จ่ายดีดังนั้นพวกเขาแค่ต้องการรับสิ่งที่ไม่ว่า ...
David Mulder

1

วิทยาศาสตร์คอมพิวเตอร์เป็นเรื่องเกี่ยวกับอัลกอริธึมและไม่เกี่ยวกับคอมพิวเตอร์ (และอิเล็กทรอนิกส์) อย่างเคร่งครัด

ดังนั้นการศึกษาอัลกอริธึม (แม้แต่คณิตศาสตร์ระดับต้น) สามารถทำให้เกิดความเข้าใจในวิทยาการคอมพิวเตอร์และการเขียนโปรแกรม โปรดจำไว้ว่าแม้กระทั่งคำว่า "อัลกอริทึม" คือการถอดความของผู้เขียนหนังสือเลขคณิต ( al-Khwārizmī , ประมาณร้อยละ 9 CE)

การศึกษาอัลกอริทึมสามารถทำได้โดยใช้วิธีการพื้นฐาน แต่ควรให้ความคุ้มครองว่าทำไมอัลกอริธึมทำงานอย่างไรมันเกิดขึ้นได้อย่างไร

ประวัติศาสตร์เบื้องหลังวิวัฒนาการของวิทยาการคอมพิวเตอร์และอัลกอริธึมและการเขียนโปรแกรมต้องไม่ถูกประเมินต่ำไป ตัวอย่างเช่นเครื่องคิดเลขของ Babbage / Ada, เครื่อง Enigma, plankalkul ของ Konrad Zuse , ENIAC เป็นต้น

จากนั้นหนึ่งสามารถแนะนำการเขียนโปรแกรม (และภาษาการเขียนโปรแกรม) เป็นวิธีการทำอัลกอริทึมเป็นทางการ สิ่งนี้สามารถทำได้ (ขยายใหญ่) โดยใช้วิธีการพื้นฐาน

หมายเหตุงานวิจัยบางชิ้นแสดงให้เห็นว่าการเขียนโปรแกรมการเรียนรู้ peole มีปัญหาหลักสองประการในการทำความเข้าใจ (เกี่ยวข้องกับการใช้สัญลักษณ์มากเกินไปเช่นการทดสอบ asignment vs equality และการทำงานของเครื่อง RAM)

  1. โครงสร้างลูป (เช่นสำหรับในขณะที่ ฯลฯ .. ) ดูเหมือนยาก
  2. การทดสอบการมอบหมายและความเท่าเทียมกันดูเหมือนยากเช่นกัน

ดังนั้นเราจึงสามารถมั่นใจได้ว่าประชาชนเหล่านี้จะเข้าใจและเข้าใจได้อย่างชัดเจน

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

จากนั้นแบบจำลองการคำนวณบางส่วน (นามธรรม) (เช่นเครื่องทัวริง ) สามารถนำมาใช้และเกี่ยวข้องกับเนื้อหาก่อนหน้านี้เกี่ยวกับอัลกอริทึมและฟอร์มาลดีไฮด์ในภาษา (การเขียนโปรแกรม)

หากต้องการแนะนำอุปกรณ์อิเล็กทรอนิกส์ของคอมพิวเตอร์จริงสามารถทำได้ด้วยสองส่วน

โปรดจำไว้ว่าแม้ในมหาวิทยาลัยบางหลักสูตรอิเล็กทรอนิกส์และสถาปัตยกรรมคอมพิวเตอร์เป็นวิชา (ไม่จริงไม่สัมผัสกับ CPU หรือการออกแบบอย่างใดอย่างหนึ่ง)

ดังนั้นหลักการบางอย่างของการทำงานของอิเล็กทรอนิกส์ (และฟิสิกส์พื้นฐาน) ที่เกี่ยวข้องกับสถาปัตยกรรมคอมพิวเตอร์สามารถนำมาใช้ได้ ( เซมิคอนดักเตอร์ , โซนพลังงานโซลิดสเตต, ประตู p-np ฯลฯ )

จากนั้นหนึ่งสามารถใช้ประโยชน์จากวัสดุก่อนหน้าเกี่ยวกับการเขียนโปรแกรมและอัลกอริทึมและแนะนำเทคนิค (ทันสมัย) ของการออกแบบ CPU (และคำอธิบาย) ซึ่งใช้ในอุตสาหกรรม ( ประตูตรรกะ , Flip-Flops , FPGA , VHDL , วงจร CMOSฯลฯ )

สิ่งนี้สามารถนำมาเพิ่มเติมในประเด็นสถาปัตยกรรมการออกแบบ CPU เช่น parallelism, pipelining, memory cache, vector adressing, micro-programming, DMA และอื่น ๆ

เอาละโอเคบางทีมันอาจจะมากเกินไป แต่เพิ่มเพื่อทำให้คำตอบมีอยู่ในตัวเอง


-1

คุณต้องการสอนการเขียนโปรแกรมหรือไม่?

เมื่อตอนที่ฉันยังเด็กเราไปเที่ยวแคมป์ปิ้งวันหยุดและฉันก็เอาคู่มือคอมพิวเตอร์ไปด้วย ฉันสามารถเขียนเกมง่ายๆโดยใช้ปากกาและกระดาษ

นี่เป็นโปรแกรมแรกของฉันที่ฉันคาดเดาดังนั้นจึงมีการเรียนรู้มากมายที่เกี่ยวข้อง ฉันรู้ว่าสิ่งที่ฉันต้องการจะทำ แต่มีการเริ่มต้นผิดพลาดมากมายในขณะที่ฉันคิดออก แต่ในที่สุดฉันก็สามารถเขียนรหัสทั้งหมดได้

ฉันเดาว่าฉันกำลังพูดอะไรอยู่เริ่มต้นด้วยรหัสหลอกและ \ หรือแผนภูมิการไหลเพื่อวางแผนโครงการแล้วแปลเป็นรหัส ฉันสามารถดีบักรหัสของฉันจำนวนมากได้ด้วยการอ่าน คุณสามารถใช้บทวิจารณ์เพียร์ได้ที่นี่


ฉันจะไปกับ pseudocode แน่นอนกว่าผังงาน
David Richerby

คำถามนี้สมควรได้รับมากกว่าหนึ่งจุดข้อมูลประสบการณ์ต่อคำตอบ
ราฟาเอล

-2

เพื่อสะท้อนคำตอบก่อนหน้า: มีอะไรมากมายที่ต้องเรียนรู้เพียงแค่การอ่านและทำแบบฝึกหัดปากกาและกระดาษ หากคุณสามารถแก้ไขปัญหาบนกระดาษคุณมีส่วนที่ยากลง อย่างไรก็ตามฉันยังต้องการพูดถึงการดำรงอยู่ของวิธีการที่ค่อนข้างถูกในการเปิดเผยให้นักเรียน CS คุณคุ้นเคยกับโครงการ Raspberry Piหรือไม่? แม้ว่าหลาย ๆ คนจะต้องแชร์หรือคุณสามารถซื้อได้เพียง 1 หรือ 2 หน่วย แต่ก็อาจคุ้มค่าที่จะพิจารณาว่าเป็นวิธีที่จะทำให้นักเรียนของคุณได้สัมผัสกับเทคโนโลยี


สิ่งนี้ไม่ได้เพิ่มอะไรเลยมากกว่าคำตอบที่มีอยู่
ราฟาเอล

1
@ ราฟาเอล True แต่โปรดทราบว่าคำตอบอื่น ๆ ที่กล่าวถึงอุปกรณ์คอมพิวเตอร์ราคาถูกถูกโพสต์หลังจากนี้
David Richerby

-3

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

  • เครื่องคิดเลขแบบตั้งโปรแกรมได้ บางคนมีภาษาการเขียนโปรแกรมทั้งหมด (ไม่สูงมากนัก แต่เหมือนภาษาแอสเซมบลี) ที่มีอยู่แล้ว บางอย่างจะสนับสนุนโปรแกรมขั้นสูง

  • Raspberry pi minicomputer / microcontroller ได้รับการพัฒนาเพื่อจุดประสงค์นี้ & รัน linux น้อยกว่า $ 40 ในหลาย ๆ กรณี

  • ชุดไมโครคอนโทรลเลอร์ของSTALL parallaxต้องการการเชื่อมต่อ USB แต่บางทีราสเบอร์รี่ปี่น่าจะเพียงพอ ดูไมโครคอนโทรลเลอร์ PIC

  • ระบบหุ่นยนต์ มีหลายคนราคาไม่แพงที่มีตรรกะโปรแกรมบางอย่าง Lego robotics mindstorms / nxtเป็นหนึ่งในโมเดลที่ดีที่สุด & มีโมเดลราคาไม่แพง

  • เกมคอนโซลบางเกมมีหลักการเขียนโปรแกรมที่ติดตั้งอยู่ภายใน เช่นLittle Big Planetมีคุณสมบัติการเขียนโปรแกรมที่น่าทึ่งอยู่ภายใน มีเกมที่ตั้งโปรแกรมได้บางรุ่น มีวิดีโอ youtube จำนวนมากของสิ่งก่อสร้างที่ซับซ้อนเพื่อเป็นแรงบันดาลใจ

  • สมาร์ทโฟนเป็นโลกแห่งการเขียนโปรแกรมใหม่ พวกเขามีเบราว์เซอร์ที่ใช้งานจาวาสคริปต์และมีแอพที่เกี่ยวข้องกับการเขียนโปรแกรมมากมายและยังสามารถท่องเว็บไซต์การเขียนโปรแกรมด้วยการเชื่อมต่ออินเทอร์เน็ต (รวมถึง wifi)

แนะนำเช่นเดียวกับในการสร้างความคิดเห็นโปรแกรม TM เช่นสำหรับการเพิ่ม ฯลฯ และพยายามที่จะติดตามพวกเขาด้วยมือ


2
ฉันสงสัยว่าคนที่ไม่สามารถเข้าถึงคอมพิวเตอร์ก็ไม่สามารถใช้ Lego Mindstorms ระบบเกมคอนโซลสมาร์ทโฟนหรือ wifi ได้
David Richerby

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

(ขอบเขตคำถาม FYI ถูก chged มีนัยสำคัญโดย mod ตั้งแต่คำตอบนี้เป็นลายลักษณ์อักษรกับผมว่าคำถามแก้ไขทำให้สมมติฐานที่สำคัญไม่มิได้ตั้งใจเดิมโดยนักเขียนและชอบความคลุมเครือเดิมเป็นคุณสมบัติไม่ได้เป็นปัญหา)
vzn
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.