การสอนโรงเรียนมัธยม TCS - โปรแกรมที่มีอยู่


16

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

ก่อนอื่นมีใครรู้บ้างไหมว่าโรงเรียนมัธยมปลายที่สอนโปรแกรม TCS สำเร็จ (หรือไม่สำเร็จ)?

ความคิดนี้มีไว้สำหรับโปรแกรม 3 ปี (เกรด 10-12 อายุ 16-18 ปี) ประมาณ 8 ชั่วโมงต่อสัปดาห์สำหรับนักเรียนดีเด่นบางคนซึ่งหมายความว่าสามารถทำได้และควรมีความต้องการ แตกต่างจากโปรแกรม "คอมพิวเตอร์" มาตรฐานโปรแกรมนี้ไม่ควรมุ่งเน้นไปที่การเขียนโปรแกรม แต่เน้นในหัวข้อที่เลือกใน CS ส่วนใหญ่ใน TCS หัวข้อที่เรามีอยู่ในใจคือ:

  • การวิเคราะห์เชิงเส้นกำกับ
  • โครงสร้างข้อมูลพื้นฐานและอัลกอริธึม (รายการอาร์เรย์)
  • กราฟอัลกอริธึมเป็นการสาธิตอัลกอริธึมโลภเทียบกับการเขียนโปรแกรมแบบไดนามิก
  • อัลกอริธึมอื่น ๆ (เช่นความน่าจะเป็น)
  • การคำนวณ - แนวคิดของ TM, การลด, การตัดสินใจ
  • ความซับซ้อน - NP, P, อาจเป็น PSPACE และ NL ความสมบูรณ์
  • ทฤษฎีออโต

โดยทั่วไปสิ่งนี้จะครอบคลุมส่วน TCS ของสองปีแรกของวท. บ. ใน CS อย่างไรก็ตามเราต้องจำไว้ว่านักเรียนเหล่านี้ขาดรากฐานทางคณิตศาสตร์ที่จำเป็นสำหรับเนื้อหาส่วนใหญ่ โดยเฉพาะอย่างยิ่งสิ่งต่าง ๆ เช่นทฤษฎีเซต, combinatorics, ความน่าจะเป็น, และแบบแยกส่วนที่ไม่ได้สอนในโรงเรียนมัธยม (น่าเสียดาย)

เพื่อสรุปและให้คำถามที่แม่นยำ:

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

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

1
ไม่เคยได้ยินมาก่อนเลย! นักเรียน "ถูกเลือก"? นั่นหมายถึงขั้นสูงอย่างคงที่? ลองขุดหนังสือวิทยาศาสตร์ยอดนิยมใน TCSหรือบล็อกออนไลน์ เครื่องจักรทัวริงควอนตัมคำนวณพื้นที่สำคัญ / น่าสนใจอื่น ๆ คิดว่าสิ่งนี้อาจถูกดึงออกมาได้ถ้าคณิตศาสตร์ไม่หนัก & ทำได้มากกว่าในแนวความคิดมากกว่าทางคณิตศาสตร์ นอกจากนี้ยังมีเว็บไซต์นี้ขึ้นมาเป็นจำนวนมากในคำถาม edu: cs ถอดปลั๊ก โชคดี!
vzn

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

1
@ vzn - ใช่นักเรียนเหล่านี้เป็นนักเรียนระดับสูง (กล้าพูด - มีพรสวรรค์)
Shaull

1
@ vzn นั่นเป็นคำแนะนำที่น่าสนใจมาก อย่างไรก็ตาม TCS ยังไม่ได้เป็นส่วนหนึ่งของวัฒนธรรมสมัยนิยม นั่นคือแม้แต่นักเรียนที่สงสัยก็มักจะไม่รู้คำถามเช่น P vs NP แต่เราจะขอคำแนะนำจากนักเรียน CS ปัจจุบันและดูสิ่งที่พวกเขาคิดขึ้นมา ฉันเดาว่าการเข้ารหัสจะเป็นศูนย์กลาง
Shaull

คำตอบ:


8

หลายประเทศจัดโรงเรียนภาคฤดูร้อนสำหรับทีม IOI ของพวกเขา (ประกอบด้วยนักเรียนมัธยมปลายอายุประมาณ 16 IIRC) หลักสูตรที่เรามีในอิหร่านเคยมีหลักสูตรต่อไปนี้:

  • การเขียนโปรแกรม
  • โครงสร้างข้อมูลและอัลกอริธึม
  • Combinatorics และ
  • ทฤษฎีกราฟ

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


ฉันคิดว่าการเขียนโปรแกรมต้องเป็นส่วนหนึ่งของหลักสูตรอย่างแน่นอน Python ควรเป็นภาษาแรกที่ดีในการเรียนรู้

คุณอาจต้องการที่จะครอบคลุมหัวข้อที่สามารถเข้าถึงได้ด้วยแอพพลิเคชั่น (ความสุขของการสร้างสิ่งที่เจ๋งสามารถมีผลอย่างมากต่อความสนใจของพวกเขา) ฉันคิดว่าหลักสูตร ML ของ Andrew Ng ใน Coursera ควรจะสามารถเข้าถึงได้สำหรับนักเรียนที่มีความสามารถ (พิเศษสำหรับผู้ที่อยู่ในประเทศเช่นของคุณที่มีหลักสูตรคณิตศาสตร์ K12 ที่จริงจังกว่า)

