คำถามติดแท็ก didactics

เครื่องมือและวิธีการสอนเหมาะอย่างยิ่งสำหรับการศึกษาด้านวิทยาการคอมพิวเตอร์

13
วิธีการแก้ปัญหาแบบฮิวริสติก "ลองใช้กรณีทดสอบ": อัลกอริทึมที่ปรากฏถูกต้อง แต่จริง ๆ แล้วไม่ถูกต้อง
ในการพยายามทดสอบว่าอัลกอริทึมสำหรับปัญหาบางอย่างถูกต้องหรือไม่จุดเริ่มต้นตามปกติคือลองใช้อัลกอริทึมด้วยมือในกรณีทดสอบง่ายๆ - ลองกับตัวอย่างกรณีปัญหารวมถึงกรณีมุมง่าย ๆ สองสามตัวอย่าง " นี่เป็นวิธีแก้ปัญหาที่ยอดเยี่ยม: มันเป็นวิธีที่ดีในการกำจัดความพยายามที่ไม่ถูกต้องอย่างรวดเร็วของอัลกอริทึมและเพื่อทำความเข้าใจเกี่ยวกับสาเหตุที่อัลกอริทึมไม่ทำงาน อย่างไรก็ตามเมื่อการเรียนรู้อัลกอริทึมนักเรียนบางคนถูกล่อลวงให้หยุดที่นั่น: หากอัลกอริทึมของพวกเขาทำงานอย่างถูกต้องกับตัวอย่างจำนวนหนึ่งรวมถึงกรณีมุมทั้งหมดที่พวกเขาสามารถคิดได้ลองพวกเขาสรุปว่าอัลกอริทึมต้องถูกต้อง มีนักเรียนคนหนึ่งที่ถามอยู่เสมอ: "ทำไมฉันต้องพิสูจน์อัลกอริทึมของฉันให้ถูกต้องถ้าฉันลองได้ในบางกรณีทดสอบ?" ดังนั้นคุณจะหลอก "ฮิวริสติกแบบทดสอบกรณี" ได้อย่างไร ฉันกำลังมองหาตัวอย่างที่ดีเพื่อแสดงว่าฮิวริสติกนี้ไม่เพียงพอ กล่าวอีกนัยหนึ่งฉันกำลังมองหาหนึ่งหรือมากกว่าหนึ่งตัวอย่างของอัลกอริทึมที่เผินๆดูเหมือนว่ามันอาจจะถูกต้องและผลลัพธ์ที่ได้คำตอบที่ถูกต้องในอินพุตขนาดเล็กทั้งหมดที่ทุกคนมีแนวโน้มที่จะเกิดขึ้น ไม่ทำงาน อัลกอริทึมอาจทำงานได้อย่างถูกต้องกับอินพุตขนาดเล็กทั้งหมดและล้มเหลวสำหรับอินพุตขนาดใหญ่เท่านั้นหรือล้มเหลวเฉพาะสำหรับอินพุตที่มีรูปแบบที่ผิดปกติ โดยเฉพาะฉันกำลังมองหา: อัลกอริทึม ข้อบกพร่องจะต้องอยู่ในระดับอัลกอริทึม ฉันไม่ได้กำลังมองหาข้อผิดพลาดในการใช้งาน (ตัวอย่างเช่นอย่างน้อยที่สุดตัวอย่างควรเป็นผู้ไม่เชื่อเรื่องภาษาและข้อบกพร่องควรเกี่ยวข้องกับความกังวลด้านอัลกอริทึมมากกว่าปัญหาด้านวิศวกรรมซอฟต์แวร์หรือปัญหาการใช้งาน) อัลกอริทึมที่บางคนอาจมีความน่าเชื่อถือ รหัสเทียมควรมีลักษณะที่ถูกต้องอย่างน้อยน่าจะเป็นไปได้ (เช่นรหัสที่ obfuscated หรือน่าสงสัยว่าไม่ได้เป็นตัวอย่างที่ดี) คะแนนโบนัสหากเป็นอัลกอริทึมที่นักเรียนบางคนคิดขึ้นมาเมื่อพยายามแก้ไขปัญหาการบ้านหรือการสอบ อัลกอริทึมที่จะผ่านกลยุทธ์การทดสอบด้วยตนเองอย่างสมเหตุสมผลด้วยความน่าจะเป็นสูง คนที่ลองใช้กรณีทดสอบเล็ก ๆ น้อย ๆ ด้วยมือไม่น่าจะค้นพบข้อบกพร่อง ตัวอย่างเช่น "จำลอง QuickCheck ด้วยมือในกรณีทดสอบขนาดเล็กโหล" ไม่น่าจะเปิดเผยว่าอัลกอริทึมไม่ถูกต้อง เป็นอัลกอริทึมที่กำหนดขึ้นโดยเฉพาะ ฉันเคยเห็นนักเรียนหลายคนคิดว่า "ลองใช้กรณีทดสอบด้วยมือ" เป็นวิธีที่สมเหตุสมผลในการตรวจสอบว่าอัลกอริธึมที่กำหนดขึ้นถูกต้องหรือไม่ แต่ฉันสงสัยว่านักเรียนส่วนใหญ่จะไม่คิดว่าการลองใช้กรณีทดสอบสองสามอันเป็นวิธีที่ดี อัลกอริทึม สำหรับอัลกอริธึมความน่าจะเป็นมักจะไม่มีวิธีที่จะบอกได้ว่าเอาต์พุตใด ๆ ที่ถูกต้องหรือไม่ …

