JavaRush /จาวาบล็อก /Random-TH /จะเปลี่ยนจาก coder ธรรมดามาเป็นนักพัฒนาสุดเจ๋งได้อย่างไร?...

จะเปลี่ยนจาก coder ธรรมดามาเป็นนักพัฒนาสุดเจ๋งได้อย่างไร? การเรียนรู้วิทยาการคอมพิวเตอร์

เผยแพร่ในกลุ่ม
โลกสมัยใหม่ของไอทีและการพัฒนาซอฟต์แวร์ค่อนข้างเข้มงวด - มีข้อกำหนดสูงสำหรับคุณสมบัติของผู้เขียนโค้ด การเปลี่ยนแปลงอย่างต่อเนื่อง และผู้เชี่ยวชาญด้านการแข่งขันที่เพิ่มขึ้นที่ทำงานในสาขานี้เพื่อให้ความรู้และพัฒนาตนเองอย่างต่อเนื่อง การเรียนรู้อย่างต่อเนื่องเป็นสิ่งจำเป็นแม้กระทั่งเพื่อที่จะยังคงเป็นผู้เชี่ยวชาญที่เป็นที่ต้องการ เพราะ "การมีชีวิตที่อยู่เบื้องหลัง" นั้นง่ายพอ ๆ กับการปอกเปลือกลูกแพร์ จะเปลี่ยนจาก coder ธรรมดามาเป็นนักพัฒนาสุดเจ๋งได้อย่างไร?  การเรียนรู้วิทยาการคอมพิวเตอร์ - 1ในสิ่งพิมพ์บน JavaRush เราพยายามช่วยให้ผู้อ่านพัฒนาและเรียนรู้ด้วยตนเองอย่างเต็มที่เพื่อให้สามารถแข่งขันได้มากที่สุดเท่าที่จะเป็นไปได้ในโลกแห่งการพัฒนาไอทีที่น่าดึงดูด ในบทความวันนี้เราจะพูดถึงการศึกษาด้วยตนเองในสาขาวิชาที่กว้างมาก - วิทยาการคอมพิวเตอร์ เราจะมาดูสิ่งที่รวมอยู่ในแนวคิดของวิทยาการคอมพิวเตอร์ (CS) อย่างแน่นอน แต่สำหรับตอนนี้เรามาลองตอบคำถาม: เหตุใดโปรแกรมเมอร์จึงควรเรียนรู้วิชา CS และพยายามปรับปรุงในด้านนี้ .

วิทยาการคอมพิวเตอร์ - ทำไมต้องสอน?

“การเขียนโปรแกรมไม่ใช่สิ่งที่คุณรู้ มันเป็นสิ่งที่คุณคิดออกได้” Chris Pine ผู้เชี่ยวชาญด้านการเขียนโปรแกรม ผู้แต่งหนังสือและบทช่วยสอน “ในบางแง่ การเขียนโปรแกรมก็เหมือนกับการวาดภาพ ในตอนแรกคุณมีเพียงผืนผ้าใบเปล่าและวัสดุเท่านั้น คุณต้องใช้วิทยาศาสตร์ ศิลปะ และงานฝีมือผสมผสานกันเพื่อค้นหาว่าจะทำอย่างไรกับเรื่องทั้งหมดนี้” Andrew Hunt ผู้แต่งหนังสือขายดี The Pragmatic Programmer และผู้ร่วมเขียน Agile Manifesto ไม่ยากที่จะเข้าใจว่าเรากำลังมุ่งหน้าไปทางไหน ในการเป็นโปรแกรมเมอร์ที่เก่งจริงๆ หรือเพียงแค่ต้องอยู่เหนือโค้ดเดอร์ธรรมดาอย่างน้อยหนึ่งขั้น คุณต้องมีความรู้ที่กว้างที่สุดและในเวลาเดียวกันก็ค่อนข้างลึกซึ้งในด้านต่างๆ นอกเหนือจากภาษาการเขียนโปรแกรมด้วยตัวมันเอง และความชำนาญในสาขาวิชาที่รวมอยู่ในแนวคิดของ CS ก็เป็นหนึ่งในสถานที่แรกๆ ที่นี่

สาขาวิชาวิทยาการคอมพิวเตอร์

