ฉันจะทำสิ่งนี้:
เส้นทาง A: วิธี Semi-Typical
เรียนรู้ภาษาด้วยไวยากรณ์ที่ปรับให้เป็นมาตรฐานมากขึ้นเช่น Java, C # หรือ Python Perl เป็นเครื่องมือที่มีประโยชน์อย่างมาก แต่ก็ยังเป็นอิสระอย่างมากในแง่ของวิธีการที่คุณสามารถทำสิ่งต่างๆ ภาษาอื่น ๆ ที่ฉันระบุไว้นั้นมีน้อยกว่ามาก
รับหนังสือเกี่ยวกับโครงสร้างข้อมูลในภาษาดังกล่าว
รับหนังสือเกี่ยวกับอัลกอริทึมในภาษาดังกล่าว
รับโค้ดที่สมบูรณ์และมีประสิทธิภาพ Java / C # / เวอร์ชันของ Python คืออะไร
เส้นทาง B: เส้นทางแห่งการตรัสรู้ของ Joel Spolsky (หรือความตายให้เลือก)
รับหนังสือ "รหัส"
รับ K & R ของ "ภาษาการเขียนโปรแกรม C"
รับโครงสร้างและการตีความการเขียนโปรแกรมคอมพิวเตอร์
เท่าที่ไปของวิธีการวิธีที่ 1 จะสอนให้คุณเขียนโปรแกรมในลักษณะที่เป็นมาตรฐานมากขึ้น แนวคิดเกี่ยวกับวิทยาศาสตร์คอมพิวเตอร์ในระดับหนึ่ง (ยังไม่มีทฤษฎีความซับซ้อนเชื่อใจฉัน) และมอบภาษาที่ดีกว่าสำหรับการทำงานในโครงการกับผู้อื่นและเพื่อการใช้งานที่ใหญ่ขึ้น
วิธีที่ 2 นั้นง่ายกว่ามากมันเป็นแนวทางพื้นฐานมากกว่า "Code" ที่อธิบายพื้นฐาน K&R แนะนำสิ่งที่ระดับเครื่องจักรและ SICP แนะนำแนวคิดระดับสูงขึ้น มันเป็นเส้นทางที่ยากกว่า แต่มีสมาธิมากกว่า
ในทั้งสองกรณีให้เวลาตัวเอง โรมไม่ได้ถูกสร้างขึ้นในหนึ่งวันและไม่มีทักษะการเขียนโปรแกรมแม้ว่าคุณจะเป็นอัจฉริยะ การเขียนโปรแกรมของ Peter Norvig ในระยะเวลา 10 ปีเป็นบทความที่ฉันแนะนำคน
ภาคผนวก:
เท่าที่มีของว่าง: Python the Hard ดังที่แสดงไว้ด้านล่างเป็นการเริ่มต้นที่ดีจากที่นั่นวิธีคิดเหมือนนักวิทยาศาสตร์คอมพิวเตอร์คือความต่อเนื่องที่สมเหตุสมผล
มีทรัพยากรจำนวนมากในอัลกอริทึมที่นั่นและโดยสุจริตคุณอาจสลับขั้นตอนที่ 3 และ 4 โดยไม่มีปัญหา โปรดทราบว่านี่คือที่ที่คณิตศาสตร์เริ่มปรากฏขึ้นดังนั้นอย่ากลัวที่จะขอความช่วยเหลือเมื่อคุณมาถึงขั้นตอนนี้ นี้น่าจะเป็นที่เหมาะสมคู่มือฟรี
จริงๆแล้วมันไม่ได้มีค่าเทียบเท่ากับ Code Complete ต่อการพูดถึงแม้ว่าCode เช่น Pythonista นั้นดูจะค่อนข้างแข็งแกร่ง สิ่งสำคัญคือการมุ่งเน้นที่การทำให้โค้ดของคุณสามารถอ่านได้เมื่อคุณมีพื้นฐานที่น้อยลง ไม่ใช่ "จำเป็น" ในลักษณะเดียวกับการมีรหัสไวยากรณ์ที่ถูกต้องทั้งหมด แต่ทำให้ง่ายขึ้นมากเมื่อคุณได้รับมากกว่าโปรแกรมขนาดเล็กหรือทำงานในบางสิ่งบางอย่างในระยะเวลานาน
คุณอาจพบว่าฉันให้ความสำคัญกับ Python เป็นส่วนใหญ่เพราะมันเป็นวิธีที่ง่ายที่สุดในสามในการหาของฟรีที่เขียนได้ดี ฉันคิดว่าบทเรียนของ Oracle โดย Oracle นั้นใช้ได้ดี แต่มันก็ค่อนข้างแห้งและไม่เหมาะสำหรับผู้เริ่มต้น C # อยู่ในสถานการณ์ที่คล้ายกันแม้ว่าจะไม่ได้รับความทุกข์จากการไม่มีเอกสารประกอบ
นอกจากนี้เรื่องตลก CS / CS แรกของคุณ: คุณต้องการที่จะ "Refactor" การศึกษาของคุณไม่ใช่ Backtrack