5
อะไรคือเหตุผลในการเรียนรู้อัลกอริทึม / โครงสร้างข้อมูลที่แตกต่างกันซึ่งให้บริการเพื่อจุดประสงค์เดียวกัน
ฉันสงสัยเกี่ยวกับคำถามนี้ตั้งแต่ฉันเป็นนักเรียนระดับปริญญาตรี มันเป็นคำถามทั่วไป แต่ฉันจะทำอย่างละเอียดพร้อมตัวอย่างด้านล่าง ฉันได้เห็นอัลกอริทึมมากมาย - ตัวอย่างเช่นสำหรับปัญหาการไหลสูงสุดฉันรู้อัลกอริทึม 3 อย่างที่สามารถแก้ปัญหาได้: ฟอร์ด - ฟัลเกอร์สัน, เอ็ดมันด์ - คาร์ปและดินิกโดย Dinic มีความซับซ้อนที่สุด สำหรับโครงสร้างข้อมูล - ตัวอย่างเช่น heap - มี binary heaps, binomial heaps & Fibonacci heaps โดยที่ Fibonacci heap มีความซับซ้อนโดยรวมที่ดีที่สุด สิ่งที่ทำให้ฉันสับสนคือ: มีเหตุผลใดบ้างที่เราจำเป็นต้องรู้จักพวกเขาทั้งหมด? ทำไมไม่เพียงแค่เรียนรู้และทำความคุ้นเคยกับความซับซ้อนที่ดีที่สุด? ฉันรู้ว่ามันดีที่สุดถ้าเรารู้จักพวกเขาทั้งหมดฉันแค่อยากรู้ว่ามีเหตุผล "ที่ถูกต้องมากกว่า" เช่นปัญหา / อัลกอริทึมบางอย่างสามารถแก้ไขได้โดยใช้Aแต่ไม่ใช่Bเป็นต้น