มาดูกันว่าสาขาวิชาใดบ้างที่รวมอยู่ในสาขาวิทยาการคอมพิวเตอร์ หากต้องการคำอธิบายสั้น ๆ เกี่ยวกับสาขาวิชาพร้อมเหตุผลในการศึกษาเราจะเพิ่มคำแนะนำสำหรับหนังสือที่ดีที่สุดและชุดวิดีโอบรรยายฟรีที่ดีที่สุดเกี่ยวกับเรื่องนี้จากบางทีคู่มือภาษาอังกฤษ ที่ดีที่สุด สำหรับวิทยาการคอมพิวเตอร์ที่เขียนโดย Oz Nova และ Myles Byrne อาจารย์ที่ School of Computer Science Bradfield ในซานฟรานซิสโก
  • การเขียนโปรแกรม

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

    หนังสือที่ดีที่สุด:โครงสร้างและการตีความโปรแกรมคอมพิวเตอร์ ผู้เขียน: เจอรัลด์ ซัสแมน และฮัล อาเบลสัน

    А на JavaRush, кстати говоря, всем желающим доступен для изучения легендарный гарвардский курс “CS50. Основы программирования”, fully переведенный на русский.

    Лучшая видеолекция: Brian Harvey’s Berkeley CS 61A

  • Алгоритмы и структуры данных

    Знание наиболее распространенных алгоритмов и структур данных помогает решать разного рода задачи, а это очень важно в любой из областей компьютерных наук, включая, конечно, и разработку программного обеспечения.

    Лучшая книга: The Algorithm Design Manual. Author: Стивен Скьена (Steven Skiena).

    Лучшая видеолекция: лекции Стивена Скьены

  • Компьютерная архитектура

    Знание компьютерной архитектуры, то есть понимание того, How на самом деле работает компьютер, является еще одной важной частичкой пазла, без которой попытки построения программных конструкций и моделей часто оказываются неудачными.

    Лучшая книга: “Архитектура компьютера и проектирование компьютерных систем” (Computer Organization and Design). Authorы: Дэвид Паттерсон (David Patterson) и Джон Хеннеси (John Hennessy).

    Лучшая видеолекция: Berkeley CS 61C

  • Операционные системы

    Практически весь code, написанный программистом, будет выполняться операционной системой, поэтому знание принципов работы ОС также является важным элементом.

    Лучшая книга: “Введение в операционные системы” (Operating Systems: Three Easy Pieces). Authorы: Андреа Арпачи-Дюссо (Andrea Arpaci-Dusseau) и Ремзи Арпачи-Дюссо (Remzi Arpaci-Dusseau).

    Лучшая видеолекция: Berkeley CS 162

  • Компьютерные сети

    Мало что в современном ИТ может обойтись без использования Интернета, поэтому ИТ-специалистам важно понимать, How Всемирная сеть работает, чтобы использовать ее потенциал по полной.

    Лучшая книга: Computer Networking: A Top-Down Approach. Authorы: Джеймс Куросе (James Kurose), Кит Росс ( Keith Ross).

    Лучшая видеолекция: Stanford CS 144

  • Математика для computer science

    Поскольку компьютерные науки, по сути, являются ответвлением прикладной математики, знание этого предмета тоже будет очень полезным практически в любой профессии, связанной с программированием. А также даст вам конкурентное преимущество перед теми, кто этой дисциплиной не владеет.

    Лучшая книга: Mathematics for Computer Science. Authorы: Альберт Р. Мейер (Albert R. Meyer), Эрик Леман (Eric Lehman) и Фрэнк Томсон Лейтон (Frank Thomson Leighton).

    Лучшая видеолекция: Tom Leighton’s MIT 6.042J

  • Базы данных

    Базы данных — относительно новая область компьютерных наук, и экспертов в ней по-прежнему не так уж много. Данные — еще один ключевой элемент CS, потому что они лежат в основе большинства значимых программ, но мало кто понимает, How на самом деле работают системы баз данных.

    หนังสือที่ดีที่สุด:การอ่านในระบบฐานข้อมูล ผู้เขียน: โจเซฟ เอ็ม. เฮลเลอร์สไตน์ และไมเคิล สโตนเบรกเกอร์

    วิดีโอบรรยายยอดเยี่ยม: Berkeley CS 186 ของ Joe Hellerstein จะเปลี่ยนจาก coder ธรรมดามาเป็นนักพัฒนาสุดเจ๋งได้อย่างไร?  การเรียนรู้วิทยาการคอมพิวเตอร์ - 2

  • ภาษาและคอมไพเลอร์

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

    หนังสือที่ดีที่สุด:คอมไพเลอร์: หลักการ เทคนิค และเครื่องมือ ผู้แต่ง: Alfred Aho, Monica S. Lam, Ravi Sethi, Jeffrey Ullman

    วิดีโอบรรยายที่ดีที่สุด:หลักสูตรของ Alex Aiken เรื่อง Lagunita

  • ระบบแบบกระจาย

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

    หนังสือที่ดีที่สุด: Distributed Systems ฉบับที่ 3 ผู้เขียน: Maarten van Steen และ Andrew S. Tanenbaum

    วิดีโอบรรยายที่ดีที่สุด: CS 436: ระบบคอมพิวเตอร์แบบกระจาย

เคล็ดลับการเรียนวิทยาการคอมพิวเตอร์

และสุดท้ายนี้ คำแนะนำสำหรับผู้ที่กำลังวางแผนจะเริ่มเรียนสาขาวิชาวิทยาการคอมพิวเตอร์ จะเปลี่ยนจาก coder ธรรมดามาเป็นนักพัฒนาสุดเจ๋งได้อย่างไร?  การเรียนรู้วิทยาการคอมพิวเตอร์ - 3
  1. พัฒนาทักษะการปฏิบัติในสาขาวิชา CS

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

  2. อย่าผัดวันประกันพรุ่ง

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

    จะเปลี่ยนจาก coder ธรรมดามาเป็นนักพัฒนาสุดเจ๋งได้อย่างไร?  การเรียนรู้วิทยาการคอมพิวเตอร์ - 4
  3. อย่าจำกัดตัวเองอยู่เพียงหลักสูตรเดียว

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

  4. หาคนที่มีใจเดียวกัน

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

  5. เรียนรู้การเขียนคำ ไม่ใช่แค่โค้ด

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

ความคิดเห็น
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION