ในวันที่ 14 พฤศจิกายน CS Center เปิดตัวโปรแกรมออนไลน์เป็นครั้งที่สาม "อัลกอริทึมและคอมพิวเตอร์ที่มีประสิทธิภาพ", "คณิตศาสตร์สำหรับนักพัฒนา" และ "การพัฒนาใน C++, Java และ Haskell" ได้รับการออกแบบมาเพื่อช่วยให้คุณเจาะลึกเข้าไปในพื้นที่ใหม่และวางรากฐานสำหรับการเรียนรู้และการทำงานในด้านไอที
ในการลงทะเบียน คุณจะต้องดื่มด่ำกับสภาพแวดล้อมการเรียนรู้และผ่านการสอบเข้า อ่านรายละเอียดโปรแกรม ข้อสอบ และค่าใช้จ่ายได้ที่
ในระหว่างนี้ ผู้ช่วยสอนและผู้ดูแลโปรแกรมจากการเปิดตัวครั้งก่อนจะบอกคุณว่าการฝึกอบรมมีการจัดการอย่างไร ใครมาศึกษา ผู้ช่วยทบทวนโค้ดอย่างไรและทำไมในระหว่างการศึกษา และการมีส่วนร่วมในโครงการสอนอะไรพวกเขา
มีการจัดโปรแกรมอย่างไร
ศูนย์ CS มีโปรแกรมออนไลน์สามโปรแกรมบนแพลตฟอร์ม Stepik:
- อัลกอริทึมและวิทยาการคอมพิวเตอร์เชิงทฤษฎีเป็นส่วนหนึ่งของโปรแกรมเกี่ยวกับอัลกอริทึม
- การวิเคราะห์ทางคณิตศาสตร์ คณิตศาสตร์แยก พีชคณิตเชิงเส้น และทฤษฎีความน่าจะเป็นในโปรแกรมคณิตศาสตร์สำหรับนักพัฒนา
- หลักสูตรใน C++, Java และ Haskell ในโปรแกรมภาษาการเขียนโปรแกรมออนไลน์
ตลอดจนกิจกรรมเพิ่มเติม เช่น การทบทวนโค้ด การแก้ปัญหาทางทฤษฎีด้วยการพิสูจน์ การปรึกษาหารือกับผู้ช่วยและอาจารย์ เป็นการยากที่จะขยายขนาด ดังนั้นการฝึกอบรมจึงเกิดขึ้นเป็นกลุ่มเล็กๆ กิจกรรมช่วยให้คุณเข้าใจหัวข้อนี้อย่างลึกซึ้งยิ่งขึ้น และรับคำติชมที่มีคุณภาพ
Artemy Pestretsov ผู้ช่วยสอน: “สำหรับฉันแล้วดูเหมือนว่าการทบทวนโค้ดเป็นคุณสมบัติหลักที่โดดเด่นของโปรแกรมออนไลน์ในภาษาและอัลกอริธึม หากต้องการค้นหาคำตอบสำหรับคำถามของคุณ คุณก็สามารถ Google ได้ มันยากและยาวนานแต่เป็นไปได้ แต่ Google จะไม่ทำการตรวจสอบโค้ด ดังนั้นนี่จึงมีคุณค่ามาก”
แต่ละหลักสูตรภายในโปรแกรมใช้เวลาประมาณสองเดือน ในรอบชิงชนะเลิศนักศึกษาจะต้องสอบผ่านหรือได้รับหน่วยกิตทุกรายวิชา
นักเรียนของเราคือใคร
นักเรียนโปรแกรมออนไลน์:
- พวกเขาต้องการเติมช่องว่างในวิชาคณิตศาสตร์หรือการเขียนโปรแกรม ตัวอย่างเช่น นักพัฒนาที่มีประสบการณ์ที่ต้องการพัฒนาความรู้ทางคณิตศาสตร์ของตน
- พวกเขาเริ่มคุ้นเคยกับการเขียนโปรแกรมและรวมโปรแกรมของศูนย์ไว้ในแผนการศึกษาด้วยตนเอง
- พวกเขากำลังเตรียมเข้าเรียนหลักสูตรปริญญาโทหรือศูนย์วิทยาการคอมพิวเตอร์
- นักเรียนที่มีการศึกษาเฉพาะทางที่แตกต่างกันซึ่งตัดสินใจเปลี่ยนทิศทางอย่างรุนแรง เช่น นักเคมีหรือครู
Artemy Pestretsov: “เรามีนักเรียนคนหนึ่ง ซึ่งเป็นผู้ชายในช่วงรุ่งโรจน์ของชีวิต ซึ่งทำงานในบริษัทน้ำมันและก๊าซ และต้องเลื่อนออกไปเนื่องจากกำหนดเวลา เพราะเขาเดินทางไปทำธุรกิจที่บ่อน้ำแห่งหนึ่ง เป็นเรื่องดีที่ผู้ที่มีภูมิหลังต่างกันโดยสิ้นเชิงจะเห็นว่าเทคโนโลยีไอทีและคณิตศาสตร์ได้รับแรงผลักดัน คนเหล่านี้คือคนที่ประสบความสำเร็จซึ่งสามารถมีชีวิตที่ยอดเยี่ยมอยู่แล้ว แต่พยายามเรียนรู้สิ่งใหม่ๆ และต้องการพัฒนาในด้านอื่นๆ”
มิคาอิล เวเซลอฟ
มีการจัดฝึกอบรมอย่างไร?
เครื่องมือหลายอย่างช่วยให้ผู้จัดงานและนักการศึกษาสร้างกระบวนการนี้ได้
โต้ตอบทางไปรษณีย์. สำหรับประกาศสำคัญและเป็นทางการ
พูดคุยกับครูและผู้จัดงาน ผู้ชายมักจะเริ่มช่วยเหลือกันในแชทก่อนที่ครูหรือผู้ช่วยจะเห็นคำถามเสียอีก
ยูแทร็ค เพื่อสอบถามและส่งงานให้ครูและผู้ช่วย ที่นี่คุณสามารถถามคำถามส่วนตัวและหารือเกี่ยวกับวิธีแก้ปัญหาแบบตัวต่อตัว แน่นอนว่านักเรียนไม่สามารถแบ่งปันวิธีแก้ปัญหาให้กันและกันได้
ผู้จัดงานสื่อสารกับนักเรียนและพยายามแก้ไขปัญหาอย่างรวดเร็ว คริสตินา สโมลนิโควา: “ถ้านักเรียนหลายคนถามเรื่องเดียวกัน แสดงว่านี่เป็นปัญหาที่พบบ่อย และเราจำเป็นต้องบอกทุกคนเกี่ยวกับเรื่องนี้”
ผู้ช่วยช่วยเหลืออย่างไร
ตรวจสอบรหัส
นักเรียนของโปรแกรมส่งการบ้าน และผู้ช่วยจะตรวจสอบว่าโค้ดของพวกเขาสะอาดและเหมาะสมเพียงใด นี่คือวิธีที่พวกเขาจัดระเบียบการรีวิวครั้งล่าสุด
Artemy Pestretsov พยายามตอบคำถามภายใน 12 ชั่วโมง เนื่องจากนักเรียนส่งปัญหาในเวลาต่างกัน ฉันอ่านโค้ด พบปัญหาจากมุมมองของมาตรฐาน แนวทางปฏิบัติในการเขียนโปรแกรมทั่วไป ลงลึกถึงรายละเอียด ขอให้ปรับให้เหมาะสม แนะนำชื่อตัวแปรที่ต้องแก้ไข
“ทุกคนเขียนโค้ดต่างกัน ผู้คนมีประสบการณ์ต่างกัน มีนักเรียนที่เอาไปเขียนครั้งแรก ฉันชอบทุกอย่าง มันใช้งานได้ดีและการทดสอบใช้เวลา 25 วินาทีเพราะทุกอย่างสมบูรณ์แบบ และมันเกิดขึ้นที่คุณนั่งและใช้เวลาหนึ่งชั่วโมงเพื่อทำความเข้าใจว่าทำไมคนถึงเขียนโค้ดดังกล่าว นี่เป็นกระบวนการเรียนรู้ที่เพียงพออย่างยิ่ง เมื่อคุณทำการตรวจสอบโค้ดในชีวิต นี่คือสิ่งที่เกิดขึ้น”
มิคาอิลพยายามสร้างกระบวนการอย่างอิสระสำหรับนักเรียนแต่ละคน เพื่อที่จะไม่มีสถานการณ์: “ ฉันอธิบายเรื่องนี้ให้ใครบางคนฟังแล้ว ถามเขา” เขาให้ความคิดเห็นโดยละเอียดเกี่ยวกับปัญหาเป็นอันดับแรก จากนั้นนักเรียนถามคำถามเพื่อชี้แจงและปรับปรุงวิธีแก้ไข ด้วยแนวทางที่ต่อเนื่อง พวกเขาได้รับผลลัพธ์ที่พึงพอใจทั้งพี่เลี้ยงและนักเรียนในแง่ของคุณภาพ
“ในช่วงหนึ่งหรือสองสัปดาห์แรกของการฝึกอบรม ผู้คนเขียนโค้ดไม่เรียบร้อยมากนัก พวกเขาจำเป็นต้องได้รับการเตือนอย่างรอบคอบเกี่ยวกับมาตรฐานที่มีอยู่ในทั้ง Python และ Java บอกเกี่ยวกับเครื่องมือวิเคราะห์โค้ดอัตโนมัติสำหรับข้อผิดพลาดและข้อบกพร่องที่ชัดเจนเพื่อที่ในภายหลังพวกเขาจะไม่ถูกรบกวนจากสิ่งนี้และเพื่อที่บุคคลนั้นจะไม่ถูกรบกวนโดยรวม ภาคการศึกษาโดยข้อเท็จจริงที่ว่าการโอนของเขาทำไม่ถูกต้องหรือลูกน้ำอยู่ผิดที่”
เคล็ดลับสำหรับผู้ที่ต้องการดำเนินการตรวจสอบโค้ดการฝึกอบรม
1. หากนักเรียนเขียนโค้ดที่มีปัญหา ไม่จำเป็นต้องขอให้ทำใหม่อีกครั้ง สิ่งสำคัญคือเขาต้องเข้าใจว่ารหัสนี้มีปัญหาอะไร
2.อย่าโกหกนักเรียน เป็นการดีกว่าถ้าพูดตามตรงว่า “ฉันไม่รู้” หากไม่มีวิธีที่จะเข้าใจปัญหา อาร์เทมี: “ฉันมีนักเรียนคนหนึ่งที่เจาะลึกลงไปในโปรแกรมมาก ลงไปที่ระดับฮาร์ดแวร์ จากนั้นก็ขึ้นไปอีกครั้ง และเขาและฉันก็ขึ้นลิฟต์แห่งนามธรรมนี้อยู่ตลอดเวลา ฉันต้องจำบางสิ่ง แต่มันยากมากที่จะกำหนดในทันที”
3. ไม่จำเป็นต้องมุ่งเน้นไปที่ความจริงที่ว่านักเรียนเป็นมือใหม่: เมื่อบุคคลทำอะไรบางอย่างเป็นครั้งแรกเขาจะวิจารณ์อย่างจริงจังมากขึ้นไม่รู้เลยว่ามันมักจะทำอะไรและประสบความสำเร็จในสิ่งที่เขาทำ และสิ่งที่เขาไม่ได้ทำ เป็นการดีกว่าที่จะพูดคุยอย่างรอบคอบเกี่ยวกับโค้ดเท่านั้น และไม่เกี่ยวกับข้อเสียของนักเรียน
4. การเรียนรู้วิธีตอบคำถามในลักษณะ "การศึกษา" เป็นเรื่องดี ภารกิจไม่ใช่การตอบโดยตรง แต่เพื่อให้แน่ใจว่าผู้เรียนเข้าใจและเข้าถึงคำตอบด้วยตนเองอย่างแท้จริง Artemy: “ในกรณี 99% ฉันสามารถตอบคำถามของนักเรียนได้ทันที แต่ก็ไม่บ่อยนักที่จะเขียนคำตอบได้ทันที เพราะฉันต้องชั่งน้ำหนักมาก ฉันเขียนไปห้าสิบบรรทัด ลบมัน แล้วเขียนใหม่อีกครั้ง ฉันรับผิดชอบต่อชื่อเสียงของหลักสูตรและความรู้ของนักเรียน และนี่ไม่ใช่งานง่าย ความรู้สึกเจ๋งมากเกิดขึ้นเมื่อนักเรียนพูดว่า: “โอ้ ฉันมีความศักดิ์สิทธิ์!” และฉันก็แบบว่า “เขามีความศักดิ์สิทธิ์!”
5. สิ่งสำคัญคือต้องเอาใจใส่และไม่วิพากษ์วิจารณ์มากเกินไป สร้างแรงบันดาลใจแต่อย่ามากเกินไปเพื่อที่นักเรียนจะได้ไม่คิดว่าตัวเองทำทุกอย่างได้ยอดเยี่ยม ที่นี่คุณจะต้องเรียนรู้ที่จะจัดการระดับอารมณ์ของคุณอย่างมีความสามารถ
6. การรวบรวมความคิดเห็นทั่วไปและข้อผิดพลาดประเภทเดียวกันจะมีประโยชน์เพื่อประหยัดเวลา คุณสามารถบันทึกข้อความแรกดังกล่าว จากนั้นคัดลอกและเพิ่มรายละเอียดเพื่อตอบคำถามเดียวกันของผู้อื่น
7. เนื่องจากความรู้และประสบการณ์ที่แตกต่างกัน บางสิ่งจึงดูชัดเจน ดังนั้นในช่วงแรกผู้ช่วยจะไม่ถอดรหัสความคิดเห็นให้นักเรียนฟัง การอ่านสิ่งที่คุณเขียนซ้ำอีกครั้งและเพิ่มสิ่งที่ดูเหมือนซ้ำซากจะช่วยได้มาก มิคาอิล: “สำหรับฉันดูเหมือนว่ายิ่งฉันช่วยตรวจสอบวิธีแก้ปัญหานานเท่าไร ฉันก็ยิ่งเข้าใจได้มากขึ้นสำหรับนักเรียนหลักสูตรใหม่ตั้งแต่เริ่มต้น ตอนนี้ฉันจะอ่านความคิดเห็นแรกๆ ของโค้ดแล้วพูดว่า: “ฉันควรจะระมัดระวังและละเอียดมากขึ้น”
การสอนและช่วยเหลือเป็นสิ่งที่ดีมาก
เราขอให้พวกเขาบอกเราถึงประสบการณ์ที่เป็นประโยชน์ที่พวกเขาได้รับขณะดำเนินการตรวจสอบโค้ดและสื่อสารกับนักเรียน
Artemy: “สิ่งสำคัญที่ฉันเรียนรู้คือความอดทนในฐานะครู นี่เป็นทักษะใหม่โดยสิ้นเชิง ฉันกำลังฝึกฝนทักษะใหม่ๆ ที่ไม่ใช่ด้านเทคนิค ฉันคิดว่าการสอนจะมีประโยชน์มากเมื่อฉันพูดในที่ประชุม พูดคุยกับเพื่อนร่วมงาน หรือนำเสนอโครงการในการชุมนุม ฉันแนะนำให้ทุกคนลอง!”
มิคาอิล: “ประสบการณ์นี้ช่วยให้ฉันมีความอดทนมากขึ้นเล็กน้อยต่อข้อเท็จจริงที่ว่ามีคนเขียนโค้ดแตกต่างจากฉัน โดยเฉพาะอย่างยิ่งเมื่อคุณเพิ่งเริ่มมองหาวิธีแก้ปัญหา ฉันเรียนหลักสูตร Python และ Java ด้วยตัวเองและแก้ไขปัญหาที่คล้ายกันต่างกัน ตั้งชื่อตัวแปรและฟังก์ชันต่างกัน และวิธีแก้ปัญหาของทั้งคู่ก็แตกต่างกันเล็กน้อย เนื่องจากในการเขียนโปรแกรมไม่มีวิธีแก้ปัญหามาตรฐาน และที่นี่คุณต้องมีความอดทนเพื่อที่จะไม่พูดว่า: "นี่เป็นวิธีเดียวที่จะทำได้!" สิ่งนี้ช่วยได้ในภายหลังในการทำงานเพื่อหารือเกี่ยวกับข้อดีข้อเสียของการตัดสินใจที่เฉพาะเจาะจง และไม่ใช่ข้อดีและข้อเสียของความจริงที่ว่าไม่ใช่ฉันที่เป็นคนตัดสินใจ”
ที่มา: will.com