2
ใน“ ความโหดร้ายของการสอนวิทยาศาสตร์คอมพิวเตอร์จริงๆ”
Dijkstra ในเรียงความของเขาในความโหดร้ายของการสอนวิทยาศาสตร์คอมพิวเตอร์จริงทำให้ข้อเสนอต่อไปนี้สำหรับหลักสูตรการเขียนโปรแกรมเบื้องต้น: ในอีกด้านหนึ่งเราสอนสิ่งที่ดูเหมือนว่าแคลคูลัสเพรดิเคต แต่เราทำแตกต่างจากนักปรัชญามาก ในการฝึกอบรมโปรแกรมเมอร์มือใหม่ในการจัดการสูตรที่ไม่ถูกตีความเราสอนมันมากขึ้นในฐานะพีชคณิตแบบบูลทำความคุ้นเคยกับนักเรียนเกี่ยวกับคุณสมบัติเชิงพีชคณิตของตรรกะเชิงเชื่อม เพื่อตัดการเชื่อมโยงไปยังปรีชาเพิ่มเติมเราเปลี่ยนชื่อค่า {true, false} ของโดเมนบูลีนเป็น {black, white} ในทางกลับกันเราสอนภาษาการเขียนโปรแกรมที่ง่ายสะอาดและมีความจำเป็นโดยมีการข้ามและการมอบหมายหลายอย่างเป็นข้อความพื้นฐานพร้อมโครงสร้างบล็อกสำหรับตัวแปรท้องถิ่นเซมิโคลอนเป็นโอเปอเรเตอร์สำหรับองค์ประกอบคำสั่งโครงสร้างทางเลือกที่ดี การทำซ้ำและหากต้องการให้เรียกขั้นตอน ในส่วนนี้เราเพิ่มประเภทข้อมูลขั้นต่ำเช่น booleans, จำนวนเต็ม, อักขระและสตริง สิ่งสำคัญคือสำหรับสิ่งที่เราแนะนำความหมายที่สอดคล้องกันจะถูกกำหนดโดยกฎการพิสูจน์ที่ไปกับมัน ตั้งแต่เริ่มต้นและตลอดหลักสูตรเราเน้นว่างานของโปรแกรมเมอร์ไม่เพียง แต่เขียนโปรแกรม แต่งานหลักของเขาคือให้การพิสูจน์อย่างเป็นทางการว่าโปรแกรมที่เขาเสนอนั้นตรงตามข้อกำหนดการทำงานที่เป็นทางการเท่ากัน ในขณะที่การออกแบบการพิสูจน์และโปรแกรมจับมือนักเรียนได้รับโอกาสที่เพียงพอที่จะสมบูรณ์แบบความคล่องแคล่วว่องไวกับแคลคูลัสภาค สุดท้ายเพื่อขับรถกลับบ้านข้อความที่หลักสูตรการเขียนโปรแกรมเบื้องต้นนี้เป็นหลักสูตรหลักในวิชาคณิตศาสตร์อย่างเป็นทางการเราจะเห็นว่าภาษาการเขียนโปรแกรมที่เป็นปัญหาไม่ได้ดำเนินการในมหาวิทยาลัยเพื่อให้นักเรียนได้รับการปกป้องจากสิ่งล่อใจเพื่อทดสอบโปรแกรมของพวกเขา . เขาเน้นว่านี่เป็นข้อเสนอที่ร้ายแรงและสรุปการคัดค้านที่เป็นไปได้ต่างๆรวมถึงความคิดของเขาที่ว่า "ไม่สมจริงอย่างเต็มที่" และ "ยากเกินไป" แต่ว่าวจะไม่บินทั้งสำหรับสมมุติฐานได้รับการพิสูจน์ผิด: ตั้งแต่ต้นปี 80 หลักสูตรการเขียนโปรแกรมเบื้องต้นดังกล่าวได้รับการประสบความสำเร็จให้กับนักศึกษาหลายร้อยคนในแต่ละปี [เพราะจากประสบการณ์ของฉันการพูดครั้งนี้ไม่พอประโยคก่อนหน้าควรทำซ้ำอย่างน้อยอีกสองครั้ง] หลักสูตรใดที่ Dijkstra อ้างถึงและมีวรรณกรรมอื่นอีกบ้างที่กล่าวถึงเรื่องนี้ เรียงความที่ปรากฏในปี 1988 เมื่อ Dijkstra อยู่ที่มหาวิทยาลัยเท็กซัสที่ออสตินซึ่งอาจเป็นเบาะแส - พวกเขาเป็นเจ้าภาพเก็บถาวร Dijkstra แต่มันมีขนาดใหญ่และฉันสนใจที่จะได้ยินจากคนอื่นเกี่ยวกับหลักสูตรนี้ ฉันไม่ต้องการที่จะพูดคุยว่าความคิดของ Dijkstra ดีหรือเหมือนจริงที่นี่ ฉันพิจารณาการโพสต์สิ่งนี้ใน cstheory.se …

