อัลกอริทึมสำหรับการพัฒนาการเรียนรู้ [ปิด]


16

นี่เป็นคำถามที่ค่อนข้างทั่วไป ฉันรู้บิตของ Perl และ Python และฉันต้องการเรียนรู้การเขียนโปรแกรมในเชิงลึกมากขึ้นเพื่อที่เมื่อฉันได้รับมันฉันสามารถเริ่มต้นพัฒนาแอพพลิเคชั่นแล้วเว็บไซต์

ฉันต้องการทราบอัลกอริทึม (ลำดับขั้นตอน :)) ที่สามารถอธิบายวิธีการของฉันที่มีต่อการเรียนรู้การเขียนโปรแกรมโดยทั่วไป ฉันได้โพสต์คำถามเล็ก ๆ เกี่ยวกับ Perl / Python และฉันได้รับความช่วยเหลือที่ดีจากทุกคน

หมายเหตุ: - ฉันไม่ได้รีบเรียนรู้ ฉันรู้ว่ามันต้องใช้เวลาและมันก็ใช้ได้

โปรดให้คำแนะนำใด ๆ ที่คุณคิดว่าถูกต้อง นอกจากนี้โปรดอย่าผลักฉันให้เรียนรู้ Lisp, Haskell และอื่น ๆ - ฉันเป็นมือใหม่


มีภาษาใดที่คุณต้องการเรียนรู้บ้างไหม? ฉันรู้ว่าคุณพูดถึง perl และ python นั่นคือสิ่งที่คุณต้องการเข้าร่วมหรือไม่?
Jason

ดังนั้นสิ่งที่คุณถามคือ ... อะไรกันแน่ กระบวนการที่คุณเรียนรู้ภาษาใดภาษาหนึ่งเป็นพิเศษ? เขียนโปรแกรมเอง? ใช้อะไร
glenatron

ฉันคิดว่านี่เป็นคำถามที่ดี ฉันแก้ไขเพื่อให้ชัดเจนขึ้น
Gary Rowe

คำตอบ:


28

อัลกอริทึม 11 ขั้นตอนสำหรับการเรียนรู้ภาษาการเขียนโปรแกรมใหม่

ขณะนี้ฉันกำลังเรียนรู้ Lispและฉันขอแนะนำอัลกอริทึมต่อไปนี้:

  1. ถามว่าภาษาควรค่ากับการเรียนรู้หรือไม่และมีแหล่งข้อมูลที่ดีอยู่ที่ไหน หากผู้เชี่ยวชาญให้การตอบรับเชิงบวกต่อภาษาให้ดำเนินการในขั้นตอนที่ 2
  2. สร้างสภาพแวดล้อมการเขียนโปรแกรมเริ่มต้น ทำให้มันง่าย: ตัวแก้ไขข้อความและคอมไพเลอร์ / ล่าม ขั้นต่ำที่เปลือยเปล่า พิจารณาบัญชีผู้ใช้เฉพาะบนเครื่องของคุณด้วยโทนสีพิเศษเพื่อบอกถึงการเปลี่ยนความคิด
  3. สร้าง "สวัสดีโลก!" ใบสมัคร
  4. เรียนรู้ไวยากรณ์ทั่วไปและคำสั่งควบคุม (ถ้าเป็นอย่างอื่น, ทำซ้ำจนกว่าจะถึง ฯลฯ ) สร้าง sandbox เพื่อตรวจสอบกรณีการควบคุมอย่างง่าย (การประเมินผลจริง / เท็จ ฯลฯ ) ลองใช้ทุกประเภทดั้งเดิม (int, double, string ฯลฯ ) ทำการคำนวณสกุลเงิน เกมทายหมายเลข (ตามที่แนะนำโดย@Jeremy ) เป็นสิ่งที่ดีสำหรับเรื่องนี้
  5. สร้างคลาส (ถ้ามี) ด้วยวิธีการ / ฟังก์ชั่นต่างๆ โทรออกระหว่างฟังก์ชั่น ใช้คำสั่งควบคุม
  6. เรียนรู้อาร์เรย์และคอลเลกชัน สร้างตัวอย่างที่ซับซ้อนที่เหมาะสมที่สร้างอาร์เรย์และคอลเลกชันของแต่ละคลาส / ฟังก์ชั่น / ดั้งเดิมที่มีให้สำหรับคุณ
  7. เรียนรู้ไฟล์ IO สร้างตัวอย่างของการอ่านการจัดการและการเขียนไฟล์ไบนารีและตัวละคร
  8. ถามคำถามเพิ่มเติมเกี่ยวกับการเขียนโปรแกรมสำนวนภายในภาษา (พอยน์เตอร์, มาโคร, monads, closures, กรอบการสนับสนุน, สร้างสภาพแวดล้อม ฯลฯ )
  9. เลือก (หรือปรับใช้ที่มีอยู่ของคุณ) เพื่อทำงานในสำนวนที่แนะนำ
  10. เขียนแอปพลิเคชั่นที่หลากหลายที่จะทำให้คุณพอใจ (หรือเจ้านาย)
  11. หลังจาก 1 ปีกลับไปที่ขั้นตอนที่ 1 สำหรับภาษาอื่นในขณะที่รักษาความสนใจในภาษาที่คุณเพิ่งเรียนรู้

