JavaRush /Blog Java /Random-PL /Jak ze zwykłego kodera zmienić się w fajnego programistę?...

Jak ze zwykłego kodera zmienić się w fajnego programistę? Nauka informatyki

Opublikowano w grupie Random-PL
Współczesny świat IT i tworzenia oprogramowania jest dość trudny – wysokie wymagania co do kwalifikacji programistów, ciągłe zmiany i rosnąca konkurencja zmuszają specjalistów pracujących w tej dziedzinie do ciągłego dokształcania się i rozwoju. Nawet po to, aby pozostać poszukiwanym specjalistą, potrzeba ciągłego uczenia się, bo „zapomnieć o życiu” jest tak proste, jak obieranie gruszek. Jak ze zwykłego kodera zmienić się w fajnego programistę?  Nauka informatyki - 1W publikacjach na JavaRush staramy się pomóc czytelnikom w pełnym rozwoju i samodzielnej nauce, aby stać się jak najbardziej konkurencyjnymi w kuszącym świecie rozwoju IT. W dzisiejszym artykule będziemy rozmawiać o samokształceniu w bardzo szerokiej dyscyplinie – informatyce. Co dokładnie kryje się pod pojęciem informatyki (CS), przyjrzymy się nieco później, ale na razie spróbujmy odpowiedzieć na pytanie: po co właściwie programista powinien uczyć się przedmiotów CS i dążyć do doskonalenia się w tym obszarze .

Informatyka - po co uczyć?

„Programowanie nie jest czymś, co się zna. To coś, co możesz rozgryźć. Chris Pine, ekspert programowania, autor książek i tutoriali. „W pewnym sensie programowanie jest jak rysowanie. Na początku masz tylko czyste płótno i materiały. Aby dowiedzieć się, co z tym wszystkim zrobić, trzeba zastosować połączenie nauki, sztuki i rzemiosła”. Andrew Hunt, autor bestsellerowej książki Pragmatic Programmer i współautor Manifestu Agile. Nietrudno zrozumieć, dokąd zmierzamy. Aby zostać naprawdę dobrym programistą, lub po prostu wznieść się choć o krok ponad zwykłego programistę, trzeba oprócz samych języków programowania posiadać jak najszerszą, a zarazem dość głęboką wiedzę z różnych dziedzin. A opanowanie dyscyplin objętych koncepcją CS jest tutaj jednym z pierwszych miejsc.

Dyscypliny informatyki

Przyjrzyjmy się, jakie przedmioty wchodzą w zakres informatyki. Do krótkich opisów dyscyplin wraz z powodami ich studiowania dodamy rekomendacje najlepszej książki i najlepszego cyklu bezpłatnych wykładów wideo na ten temat z być może najlepszego anglojęzycznego przewodnika po informatyce, napisanego przez Oza Nova i Mylesa Byrne, nauczyciele w School of Computer Science Bradfield w San Francisco.
  • Programowanie

    Programowanie jest podstawą i podstawową dyscypliną informatyki, większość studentów rozpoczyna od niego naukę CS. Najlepsze kursy programowania CS przydadzą się nie tylko początkującym, ale także doświadczonym programistom, którym ucząc się go po raz pierwszy mogło umknąć pewne koncepcje i modele programowania.

    Najlepsza książka: „Struktura i interpretacja programów komputerowych”. Autorzy: Gerald Sussman i Hal Abelson.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • Базы данных

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

    Najlepsza książka: Odczyty w systemach baz danych. Autorzy: Joseph M. Hellerstein i Michael Stonebraker.

    Najlepszy wykład wideo: Berkeley CS 186 Joe Hellersteina Jak ze zwykłego kodera zmienić się w fajnego programistę?  Nauka informatyki - 2

  • Języki i kompilatory

    Zrozumienie, jak technicznie działają języki programowania i kompilatory, pozwala ulepszyć swój kod i umiejętności programowania. Ułatwia także naukę nowych języków, co w dłuższej perspektywie jest również niezwykle ważne dla każdego programisty.

    Najlepsza książka: Kompilatory: zasady, techniki i narzędzia. Autorzy: Alfred Aho, Monica S. Lam, Ravi Sethi, Jeffrey Ullman.

    Najlepszy wykład wideo: kurs Alexa Aikena na Lagunita

  • Systemy rozproszone

    Obecnie większość systemów jest rozproszona. Komputery i programy stają się coraz bardziej złożone, a znajomość systemów rozproszonych będzie przydatna, aby zapewnić prawidłowe i płynne działanie oprogramowania.

    Najlepsza książka: Systemy rozproszone, wydanie 3. Autorzy: Maarten van Steen i Andrew S. Tanenbaum.

    Najlepszy wykład wideo: CS 436: Rozproszone systemy komputerowe

Wskazówki dotyczące studiowania informatyki

I na koniec kilka rad dla tych, którzy planują rozpocząć naukę w dyscyplinach CS. Jak ze zwykłego kodera zmienić się w fajnego programistę?  Nauka informatyki - 3
  1. Rozwijaj praktyczne umiejętności w dyscyplinach CS

    Jedną z zalet CS, podobnie jak innych kursów informatycznych, jest to, że zdobyte właśnie umiejętności teoretyczne można od razu zastosować w praktyce. Nie zapominaj o tym i zastępuj teorię praktyką, aby osiągnąć najlepsze rezultaty.

  2. Nie zwlekaj

    Informatyka to dość złożony przedmiot, którego studiowanie jest łatwe dla niewielu osób, szczególnie na początku. Dlatego też rozpoczynając naukę dyscyplin CS, należy unikać prokrastynacji – nie odkładaj opanowania teorii, rozwiązywania problemów i praktyki na później, bo to nie tylko wydłuży naukę, ale i najprawdopodobniej będzie mniej efektywne.

    Jak ze zwykłego kodera zmienić się w fajnego programistę?  Nauka informatyki - 4
  3. Nie ograniczaj się do jednego kursu

    Nie spodziewaj się, że będziesz w stanie zdobyć całą wiedzę potrzebną w danym przedmiocie w ramach jednego kursu, niezależnie od tego, jak dobry jest. Zawsze najlepiej jest sięgnąć do co najmniej kilku źródeł informacji, aby uzyskać szersze zrozumienie tematu.

  4. Znajdź ludzi o podobnych poglądach

    Brzmi to trochę banalnie, ale efektywną naukę, podobnie jak robienie wielu innych rzeczy w życiu, najlepiej wykonywać w grupie ludzi o podobnych poglądach. Znalezienie grupy do nauki CS może być korzystne z wielu powodów. Pomoże Ci to efektywniej się uczyć, wspólnie rozwiązywać zadania i problemy, porównywać postępy w nauce i umiejętności stosowania nowej wiedzy z innymi.

  5. Naucz się pisać słowa, a nie tylko kod

    Kolejna częsta rada wielu ekspertów dla programistów studiujących CS, aby udoskonalić swoje umiejętności i podnieść swój poziom zawodowy: naucz się pisać (nie kodować), czyli układać słowa w zdania i komponować teksty ze zdań. Ta umiejętność jest dość ważna dla każdego programisty, a jej brak utrudni postęp nie tylko w studiowaniu informatyki, ale także w innych aspektach programowania jako zawodu.

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