3
การสอน NP-ครบถ้วน - การทัวริงการลดลงเทียบกับการลดคาร์ป
ฉันสนใจในคำถามของวิธีที่ดีที่สุดในการสอนปัญหาความสมบูรณ์ของวิชาเอกวิทยาการคอมพิวเตอร์ โดยเฉพาะอย่างยิ่งเราควรสอนโดยใช้การลดคาร์ปหรือการใช้การลดทอนของทัวริง ฉันรู้สึกว่าแนวคิดของความสมบูรณ์แบบ NP และการลดลงเป็นสิ่งที่วิทยาศาสตร์คอมพิวเตอร์ทุกคนควรเรียนรู้ อย่างไรก็ตามเมื่อสอน NP-ครบถ้วนฉันได้สังเกตเห็นว่าการใช้ Karp Reduction มีข้อเสีย ก่อนอื่นการลดคาร์ปดูเหมือนจะทำให้นักเรียนบางคนสับสนโดยไม่จำเป็น ความคิดที่เข้าใจง่ายของการลดคือ "ถ้าฉันมีอัลกอริทึมในการแก้ปัญหา X จากนั้นฉันก็สามารถใช้มันเพื่อแก้ปัญหา Y ได้เช่นกัน" นั่นเป็นเรื่องที่เข้าใจได้ง่ายมาก - แต่แผนที่ดีกว่าการทัวริงการลดลงมากกว่าการลดคาร์ป เป็นผลให้ฉันเห็นนักเรียนที่พยายามพิสูจน์ความสมบูรณ์แบบของ NP ถูกทำให้หลงผิดโดยสัญชาตญาณและพิสูจน์ข้อผิดพลาด พยายามที่จะสอนการลดลงทั้งสองประเภทและเน้นในแง่มุมของการลดคาร์ปนี้บางครั้งก็รู้สึกเหมือนเป็นพิธีการที่ไม่จำเป็นและใช้เวลาเรียนไม่จำเป็นและให้ความสนใจกับนักเรียนในสิ่งที่รู้สึกเหมือนรายละเอียดทางเทคนิค มันไม่ชัดเจนเลยว่าทำไมเราใช้ความคิดที่ จำกัด มากขึ้นในการลด ฉันเข้าใจความแตกต่างระหว่างการลด Karp และการลด Turing (Cook) และวิธีที่พวกเขานำไปสู่แนวคิดที่แตกต่างของความสมบูรณ์แบบ NP ฉันตระหนักว่าการลดคาร์ปทำให้เรามีความแตกต่างที่ละเอียดยิ่งขึ้นระหว่างคลาสความซับซ้อน ดังนั้นสำหรับการศึกษาทฤษฎีความซับซ้อนอย่างจริงจังการลดคาร์ปจึงเป็นเครื่องมือที่เหมาะสม แต่สำหรับนักศึกษาวิทยาศาสตร์คอมพิวเตอร์ที่เพิ่งเรียนรู้สิ่งนี้และไม่เคยไปสู่ทฤษฎีความซับซ้อนฉันไม่แน่ใจว่าการแยกความแตกต่างที่ดีกว่านี้มีความสำคัญอย่างยิ่งหรือไม่ ในที่สุดในฐานะนักเรียนฉันจำได้ว่ารู้สึกงุนงงเมื่อฉันพบปัญหาเช่น "ซ้ำซาก" - เช่นกำหนดสูตรบูลีนตรวจสอบว่าเป็นวิชาซ้ำซาก สิ่งที่สับสนคือปัญหานี้ชัดเจนยาก: อัลกอริธึมเวลาพหุนามใด ๆ สำหรับมันจะบ่งบอกว่าP= NPP=NPP=NP; เห็นได้ชัดว่าการแก้ปัญหานี้ยากพอ ๆ กับการแก้ไขปัญหาซ้ำซาก อย่างไรก็ตามถึงแม้ว่าการหยั่งรู้เชิงสัญชาตญาณนั้นยากพอ …