หัวข้อที่ไม่เป็นมาตรฐานที่คุณอาจต้องการพิจารณาคือทฤษฎีเกมแบบผสมผสานมันอาจจะไม่น่าสนใจมากสำหรับอายุ 16 ปี (ฉันไม่เคยมีประสบการณ์มาก่อน) แต่มันใช้งานได้ดีสำหรับนักเรียนที่อายุน้อยกว่าเล็กน้อยในประสบการณ์ของฉัน

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


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

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

1
@Shaull พวกเขามีเว็บไซต์ ( Young Scholars Club ) แต่มันเป็นภาษาเปอร์เซียและไม่มีเนื้อหาเกี่ยวกับสิ่งที่ครอบคลุมในโรงเรียนภาคฤดูร้อน แต่อย่างใด
Kaveh

1
@vzn ผมไม่คิดว่าคุณมีประสบการณ์มากในการเรียนการสอนให้กับนักเรียน TCS โรงเรียนมัธยมและฉันได้อธิบายให้คุณอย่างชัดเจนว่าผมไม่ได้สนใจในความคิดเห็นของคุณ หยุดหมุนรอบคำตอบของฉัน
Kaveh

k, โปรดอย่าเดาว่า bkg ของฉัน & จะทำเช่นเดียวกัน การแสดงความคิดเห็นเป็นพื้นในการสนับสนุนของคุณมีความคิดเห็น ... เสียงเหมือนหัวข้อสำหรับเมตา = (
vzn

5

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

ในแง่ของโปรแกรมการสอนมีรายละเอียดเพิ่มเติมโดย Essinger และ Rosen ที่ Drexel

นอกจากสิ่งเหล่านี้ฉันคิดว่าเราสามารถลองวาดภาพความคิดระดับสูงของทฤษฎีการเรียนรู้เพิ่มเติม:

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

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


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

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

3

มีทิศทางที่น่าสนใจสำหรับทิศทางนี้ AP / NSF เพิ่งประกาศเปิดตัวโปรแกรม CS ขั้นสูงสำหรับโรงเรียนมัธยม จะมีข้อดีหลายประการในการใช้โปรแกรมเช่นแผนการสอนที่ได้มาตรฐานการรับรองจากวิทยาลัย ฯลฯ

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

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

โปรแกรมใหม่คือ AP Computer Science Principles จะมุ่งเน้นไปที่ "แง่มุมที่สร้างสรรค์" ของการคำนวณและจะได้รับเงินทุนบางส่วนโดยทุน 5.2 ล้านเหรียญจากมูลนิธิวิทยาศาสตร์แห่งชาติ หน่วยงานรัฐบาลกลางมีเป้าหมายในการฝึกอบรมครูวิทยาศาสตร์คอมพิวเตอร์เพิ่มเติมอีก 10,000 คนในโรงเรียนมัธยมทั่วประเทศในปี 2559 ซึ่งเป็นส่วนหนึ่งของความพยายามในการปรับปรุงการศึกษาในสาขาวิทยาศาสตร์เทคโนโลยีวิศวกรรมศาสตร์และคณิตศาสตร์หรือ STEM คณะกรรมการวิทยาลัยจะชิปในประมาณ$ 3.5 ล้านสำหรับการสนับสนุนครูและอุปกรณ์

โปรแกรมที่มีอยู่เดิมเรียกว่า AP Computer Science A และโปรแกรมใหม่นี้เรียกว่า AP Computer Science Principles ชั้นเรียนที่มีอยู่ได้รับมาหลายปีแล้วและยังเป็นประโยชน์ในฐานะที่เป็นแบบอย่างสำหรับครูในการพัฒนาหลักสูตร



3
อนึ่ง, Baker Franke และตัวฉันเองได้ยื่นข้อเสนอสำหรับการประชุม BOF (Birds-of-a-Feather) ที่ SIGCSE '14 เพื่อหารือเกี่ยวกับวิธีทำให้หัวข้อต่างๆในทางทฤษฎีสามารถเข้าถึงได้สำหรับหลักสูตร CS Principles
rahulmehta95

@ rahulmehta95 - มีลิงก์ไปยังข้อเสนอที่ฉันสามารถอ่านได้หรือไม่
Shaull

2
ที่นี่คุณจะไป: cs.ucls.uchicago.edu/~rahulmehta/papers/BOF-Theory.pdf หวังว่านี่จะช่วยได้!
rahulmehta95

2

ความคิดที่ฉันได้รับเมื่อเร็ว ๆ นี้คือวิธีสอนความคิดของนักเรียน HS เกี่ยวกับการลดปัญหาระหว่างกัน ฉันพบว่าสิ่งนี้เป็นหัวข้อที่น่าสนใจที่สุดและท้าทายที่สุดเมื่อฉันได้รับการแนะนำให้รู้จักกับความซับซ้อนเนื่องจากมันค่อนข้างยาก (อย่างน้อยในตอนแรก) ที่จะพูดต่อไปเพราะความจริงที่ว่าปัญหาแบบ 3-SAT นั้น "ยากพอ" เป็น Vertex-Cover

ตัวอย่างที่ฉันคิดขึ้นมาคือการลดระหว่าง Vertex Cover (VC) และ Independent Set (IND-SET) โดยใช้ถ้อยคำดังนี้

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

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

VPIND-SET

G=(V,E)SV VS

SVSG


LผมQยูEพีผมยังไม่มีข้อความD-SET

เท่าที่การลดลงหลักฐานที่แสดงว่ามีเครื่องทัวริงสากลเป็นวิธีหนึ่งที่จะไปและอาจจะเข้าใจได้โดย schoolers สูงขั้นสูง ... [หมายเหตุมีวิดีโอเลโก้ TM จำนวนมากบางคนถึงกับนักวิจัย CS ... ] tseitin เปลี่ยน ?
vzn
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.