เรียนรู้การเขียนโค้ด: ภูมิปัญญาและเครื่องมือสำหรับการเดินทาง

เผยแพร่แล้ว: 2022-03-11

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

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

ซับซ้อนและสับสนในตอนแรก การเข้ารหัสส่วนใหญ่ไม่สมเหตุสมผลเลย ตรงกันข้ามกับความคาดหวัง ความรู้สึก “ฉันไม่เข้าใจ” อาจคงอยู่นานตลอดการเดินทาง ทำให้ผู้ที่เพิ่งเริ่มมีดวงตาสดใสรู้สึกสิ้นหวัง หลงทาง และพร้อมที่จะยอมแพ้

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

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

การเดินทางสู่สรวงสวรรค์ของโปรแกรมเมอร์เริ่มต้นด้วยขั้นตอนเดียว

คาดหวังอะไร

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

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

การเรียนรู้การเขียนโปรแกรมไม่ใช่เรื่องง่าย

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

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

วิธีเรียนรู้การเขียนโค้ด

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

1. เลือกปลายทางของคุณ: เลือกภาษา ภาษาใดก็ได้

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

ไม่ว่าในกรณีใด เว้นแต่คุณจะรู้ ว่า คุณต้องการทำอะไรในระยะยาว มีเพียงห้าภาษาที่ฉันแนะนำให้พิจารณา ซึ่งสร้างสมดุลระหว่างความง่ายในการเรียนรู้ ความรู้รอบตัวที่หลากหลาย และงานระยะยาวมากมาย กลุ่มเป้าหมาย: Ruby , JavaScript , Python , C และ Java

ต่อไปนี้คือหมายเหตุทั่วไปบางส่วนเพื่อช่วยให้คุณตัดสินใจ:

ภาษาที่ตีความ

ภาษาที่ตีความนั้น ง่ายต่อการเริ่มต้นใช้ งาน เนื่องจากรหัสต้นทางสามารถเรียกใช้ได้ทันทีที่เขียน ในทางตรงกันข้าม ภาษาที่ คอมไพล์ ต้องมีขั้นตอนเพิ่มเติมระหว่างการเขียนและการรันโค้ด

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

ภาษา ข้อดี ข้อเสีย ที่ใช้กันทั่วไปสำหรับ
ทับทิม
  • ไวยากรณ์ที่ยืดหยุ่นอย่างยิ่ง
  • ง่ายต่อการเริ่มต้นกับ
  • ความต้องการสูงทำให้ได้งานที่ได้ผลตอบแทนดี
  • ความยืดหยุ่นสามารถบดบังกระบวนการพื้นฐานได้มาก
  • ประสิทธิภาพที่ช้าทำให้ไม่เหมาะกับการใช้งานระดับไฮเอนด์
  • เว็บด้านหลังสิ้นสุด ดู รูบี้ ออน เรลส์
JavaScript
  • ตัวเลือกเดียวสำหรับซอฟต์แวร์ในเบราว์เซอร์
  • มีความสำคัญต่อเว็บไซต์สมัยใหม่ทุกแห่ง
  • ความต้องการที่สูงมากเท่ากับงานที่ได้ผลตอบแทนดีมากมาย
  • ไวยากรณ์ที่ซับซ้อนบางครั้งอาจทำให้สับสน
  • ท้าทายกว่า Ruby หรือ Python สำหรับผู้เริ่มต้น
  • ส่วนหน้าของเว็บ ดู React, Angular, Ember, jQuery และอื่นๆ
  • เว็บแบ็คเอนด์ ดู Node.js
Python
  • ไวยากรณ์การพิมพ์ที่หรูหราและเรียบง่ายเป็นที่ชื่นชอบของผู้ปฏิบัติงาน
  • ง่ายต่อการเริ่มต้นกับ
  • ประสิทธิภาพที่ช้าหมายถึงไม่เหมาะกับการใช้งานระดับไฮเอนด์
  • ความสามารถในการปรับขนาดได้ไม่ดี การออกแบบภาษาทำให้เกิดปัญหาในการใช้งานขนาดใหญ่
  • เว็บด้านหลังสิ้นสุด ดูจังโก้.
  • การวิจัยทางวิทยาศาสตร์และวิชาการ ดู SciPy

ภาษาที่รวบรวม

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

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

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

ภาษา ข้อดี ข้อเสีย ที่ใช้กันทั่วไปสำหรับ
  • สามารถให้ประสิทธิภาพที่ดีกว่า "ภาษาการเขียนโปรแกรมระดับสูง" อื่น ๆ
  • จะสอนคุณมากที่สุดเกี่ยวกับวิธีการทำงานของคอมพิวเตอร์
  • อาจเป็นเรื่องยากที่สุดที่จะเชี่ยวชาญจากรายการนี้
  • ระบบปฏิบัติการ.
  • วิดีโอเกมระดับไฮเอนด์
  • ระบบสมองกลฝังตัว
  • วิทยาการหุ่นยนต์และปัญญาประดิษฐ์