4
วิธีการที่จะหลอกการตรวจสอบพล็อตการเรียนรู้?
กว่าที่นี่เดฟคล๊าร์คเสนอว่าในการสั่งซื้อเพื่อเปรียบเทียบการเจริญเติบโต asymptotic พล็อตที่คุณควรฟังก์ชั่นที่อยู่ในมือ ในฐานะที่เป็นนักวิทยาศาสตร์คอมพิวเตอร์ที่มีความโน้มเอียงทางทฤษฎีฉันเรียก (v) vodoo นี้ว่าพล็อตไม่สามารถพิสูจน์ได้ ในความคิดที่สองฉันต้องยอมรับว่านี่เป็นวิธีที่มีประโยชน์มากซึ่งบางครั้งก็ใช้น้อยเกินไป พล็อตเป็นวิธีที่มีประสิทธิภาพในการรับแนวคิดแรกและบางครั้งก็เป็นสิ่งที่คุณต้องการ เมื่อสอน TCS มักจะมีนักเรียนที่ถามว่า: "ฉันต้องมีหลักฐานอะไรบ้างถ้าฉันสามารถทำ X ซึ่งใช้งานได้ตลอด?" มันขึ้นอยู่กับครูของเขาเพื่อชี้ให้เห็นและแสดงให้เห็นถึงการเข้าใจผิด มีตัวอย่างที่ยอดเยี่ยมของรูปแบบที่ปรากฏชัดเจนซึ่งในที่สุดก็ล้มเหลวที่ math.SE แต่สิ่งเหล่านี้เป็นสถานการณ์ทางคณิตศาสตร์ที่ค่อนข้างยุติธรรม ดังนั้นคุณจะหลอกการวิเคราะห์การตรวจสอบพล็อตได้อย่างไร มีบางกรณีที่ความแตกต่างยากที่จะบอก appart เช่น [ แหล่งที่มา ] คาดเดาจากนั้นตรวจสอบแหล่งที่มาสำหรับฟังก์ชั่นจริง แต่สิ่งเหล่านี้ไม่น่าตื่นเต้นอย่างที่ฉันคาดหวังโดยเฉพาะอย่างยิ่งเพราะความสัมพันธ์ที่แท้จริงนั้นง่ายต่อการสังเกตจากฟังก์ชั่นเพียงอย่างเดียวแม้แต่สำหรับมือใหม่ มีตัวอย่างของการเติบโตแบบเชิงสัมพัทธ์ (สัมพัทธ์) ที่ความจริงไม่ชัดเจนจากฟังก์ชั่นการกำหนดและการตรวจสอบพล็อตสำหรับขนาดใหญ่พอสมควรnnnให้ความคิดที่ผิดอย่างสมบูรณ์หรือไม่? ฟังก์ชั่นทางคณิตศาสตร์และชุดข้อมูลจริง (เช่นรันไทม์ของอัลกอริทึมเฉพาะ) ยินดีต้อนรับทั้งคู่; โปรดหลีกเลี่ยงการใช้ฟังก์ชั่นที่กำหนดเป็นชิ้น ๆ

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

4
Quicksort อธิบายให้เด็ก ๆ ฟัง
ปีที่แล้วผมได้อ่านที่ยอดเยี่ยมบนกระดาษ“กลศาสตร์ควอนตัสำหรับอนุบาล” มันไม่ใช่กระดาษง่าย ๆ ตอนนี้ฉันสงสัยว่าจะอธิบายอย่างรวดเร็วด้วยคำพูดที่ง่ายที่สุดเท่าที่จะเป็นไปได้ ฉันจะพิสูจน์ (หรืออย่างน้อยก็ด้วยมือ) ว่าความซับซ้อนโดยเฉลี่ยคือและกรณีที่ดีที่สุดและเลวร้ายที่สุดคืออะไรกับชั้นอนุบาล หรืออย่างน้อยในโรงเรียนประถม?O ( n บันทึกn )O(nเข้าสู่ระบบ⁡n)O(n \log n)