1
ฉันได้พบเกม "ทายตัวเลข" เป็นโปรแกรมที่สองที่ยอดเยี่ยมในการเขียน (ในขั้นตอนที่ 4) ช่วยให้คุณเรียนรู้เกี่ยวกับจำนวนเต็มบูลีนอินพุต / เอาต์พุตข้อความการวนลูปและเงื่อนไข
Jeremy Heiler

@ Jeremy ข้อเสนอแนะที่ดีฉันได้ใส่ไว้ในนั้น
Gary Rowe

สวัสดี Gary - ขอบคุณสำหรับคำแนะนำโดยละเอียดฉันจะพยายามแมปกับ python - อธิบายทีละขั้นตอนดีมากว่าทำไมฉันถึงรักโซ่ของฟอรั่มนี้ ... @ Jeremy ใช่ฉันอยู่กับมัน :)
user9057

ชุดรูปแบบสีพิเศษเพื่อบอกถึงการเปลี่ยนความคิดคุณสามารถกำจัดแสงนี้ได้หรือไม่?
Santosh Kumar

ฉันมักจะเลือกชุดรูปแบบสีเข้มขึ้นเมื่อทำงานกับ Lisp แต่ใช้สีอ่อนสำหรับ Java สีเตือนให้ฉันเปลี่ยนความคิดของฉัน
Gary Rowe


2

สำหรับทุกภาษาที่คุณต้องการเรียนรู้ L

  • ขั้นตอนที่ 1: Lเรียนรู้ไวยากรณ์ของ
  • ขั้นตอนที่ 2: เขียนคอมไพเลอร์สำหรับLภาษาที่คุณโปรดปราน
  • ขั้นตอนที่ 3: เขียนคอมไพเลอร์สำหรับภาษาที่คุณชื่นชอบ L
  • ขั้นตอนที่ 4: เขียนโครงงานที่สำคัญ L
  • โบนัส: ตรวจสอบให้แน่ใจว่าผลลัพธ์ของขั้นตอนที่ 2 เข้ากันได้กับผลลัพธ์ของขั้นตอนที่ 4

ที่สวยมากควรจะครอบคลุมมันกลับมาให้เราพร้อมกับรายงานความคืบหน้าใน 10 ปี

ถ้าหากคุณกำลังเรียนรู้ที่จะพัฒนาเว็บไซต์และคุณรู้จัก Perl และ Python อยู่แล้วคุณก็มีเพียงพอสำหรับการเริ่มต้น ผมว่าเริ่มต้นการเรียนรู้ ins ลึกหนาบางของ Apache (และโดยเฉพาะmod_perlและmod_python) แล้วได้รับการฝึก อาจหยิบหนังสือหนึ่งหรือสองเล่มมาเขียนโปรแกรม CGI การสื่อสารผ่านเครือข่ายและเช่นนั้นแทนที่จะเป็นคู่มือภาษาเฉพาะ

ในฐานะที่เป็นโน้ตสุดท้ายการเป็นผู้เริ่มต้นก็ไม่มีเหตุผลที่จะไม่เรียนรู้ Lisp การตรวจสอบออกไปSICPและวิดีโอการบรรยาย ไม่ถือว่าระดับความเชี่ยวชาญใด ๆ กับการพัฒนาหรือคอมพิวเตอร์ ในความเป็นจริงที่จะพูดเบื้องต้นเกี่ยวกับการบรรยายวิดีโอ

ฉันยินดีต้อนรับคุณเข้าสู่หลักสูตรวิทยาศาสตร์คอมพิวเตอร์นี้ [เขียนบนกระดาน] ที่จริงแล้วมันเป็นวิธีที่แย่มากที่จะเริ่ม วิทยาการคอมพิวเตอร์เป็นชื่อที่น่ากลัวสำหรับธุรกิจนี้ ก่อนอื่นมันไม่ใช่วิทยาศาสตร์ [ตัดกัน "วิทยาศาสตร์"] มันอาจจะเป็นวิศวกรรมหรืออาจเป็นศิลปะ [... ] มันไม่เกี่ยวกับคอมพิวเตอร์มากนัก [แยกออก "คอมพิวเตอร์"] และมันไม่เกี่ยวกับคอมพิวเตอร์ในแง่เดียวกันว่าฟิสิกส์ไม่ได้เกี่ยวกับเครื่องเร่งอนุภาค และชีววิทยาไม่ได้เกี่ยวกับกล้องจุลทรรศน์และจานเลี้ยงเชื้อ -Hal Abelson


ฟังดูน่าสนุก. พบกันใหม่ใน 10 ปี!
Jeremy Heiler

+1 สำหรับขั้นตอนที่ 2 เขียนคอมไพเลอร์สำหรับ L! สมอง ... เจ็บ .. ดังนั้น ... มาก ... ตอนนี้
Gary Rowe

-2

ฉันไม่อยากพูดมากไปกว่าสองขั้นตอน

  1. เรียนรู้โครงสร้างข้อมูล
  2. เรียนรู้เกี่ยวกับอัลกอริทึมเบื้องต้น

การเขียนโปรแกรม PS เป็นงานประจำวันของคุณ


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

-2

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

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