Java
  • ภาษาที่นิยมใช้กันมากที่สุดโดยรวม
  • การพิมพ์อย่างเข้มงวดบังคับให้วิธีคิดที่ชัดเจนและมีประสิทธิภาพ
  • ไวยากรณ์ที่ซับซ้อนอาจมีความยุ่งยากในการอ่านและใช้งาน
  • หลายคนถือว่าล้าสมัย เป็นเสาหิน และใกล้จะถดถอย
  • แอปพลิเคชันระดับองค์กรขนาดใหญ่
  • การพัฒนาเว็บ
  • การพัฒนาแอนดรอยด์

HTML และ CSS: ไม่ใช่ภาษาการเขียนโปรแกรม

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

2. เริ่มเล็ก

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

ตัวอย่างเช่น โปรแกรมแรกที่เขียนตามธรรมเนียมเมื่อเรียนภาษาใหม่คือโปรแกรม "Hello World" ซึ่งพิมพ์คำว่า "Hello World" ลงบนหน้าจอ ในภาษาส่วนใหญ่ แทบจะเป็นไปไม่ได้เลยที่จะเขียนโปรแกรมที่ง่ายกว่านี้ และเห็นได้ชัดว่าโปรแกรมนี้ใช้งานจริงเพียงเล็กน้อย อย่างไรก็ตาม มันยังคงรวมเอาส่วนพื้นฐานต่างๆ ของภาษาไว้ด้วย ดังนั้นจึงเหมาะสำหรับการแนะนำตัวเองว่าพิมพ์ภาษานั้นอย่างไร

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

3. อดทน

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

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

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

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

4. ฝึกปฏิบัติ ฝึกปฏิบัติ

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

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

ทรัพยากร

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

เครื่องมือและแหล่งข้อมูลเหล่านี้จะช่วยให้คุณเรียนรู้การเขียนโค้ด

การเรียนรู้แบบมีโครงสร้าง

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

ระดับมหาวิทยาลัยอย่างเป็นทางการ

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

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

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

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

ค่ายฝึก

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

Bootcamp มักใช้เวลาเรียน 8 ถึง 12 สัปดาห์อย่างเข้มข้น และมีค่าใช้จ่ายประมาณ 10,000 ดอลลาร์สหรัฐ ครอบคลุมเนื้อหาจำนวนมากในระยะเวลาอันสั้น ในระหว่างนั้น คุณจะต้องเสียสละเพื่อแสวงหาสิ่งอื่นๆ ส่วนใหญ่ แต่พวกเขาสัญญาว่าจะเตรียมคุณให้พร้อมสำหรับการพัฒนาซอฟต์แวร์ในโลกแห่งความเป็นจริง และนำคุณไปสู่อาชีพในการเขียนโปรแกรมอย่างรวดเร็ว ค่ายฝึกหลายแห่งมีจุดจบในอาชีพการงาน หรือไม่ก็พยายามทำให้คุณมีงานทำหลังจากสำเร็จการศึกษาไม่นาน

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

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

การเรียนรู้กึ่งโครงสร้าง

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

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

หลักสูตรออนไลน์แบบเปิดจำนวนมาก (MOOCs)

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

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

  • Coursera
  • EdX
  • ยูดาซิตี้

โปรดทราบว่าตามที่โฆษณาไว้ หลักสูตรเหล่านี้เปิดสอนหลักสูตรระดับมหาวิทยาลัย ดังนั้นคุณควรเตรียมพร้อมที่จะทำงานหนักเพื่อผ่านมันไปให้ได้!

เว็บไซต์แนะนำการสอน

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

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

  • คาห์น อะคาเดมี่
  • Udemy
  • Codecademy
  • รหัสเวนเจอร์ส
  • โรงเรียนรหัส
  • บ้านต้นไม้
  • ลินดา
  • พหูพจน์

นี่เป็นเพียงรายการสั้น ๆ ดังนั้นลองค้นหาและดูว่ามีอะไรอีกบ้าง!

การเรียนรู้แบบไม่มีโครงสร้าง

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

เจาะเว็บไซต์

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

  • Exercism.io
  • CheckiO
  • CodeChef
  • CodeEval
  • Codewars
  • Codility
  • HackerRank

วิดีโอ

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

  • MIT OpenCourseWare
  • ชุดบรรยายมหาวิทยาลัยสแตนฟอร์ด

หนังสือ

แม้จะมีความอัศจรรย์ของเทคโนโลยีทั้งหมด แต่สำหรับหลายๆ คนแล้ว ยังไม่มีอะไรที่เหมือนกับหนังสือดีๆ สักเล่มที่จะเจาะลึกและทำความเข้าใจในหัวข้อนั้นๆ อย่างลึกซึ้ง ถ้าคุณชอบการเรียนรู้ด้วยวิธีนี้ ลองดู Toptal's List of Top Free Programming Books

ในการปิด

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

เมื่อคุณเป็นโปรแกรมเมอร์แล้ว โลกแห่งความมหัศจรรย์รอคุณอยู่

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