ฉันจำการเขียนโปรแกรมไม่ได้ 5 นาทีหลังจากเรียนรู้? [ปิด]


13

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


13
อย่าเพิ่งเรียนรู้หนังสือ การเขียนโปรแกรมต้องใช้โครงการและปัญหาเฉพาะเพื่อแก้ปัญหาในสมองของคุณ
Merlyn Morgan-Graham

8
ฝึกฝึกฝนฝึกหัด

ฉันต้องทบทวนสิ่งที่ฉันเขียนตลอดเวลา มันจมลงในเมื่อมันดูเหมือนจะไม่ทำให้โลกสั่นสะเทือนอีกต่อไป

3
มันหมายถึงความรู้ของคุณตื้น ๆ คุณไม่ได้ "เรียนรู้" จริงๆ
BlackJack

2
พยายามเข้าใจไม่ใช่เพียงจดจำคำตอบ
Jeff Grigg

คำตอบ:


23

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


4
+1 "เมื่อความเข้าใจเพิ่มขึ้นคุณไม่จำเป็นต้องจดจำมาก"
Mike Dunlavey

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

5

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

ยังอ่าน มาก. นี่คือรายการที่จะให้คุณเริ่มต้น: /programming/1711/what-is-the-single-most-influential-book-every-programmer-should-read


และยิ่งไปกว่านั้นดูเหมือนว่าในโยดาจะเปลี่ยนคุณ
Binary Worrier

5

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

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


1
@Backack Jack หากคุณมองอย่างใกล้ชิดกับการเขียนใด ๆ ของฉันคุณจะพบความมั่นคงอย่างแน่นอนเป็นศูนย์ มันเหมือนกับว่านิ้วของฉันไม่สามารถตัดสินใจได้ แม้ว่าตั้งแต่ HTML ไม่แสดงช่องว่างสองครั้งผมคิดว่าคุณไม่ต้องมองอย่างใกล้ชิด ... :)
นิโคล

2

มันเหมือนเสื้อผ้าในตู้เสื้อผ้า

พวกเขาจะล้มลงกับพื้น

สิ่งที่คุณต้องวางแนวคิดการเขียนโปรแกรมบนคือปัญหาอย่างน้อยหนึ่งปัญหาที่คุณพยายามแก้ไข

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


1

คุณต้องเริ่มพัฒนาสิ่งต่าง ๆ หลังจากทำบางสิ่งสักครู่คุณจะได้รู้วิธีทำในโครงการในอนาคต มันสำคัญที่คุณต้องทำหลายครั้ง :)!



0

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

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

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


0

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

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


0

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


0

วิธีการเรียนรู้คือการฝึกฝน เขียนโค้ด เพื่อทำให้รำคาญและหงุดหงิดโดยลืมโดยพิมพ์ตัวแปรตัวเดียว: D

เลือกปัญหาและพยายามแก้ไข; ในไม่ช้าคุณจะเขียนโค้ดโดยไม่ต้องกังวลกับไวยากรณ์


0

บางทีการเขียนซอฟต์แวร์ไม่ใช่สำหรับคุณ

เมื่อฉันอายุ 13 ปีฉันเขียนใน AppleBasic และ Pascal การเขียนโปรแกรมทำให้รู้สึกที่สมบูรณ์แบบสำหรับฉัน

มันตรงกันข้ามกับหัวข้อวิศวกรไฟฟ้า ในหูข้างหนึ่งและออกอื่น ๆ ฉันไม่เคยเรียนรู้อะไรมากมายในชั้นเรียน EE ของฉันและฉันก็รู้ว่าฉันไม่เก่ง

นั่นเป็นเหตุผลที่ตอนนี้ฉันเป็นวิศวกรซอฟต์แวร์แทนที่จะเป็นวิศวกรไฟฟ้า


0

มันคือทั้งหมดที่เกี่ยวกับการปฏิบัติ วิธีที่ดีที่สุดในการเรียนรู้การเขียนโปรแกรมคือการสร้างโครงงานและปรับปรุงทุกครั้งที่คุณเรียนรู้สิ่งใหม่


0

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

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

อย่างน้อยนี่เป็นวิธีเดียวที่เหมาะกับฉันเมื่อฉันต้องการเรียนรู้ภาษาการเขียนโปรแกรมใหม่ ตัวอย่างเช่นฉันพยายามเรียนรู้ Haskell ในช่วงสองปีที่ผ่านมา แต่การอ่านหนังสือและการเขียนโค้ดเล็ก ๆ ไม่เพียงพอ: ฉันลืมเรื่องไปเรื่อย ๆ จากนั้นฉันก็มีความเป็นไปได้ที่จะเขียนเครื่องมือขนาดเล็ก (ใน Haskell) ที่ บริษัท ของฉันและฉันเรียนรู้มากมาย


0

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

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