JavaRush /Blog Java /Random-VI /Làm thế nào để biến từ một lập trình viên bình thường thà...

Làm thế nào để biến từ một lập trình viên bình thường thành một nhà phát triển tuyệt vời? Học Khoa học Máy tính

Xuất bản trong nhóm
Thế giới CNTT và phát triển phần mềm hiện đại khá khắc nghiệt - yêu cầu cao về trình độ của lập trình viên, những thay đổi liên tục và sự cạnh tranh ngày càng tăng buộc các chuyên gia làm việc trong lĩnh vực này phải không ngừng học hỏi và phát triển. Cần phải học hỏi liên tục ngay cả để đơn giản trở thành một chuyên gia được săn đón, bởi vì “đi sau cuộc sống” dễ như bóc vỏ lê. Làm thế nào để biến từ một lập trình viên bình thường thành một nhà phát triển tuyệt vời?  Học Khoa học Máy tính - 1Trong các ấn phẩm về JavaRush, chúng tôi cố gắng giúp người đọc phát triển toàn diện và tự học để trở nên cạnh tranh nhất có thể trong thế giới phát triển CNTT đầy cám dỗ. Trong bài viết hôm nay chúng ta sẽ nói về việc tự giáo dục trong một lĩnh vực rất rộng - Khoa học Máy tính. Chúng ta sẽ xem xét chính xác những gì được bao gồm trong khái niệm khoa học máy tính (CS) sau đó, nhưng bây giờ chúng ta hãy thử trả lời câu hỏi: trên thực tế, tại sao một lập trình viên nên học các môn CS và cố gắng cải thiện lĩnh vực này .

Khoa học Máy tính - tại sao lại dạy?

“Lập trình không phải là thứ bạn biết. Đó là điều bạn có thể tìm ra.” Chris Pine, chuyên gia lập trình, tác giả sách và hướng dẫn. “Ở một khía cạnh nào đó, lập trình cũng giống như vẽ. Lúc đầu, bạn chỉ có một khung vẽ và vật liệu trống. Bạn cần sử dụng sự kết hợp giữa khoa học, nghệ thuật và thủ công để tìm ra cách giải quyết tất cả những điều này.” Andrew Hunt, tác giả cuốn sách bán chạy Lập trình viên thực dụng và đồng tác giả Tuyên ngôn Agile. Không khó để hiểu chúng ta đang hướng tới đâu. Để trở thành một lập trình viên thực sự giỏi, hoặc đơn giản là vượt lên trên một lập trình viên bình thường ít nhất một bước, bạn cần phải có kiến ​​thức rộng nhất và đồng thời khá sâu về nhiều lĩnh vực khác nhau, ngoài bản thân các ngôn ngữ lập trình. Và việc nắm vững các nguyên tắc có trong khái niệm CS là một trong những vị trí đầu tiên ở đây.

Các môn khoa học máy tính

Chúng ta hãy xem những môn học nào được bao gồm trong lĩnh vực khoa học máy tính. Để mô tả ngắn gọn các môn học kèm theo lý do nghiên cứu chúng, chúng tôi sẽ thêm các đề xuất về cuốn sách hay nhất và loạt bài giảng video miễn phí hay nhất về chủ đề này, có lẽ là hướng dẫn bằng tiếng Anh tốt nhất về khoa học máy tính, được viết bởi Oz Nova và Myles. Byrne, giáo viên tại Trường Khoa học Máy tính Bradfield ở San Francisco.
  • Lập trình

    Lập trình là nền tảng và nguyên tắc cơ bản của khoa học máy tính; hầu hết sinh viên bắt đầu học khóa học CS với nó. Các khóa học lập trình CS tốt nhất sẽ hữu ích không chỉ cho người mới bắt đầu mà còn cho những lập trình viên có kinh nghiệm, những người có thể đã bỏ lỡ một số khái niệm và mô hình lập trình nhất định khi học lần đầu.

    Cuốn sách hay nhất: Cấu trúc và giải thích các chương trình máy tính. Tác giả: Gerald Sussman và Hal Abelson.

    А на 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 на самом деле работают системы баз данных.

    Cuốn sách hay nhất: Bài đọc trong hệ thống cơ sở dữ liệu. Tác giả: Joseph M. Hellerstein và Michael Stonebraker.

    Video bài giảng hay nhất: Berkeley CS 186 của Joe Hellerstein Làm thế nào để biến từ một lập trình viên bình thường thành một nhà phát triển tuyệt vời?  Học Khoa học Máy tính - 2

  • Ngôn ngữ và trình biên dịch

    Hiểu cách các ngôn ngữ lập trình và trình biên dịch hoạt động về mặt kỹ thuật cho phép bạn cải thiện kỹ năng lập trình và mã của mình. Nó cũng giúp việc học ngôn ngữ mới trở nên dễ dàng hơn, điều này cũng cực kỳ quan trọng đối với bất kỳ nhà phát triển nào về lâu dài.

    Cuốn sách hay nhất: Trình biên dịch: Nguyên tắc, Kỹ thuật và Công cụ. Tác giả: Alfred Aho, Monica S. Lam, Ravi Sethi, Jeffrey Ullman.

    Video bài giảng hay nhất: Khóa học của Alex Aiken về Lagunita

  • Hệ thống phân phối

    Ngày nay, hầu hết các hệ thống đều được phân phối. Máy tính và các chương trình đang trở nên phức tạp hơn và kiến ​​thức về hệ thống phân tán sẽ hữu ích để đảm bảo phần mềm của bạn chạy chính xác và trơn tru.

    Cuốn sách hay nhất: Hệ thống phân tán, tái bản lần thứ 3. Tác giả: Maarten van Steen và Andrew S. Tanenbaum.

    Bài giảng video hay nhất: CS 436: Hệ thống máy tính phân tán