3
ประตูลอจิกจากวัสดุในชีวิตประจำวัน
ประตูลอจิกเป็นอุปกรณ์ที่เป็นนามธรรมซึ่งสามารถนำไปใช้กับรีเลย์แม่เหล็กไฟฟ้าหลอดสุญญากาศหรือทรานซิสเตอร์ การดำเนินการเหล่านี้ประสบความสำเร็จในการคำนวณในส่วนหนึ่งเนื่องจากคุณสมบัติต่างๆของความสามารถในการเชื่อมโยงความทนทานและขนาดที่เกินความเสถียรพื้นฐาน พวกเขายังทำงานได้ดีเพราะไฟฟ้าเป็นแหล่งพลังงานที่สามารถจัดส่งได้ง่าย ผมเคยเห็นงูที่สร้างขึ้นจากไม้หินอ่อนและแรงโน้มถ่วง ผมเคยเห็น"ห้องปฏิบัติการบนชิป" ต้นแบบ ฉันเคยเห็นเครื่องคิดเลขเชิงกลพิเศษทุกชนิด ( Curta , สไลด์กฎ) ฉันเคยเห็นโดมิโนเส้นทางเป็นประตูตรรกะแบบใช้ครั้งเดียว ฉันสนใจในอุปกรณ์การคำนวณเชิงประกอบอื่น ๆ ที่ไม่จำเป็นต้องสะดวกทนทานหรือเร็ว แต่ใช้ประโยชน์จากคุณสมบัติของวัสดุในชีวิตประจำวันเพื่อทำการคำนวณและมองเห็นได้โดยตรง เส้นทางโดมิโนนั้นอยู่ใกล้ แต่ก็ซับซ้อนเกินกว่าจะรีเซ็ตได้ การเตรียมแม๊ก - กล? น้ำในท่อ / ราง การคุมกำเนิดหินอ่อนทั่วไปมากขึ้น? PS นี่คือใหม่ นาฬิกา CPU เครื่องกล

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

6
การหาค่า XOR สูงสุดของตัวเลขสองตัวในช่วงเวลาหนึ่ง: เราจะทำได้ดีกว่าสมการกำลังสองหรือไม่?
สมมติว่าเรากำลังได้รับสองหมายเลขและและที่เราต้องการที่จะหาสำหรับL \ le i, \, J \ le Rlllrrrmax(i⊕j)max(i⊕j)\max{(i\oplus j)}l≤i,j≤rl≤i,j≤rl\le i,\,j\le r อัลกอริทึมnaïveเพียงตรวจสอบคู่ที่เป็นไปได้ทั้งหมด เช่นในทับทิมเรามี: def max_xor(l, r) max = 0 (l..r).each do |i| (i..r).each do |j| if (i ^ j > max) max = i ^ j end end end max end ฉันรู้สึกว่าเราสามารถทำได้ดีกว่าสมการกำลังสอง มีอัลกอริทึมที่ดีกว่าสำหรับปัญหานี้หรือไม่?

1
เคล็ดลับสำหรับการสอนโดยใช้ Live Coding
ฉันมีส่วนร่วมในหลักสูตรการเขียนโปรแกรมและอัลกอริทึมปีแรก ในการบรรยายเมื่อเร็ว ๆ นี้ฉันตัดสินใจที่จะนำเสนอเนื้อหาโดยใช้การเข้ารหัสสดซึ่งหมายความว่าฉันนั่งอยู่หลังแป้นพิมพ์และเขียนรหัสและประเมินผลโดยใช้emacsเพื่ออำนวยความสะดวกในกระบวนการ นี่ค่อนข้างประสบความสำเร็จและนักเรียนแสดงความคิดเห็นว่าพวกเขาชื่นชมรูปแบบการใช้งานมากขึ้น (inter) เนื่องจากนี่เป็นครั้งแรกที่ฉันพยายามใช้รูปแบบการสอนนี้ฉันรู้ว่ามันไม่ได้ทำงานอย่างสมบูรณ์แบบ ปัญหาบางอย่างเกี่ยวข้องกับการไม่เข้าใจemacsอย่างที่ฉันควรจะเป็นและอื่น ๆ เกี่ยวข้องกับการอนุญาตให้นักเรียนใช้คำถามที่ทำให้ฉันห่างไกลจากสคริปต์ของฉัน ฉันรู้ว่าฉันสามารถทำได้ดีกว่า มีแนวทางอะไรบ้างสำหรับการบรรยาย (และการสาธิตอื่น ๆ ) โดยใช้การบรรยายสด ข้อผิดพลาดที่ควรหลีกเลี่ยงคืออะไร
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.