คำแนะนำโครงการ Do-It-Yourself เพื่อฝึกฝนทักษะการเขียนโปรแกรมหรือเรียนรู้ภาษาใหม่ [ปิด]


10

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


3
โคลนไซต์นี้

คำตอบ:


11

ฉันพบว่าโปรแกรมต่อไปนี้ให้การเริ่มต้นที่ดีกับภาษาใหม่:

เกมแห่งชีวิตของคอนเวย์

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

นอกจากนี้คุณสามารถเขียนเวอร์ชัน 3D และใช้เอ็นจิ้นเกมเพื่อการแสดงผล (เช่นสิ่งที่ง่ายเช่น Panda3D)

Sudoku Solver

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

โครงการออยเลอร์

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


คุณสามารถลองใช้เกมแห่งชีวิตในแพลตฟอร์มต่าง ๆ ฉันทำมันบนผ้าใบ HTML5 / Javascript มันวิเศษจริงๆ!
อริส

5

ฉันไม่แน่ใจว่าคุณหมายถึงอะไรกับ 'มีซอฟต์แวร์อะไรดีให้ลอง ... ' แต่ฉันสามารถแนะนำหนังสือ'เจ็ดภาษาในเจ็ดสัปดาห์'

มันเป็นจุดเริ่มต้นที่ดีในการลองภาษาใหม่ ๆ


ฉันเพิ่งได้รับหนังสือเล่มนี้และความละเอียดปีใหม่ของฉันคือการติดตาม
Tangurena

5

เพียงเข้าสู่เว็บไซต์ใด ๆ ต่อไปนี้และดูว่าคุณมีความท้าทายในการเขียนโค้ดหรือไม่ : SPOJ , TOPCODERและอื่น ๆ

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

และถ้าคุณเป็นหลักในเกมของคุณมีเสมอICPC


3

ฉันจะบอกว่าโครงการใด ๆ ที่ตรงตามข้อกำหนดสามข้อต่อไปนี้:

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

2
จุดแรกของคุณคือกุญแจ หากคุณไม่สนใจโครงการจะเป็นการยากที่จะรักษาความก้าวหน้าและความกระตือรือร้นที่คุณต้องเรียนรู้
ChrisF

2
  • ไปที่ Sourceforge.net หรือ GitHub ค้นหาโครงการในภาษานั้นและดูว่าโครงการใดที่คุณสนใจ
  • ลองนึกถึงห้องสมุดที่คุณใช้งานบ่อยที่สุดใน "ชีวิตจริง" คุณเขียนเว็บเซอร์เป็นจำนวนมากหรือไม่? ลองเขียนเฟรมเวิร์กเว็บเซอร์สำหรับภาษาใหม่ มีการเขียนโปรแกรมกราฟิกจำนวนมากหรือไม่ ลองเขียนเอ็นจิ้นการเรนเดอร์แบบง่าย ๆ ทำการวิเคราะห์ข้อมูลหรือไม่ ใช้แพ็คเกจสถิติพื้นฐาน อื่น ๆ นี่มีประโยชน์ที่คุณจะเห็นโปรแกรมอรรถประโยชน์นี้แล้ว (เพราะคุณใช้สิ่งที่คล้ายกันในแต่ละวัน) และคุณจะมีความรู้เกี่ยวกับโดเมนอยู่แล้ว โครงการประเภทนี้มักจะเป็นโครงการที่คุณสามารถใช้เวลาไม่ จำกัด ในการปรับแต่ง (เช่นเรียนรู้เพิ่มเติมจาก) เพื่อที่คุณอาจต้องการเปิดแหล่งข้อมูลในที่สุดและนั่นจะทำให้คุณมีส่วนร่วมในภาษาหากพวกเขากลายเป็น งานอดิเรกที่ต่อเนื่อง; ข้อเสียคือมันอาจไม่เคยรู้สึก "เสร็จสิ้น" และนั่นคือ '
  • อาจมีหนังสือที่มีจุดประสงค์เฉพาะเพื่อนำทางคุณผ่านโครงการทั้งนี้ขึ้นอยู่กับโดเมนการพัฒนา สิ่งนี้มีแนวโน้มที่จะเป็นจริงโดยเฉพาะอย่างยิ่งของแพลตฟอร์มเกม dev (iOS, XNA)

1

สำหรับมือใหม่

การจัดการสตริง:

  • เกมเพชฌฆาต

ฐานข้อมูล:

  • สิ่งที่ต้องทำ
  • การออกกำลังกายหรือบันทึกส่วนตัวบางชนิด

การจัดการตัวเลขสุ่ม:

  • หมุนวงล้อ

เมทริกซ์และกราฟิกพื้นฐาน

  • Tetris

1

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

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

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.