Lời khuyên khi học Khoa học Máy tính

Và cuối cùng là một số lời khuyên dành cho những ai đang có ý định bắt đầu học các ngành CS. Làm thế nào để biến từ một lập trình viên bình thường thành một nhà phát triển tuyệt vời?  Học Khoa học Máy tính - 3
  1. Phát triển kỹ năng thực hành trong các môn CS

    Một trong những ưu điểm của CS, giống như các khóa học CNTT khác, là những kỹ năng lý thuyết bạn vừa học được có thể áp dụng ngay vào thực tế. Đừng quên điều này và xen kẽ lý thuyết với thực hành để đạt được kết quả tốt nhất.

  2. Đừng trì hoãn

    Khoa học máy tính là một môn học khá phức tạp, rất ít người có thể nghiên cứu nó, đặc biệt là những người mới bắt đầu học. Đó là lý do tại sao khi bắt đầu học các bộ môn CS, bạn cần tránh trì hoãn - đừng trì hoãn việc nắm vững lý thuyết, giải quyết vấn đề và thực hành sau này, vì điều này không những khiến việc học rất lâu mà rất có thể sẽ không hiệu quả bằng.

    Làm thế nào để biến từ một lập trình viên bình thường thành một nhà phát triển tuyệt vời?  Học Khoa học Máy tính - 4
  3. Đừng giới hạn bản thân trong một khóa học

    Đừng mong đợi có thể thu được tất cả kiến ​​thức bạn cần về một môn học chỉ từ một khóa học, cho dù nó tốt đến đâu. Tốt nhất bạn nên tham khảo ít nhất một số nguồn thông tin để hiểu rõ hơn về chủ đề này.

  4. Tìm người cùng chí hướng

    Nghe có vẻ hơi ngô nghê nhưng học tập hiệu quả, cũng như làm nhiều việc khác trong cuộc sống, được thực hiện tốt nhất khi là thành viên của một nhóm những người cùng chí hướng. Tìm một nhóm để nghiên cứu CS có thể mang lại lợi ích vì một số lý do. Điều này sẽ giúp bạn học hiệu quả hơn, cùng nhau giải quyết các nhiệm vụ và vấn đề, so sánh tiến độ học tập và kỹ năng áp dụng kiến ​​thức mới của bạn với người khác.

  5. Học cách viết từ, không chỉ viết mã

    Một lời khuyên phổ biến khác từ nhiều chuyên gia dành cho những lập trình viên học CS để nâng cao kỹ năng và nâng cao trình độ chuyên môn: học viết (không phải code), tức là ghép từ thành câu và soạn văn bản từ câu. Kỹ năng này khá quan trọng đối với bất kỳ nhà phát triển nào và sự vắng mặt của nó sẽ cản trở sự tiến bộ không chỉ trong nghiên cứu khoa học máy tính mà còn trong các khía cạnh khác của lập trình như một nghề.

Bình luận
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION