JavaRush /Java Blog /Random-TL /Paano maging isang cool na developer mula sa isang ordina...

Paano maging isang cool na developer mula sa isang ordinaryong coder? Pag-aaral ng Computer Science

Nai-publish sa grupo
Ang modernong mundo ng IT at pag-unlad ng software ay medyo malupit - mataas na mga kinakailangan para sa mga kwalipikasyon ng mga coder, patuloy na pagbabago at lumalagong kumpetisyon na puwersa ng mga espesyalista na nagtatrabaho sa larangang ito upang patuloy na turuan ang kanilang sarili at umunlad. Ang patuloy na pag-aaral ay kinakailangan kahit na para lamang manatiling isang hinahangad na espesyalista, dahil ang "pagkuha sa likod ng buhay" ay kasingdali ng paghihimay ng mga peras. Как из обычного codeера стать крутым разработчиком? Изучаем Computer Science - 1Sa mga publikasyon sa JavaRush, sinisikap naming tulungan ang mga mambabasa na ganap na bumuo at matuto sa sarili upang maging mapagkumpitensya hangga't maaari sa mapang-akit na mundo ng pag-unlad ng IT. Sa artikulong ngayon ay pag-uusapan natin ang tungkol sa self-education sa isang napakalawak na disiplina - Computer Science. Titingnan natin kung ano ang eksaktong kasama sa konsepto ng computer science (CS) sa ibang pagkakataon, ngunit sa ngayon, subukan nating sagutin ang tanong: bakit, sa katunayan, dapat matuto ang isang programmer ng mga paksa ng CS at magsikap na mapabuti sa lugar na ito. .

Computer Science - bakit nagtuturo?

"Ang programming ay hindi isang bagay na alam mo. Ito ay isang bagay na maaari mong malaman." Chris Pine, dalubhasa sa programming, may-akda ng mga libro at mga tutorial. "Sa ilang mga paraan, ang programming ay tulad ng pagguhit. Sa una, blangko lang ang canvas at materyales mo. Kailangan mong gumamit ng kumbinasyon ng agham, sining at sining para malaman kung ano ang gagawin sa lahat ng ito.” Andrew Hunt, may-akda ng bestselling book na The Pragmatic Programmer at co-author ng Agile Manifesto. Hindi mahirap intindihin kung saan tayo patungo. Upang maging isang napakahusay na programmer, o para lamang tumaas ng hindi bababa sa isang hakbang sa itaas ng isang ordinaryong coder, kailangan mong magkaroon ng pinakamalawak at kasabay na medyo malalim na kaalaman sa iba't ibang lugar, bilang karagdagan sa mga programming language mismo. At ang mastery ng mga disiplina na kasama sa konsepto ng CS ay isa sa mga unang lugar dito.

Mga disiplina sa Computer Science

Tingnan natin kung anong mga paksa ang kasama sa larangan ng computer science. Sa maikling paglalarawan ng mga disiplina na may mga dahilan para sa pag-aaral ng mga ito, magdaragdag kami ng mga rekomendasyon para sa pinakamahusay na libro at ang pinakamahusay na serye ng mga libreng video lecture sa paksa mula sa, marahil, ang pinakamahusay na gabay sa wikang Ingles sa computer science, na isinulat nina Oz Nova at Myles Byrne, mga guro sa School of Computer Science Bradfield sa San Francisco.
  • Programming

    Ang programming ay ang batayan at pangunahing disiplina ng computer science; karamihan sa mga mag-aaral ay nagsisimulang mag-aral ng kursong CS dito. Ang pinakamahusay na mga kurso sa programming ng CS ay magiging kapaki-pakinabang hindi lamang para sa mga nagsisimula, kundi pati na rin para sa mga may karanasan na mga coder na maaaring nakaligtaan ang ilang mga konsepto at modelo ng programming kapag natutunan ito sa unang pagkakataon.

    Pinakamahusay na aklat: Istraktura at Interpretasyon ng Mga Programa sa Kompyuter. Mga May-akda: Gerald Sussman at 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 на самом деле работают системы баз данных.

    Лучшая книга: Readings in Database Systems. Authorы: Джозеф М. Хеллерштейн (Joseph M. Hellerstein) и Майкл Стоунбрейкер (Michael Stonebraker).

    Лучшая видеолекция: Joe Hellerstein’s Berkeley CS 186 Как из обычного codeера стать крутым разработчиком? Изучаем Computer Science - 2

  • Языки и компиляторы

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

    Лучшая книга: “Компиляторы: принципы, технологии и инструменты” (Compilers: Principles, Techniques and Tools). Authorы: Альфред Ахо (Alfred Aho), Моника С. Лам (Monica S. Lam), Рави Сети (Ravi Sethi), Джеффри Ульман (Jeffrey Ullman).

    Лучшая видеолекция: Alex Aiken’s course on Lagunita

  • Распределенные системы

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

    Лучшая книга: Distributed Systems, 3rd Edition. Authorы: Мартен ван Стин (Maarten van Steen) и Эндрю С. Таненбаум (Andrew S. Tanenbaum).

    Лучшая видеолекция: CS 436: Distributed Computer Systems

Советы для изучения Computer Science

Ну и напоследок несколько советов для тех, кто планирует начать изучение дисциплин CS. Как из обычного codeера стать крутым разработчиком? Изучаем Computer Science - 3
  1. Развивайте практические навыки в дисциплинах CS

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

  2. Не прокрастинируйте

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

    Как из обычного codeера стать крутым разработчиком? Изучаем Computer Science - 4
  3. Не ограничивайтесь одним курсом

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

  4. Найдите единомышленников

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

  5. Учитесь писать слова, а не только code

    Еще один распространенный совет от многих экспертов, для тех программистов, которые изучают CS для улучшения своих навыков и повышения профессионального уровня: учиться писать (а не codeить), то есть складывать слова в предложения и составлять из предложений тексты. Этот навык достаточно важен для любого разработчика, а его отсутствие будет мешать прогрессировать не только в изучении компьютерных наук, но и в других аспектах программирования How профессии.

Mga komento
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION