1. การเรียนรู้จากการปฏิบัติ

การเรียนรู้ Java ขึ้นอยู่กับการปฏิบัติ

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

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

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


2. ประเภทของงาน

งานประเภทต่างๆ มากมายรอคุณอยู่ที่ CodeGym มาดูรายการหลัก:

งานที่คุณเขียนโปรแกรม

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

เป้าหมายของงานเหล่านี้คือการเขียนโปรแกรมที่ตรงตามเงื่อนไขและข้อกำหนดที่ระบุ งานส่วนใหญ่จัดอยู่ในหมวดนี้ เพื่อความสะดวก ของ นักเรียน CodeGym เรา ทำเครื่องหมายงานเหล่า นี้ตามระดับความยาก: ง่ายปานกลางยากและEPIC

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

โครงการ

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

นั่นเป็นเหตุผลที่ CodeGym แนะนำงานโครงการ — งานขนาดใหญ่ที่แบ่งออกเป็น 5-35 งานย่อยทั่วไป คุณทำงานย่อยทั้งหมดตามลำดับ และจบลงด้วยโปรแกรมขนาดใหญ่

ในตอนท้ายของแต่ละระดับหลังจากระดับ 20 จะมีงานโครงการขนาดใหญ่หนึ่งงาน ซึ่งแบ่งออกเป็นงานย่อยยี่สิบงาน นอกจากนี้ยังมีงานเกมอีก 6 งานซึ่งเป็นโครงการด้วย และมีงานโครงการหนึ่งสำหรับการรับเข้าฝึกงานออนไลน์ โดยรวมแล้วมี 27 งานโครงการในหลักสูตรทั้งหมด

แบบทดสอบ

เป็นเวลานานแล้วที่ CodeGym ไม่มีการทดสอบหรือแบบทดสอบ ผู้สร้าง CodeGym มีความเห็นว่าการทดสอบที่ผ่านสร้าง "ภาพลวงตาของความรู้" ในผู้คน ผู้คนไม่รู้วิธีการเขียนโปรแกรมจริงๆ แต่พวกเขาเชื่อมั่นอย่างถ่องแท้ เนื่องจากพวกเขาผ่านการทดสอบ คนเหล่านี้หยุดเรียนรู้เนื่องจาก "พวกเขารู้ทุกอย่างแล้ว"

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


3. สถานะงาน

แต่ละงานใน CodeGym มีสถานะพิเศษ สถานะสามารถเปลี่ยนแปลงได้เมื่อคุณแก้ปัญหา

งาน CodeGym แต่ละงานเชื่อมโยงกับบทเรียน ในขั้นต้น คุณจะไม่สามารถเข้าถึงงานใดๆ ได้ ซึ่งหมายความว่าคุณจะไม่สามารถแก้ไขงานเหล่านั้นได้

เมื่อคุณเปิดบทเรียนถัดไป งานทั้งหมดในบทเรียนจะพร้อมให้แก้ไข นั่นคือสถานะจะเปลี่ยนเป็น "ว่าง"

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

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

ผู้ใช้ที่สมัครสมาชิก Premium Mentor มีเวลาอีก 3 วันในการพยายามเขียนโซลูชันอื่นๆ สำหรับงาน หลังจากช่วงเวลาเพิ่มเติมนี้หมดลง งานจะย้ายเข้าสู่สถานะ "ปิด" และสถานะนี้จะไม่เปลี่ยนแปลงอีกต่อไป


4. ข้อกำหนด

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

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

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

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

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

ความต้องการ

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


5. คำแนะนำ

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

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

ลองคิดดูสิ ขณะนี้มีงานประมาณ 1,200 รายการบน CodeGym โดยมีข้อกำหนดทั้งหมดประมาณ 10,000 รายการ และมีคำแนะนำหลายประการที่เกี่ยวข้องกับข้อกำหนดแต่ละข้อ ข้อกำหนดบางอย่างมีหลายสิบข้อ ตัวตรวจสอบความถูกต้องของ CodeGym พร้อมที่จะให้คำแนะนำมากกว่า 50,000 รายการสำหรับโซลูชันสำหรับผู้ใช้

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

คำแนะนำ

6. ชุมชน

CodeGym มุ่งเน้นไปที่การฝึกฝนมากมายซึ่งคิดเป็นมากกว่า80%ของกระบวนการเรียนรู้ทั้งหมด เราเปลี่ยนการเรียนรู้เป็นภารกิจที่ยิ่งใหญ่และมีส่วนร่วม (อันที่จริงคือชุดของภารกิจ)

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

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

ชุมชนนักพัฒนาที่ใหญ่ที่สุดในโลก - เว็บไซต์ StackOverflow - เกิดจากความต้องการที่โปรแกรมเมอร์ต้องเรียนรู้จากกันและกัน แนวคิดนั้นเรียบง่าย: คุณถามคำถามและโปรแกรมเมอร์คนใดในโลกสามารถตอบได้ สะดวกใช่ไหม? 🙂

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

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


7. คำถามเกี่ยวกับงาน

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

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

ฟังดูเรียบง่ายและธรรมดามาก แต่จริงๆ แล้วค่อนข้างซับซ้อน

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

คำถามเกี่ยวกับงาน

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

ปุ่มช่วยเหลือ

ประการที่สาม ปลั๊กอิน IntelliJ IDEAมีการทำงานที่คล้ายกัน คุณสามารถคลิกปุ่ม "วิธีใช้" หรือกดคีย์ผสม Ctrl+Alt+W ซึ่งจะเปิดส่วนวิธีใช้ในเบราว์เซอร์ของคุณทันที และแน่นอน ตัวกรองจะแสดงเฉพาะคำถามเกี่ยวกับงานที่คุณกำลังแก้ไขในIntelliJ IDEA

ความช่วยเหลือ IntelliJ IDEA

8. การสร้างคำถาม

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

การสร้างคำถาม

ไม่เหมือนกับบริการอื่น ๆ เช่น StackOverflow, Code Ranch และอื่น ๆ CodeGym ไม่ต้องการให้คุณยัดเยียดข้อมูลสำคัญทั้งหมดลงในชื่อคำถาม เขียนคำถามของคุณตามที่คุณต้องการ

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

การสร้างคำถาม2

ซึ่งหมายความว่านักเรียน CodeGym คนอื่นๆ จะเห็นข้อมูลที่เกี่ยวข้องทั้งหมดเกี่ยวกับวิธีแก้ปัญหาของผู้ถามในทันที ซึ่งทำให้ง่ายต่อการให้คำแนะนำที่ดี


9. รหัสโซลูชัน

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

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

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

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

รหัสโซลูชัน

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