Jak najlepiej zacząć swoją przygodę z programowaniem

in #programming7 years ago

Cześć, steemitowe ludki.

Dziś chciałbym napisać parę słów o tym, jak najlepiej, moim zdaniem, zacząć swoją przygodę z programowaniem, bo sam kiedyś zaczynał i doskonale wiem jakie męczące i mylące może być znalezienie odpowiedniego materiału żeby zacząć. Ileż ja czasu na to zmarnowałem, to głowa mała. Dlatego też, żeby pomóc nieco innym, piszę ten post.

No to jak?

Odpowiedź na to pytanie jest dość prosta. Otóż jest nią kurs CS50 od Harvardu.

O co chodzi?

Praktycznie każda uczelnia ze ścisłej światowej czołówki udostępnia za darmo tak zwane MOOC- Masowy otwarty kurs online (ang. massive open online course, MOOC, /muːk/) – kurs online otwarty dla nieograniczonej liczby uczestników, dostępny poprzez stronę internetową. Wśród nich znajdują się między innymi takie instytucje jak Harvard, MIT, Stanford i tak dalej.

I o jednym z takich właśnie kursów chciałbym dziś porozmawiać. Jest nim właśnie CS50 od Harvardu prowadzone na platformie edX.


Jest to kurs wstępny do Informatyki. Poruszone zostają tam tematy związane nie tylko z programowaniem, ale ogółem nauki o przetwarzaniu informacji - bo wbrew temu, co spora część osób myśli, informatyka nie jest nauką o programowaniu, tylko o przetwarzaniu informacji. Niestety większość osób żyje w błędzie i nie jest tego świadoma.

Na razie jednak niech o tym kursie powie nam troszkę jego prowadzący - David J. Malan - wykładowca na uniwersytecie Harvardu i wspaniały nauczyciel.

Czym jest CS50

Zanim przejdziemy dalej, mała notka: filmik jest po angielsku. To może zrazić niektórych. Niesłusznie - jest taki jeden język, który każdy programista musi znać, niezależnie od branży. Jest nim język angielski. To język internetu i język informatyki. Na nim opierają się wszystkie znaczące języki programowania, w nim piszemy dokumentacje dużych projektów, w nim się porozumiewamy. Jego znajomość jest konieczna, zatem jeśli jeszcze nie jesteś w nim zbyt biegły, zacznij swoją naukę już teraz. A o tym, jak to zrobić, napiszę wkrótce. :)

W każdym razie.

Dlaczego CS50?

Powodów jest wiele, postaram się wymienić tutaj kilka z nich

  1. CS50 jest bardzo przystępny nawet dla tych, którzy nie posiadają jeszcze żadnej wiedzi z zakresu informatyki. Spora część uczestników kursu nigdy przedtem nie miała styczności z programowaniem i to samo zakładają jego twórcy. Umiesz włączyć komputer, odpalić przeglądarkę i puścić filmik na YT? Jesteś gotowy!

  2. Omawiane są w nim bardzo różnorodne rzeczy. Daje to nam szeroki przekrój całej informatyki, nieco wiedzy z każdej dziedziny jak i pozwala zobaczyć w czym się najlepiej czujemy i co nas interesuje. Takie doświadczenie jest bezcenne.

  3. Poznasz tam podstawy C, Pythona, HTML&CSS, JS nawet Scratcha. CS50 nie jest kursem, który omawia tylko jeden język i koniec. Jak już wspomniałem, jest on raczej bardziej przekrojowy. Uczy cię to używania właściwych narzędzi do właściwych zadań. Jak to mówią - kiedy masz młotek, wszystko wydaje ci się gwoździem. Tutaj tak nie ma. Zależnie od zadania, które mamy do wykonania, narzędzie którego użyjemy będzie inne. W czym innym przecież pisze się szybkie biblioteki do obliczeń matematycznych a w czym innym backend jakiejś aplikacji.

  4. Poznasz podstawy algorytmów, struktur danych. Te dla niektórych nudne rzeczy są często bardzo przydatne i niezbędne. Podstawową wiedzę o nich musi mieć każdy programista, a takową można znaleźć w tym kursie.

  5. Dowiesz się nieco z tego, jak twój kod działa 'pod spodem' - dzięki temu, że CS50 zahacza o elementy nieco nisko poziomowe możemy przekonać się jak działa nasz program od wewnątrz. Sama wiedza o tym, że klikasz i działa nie wystarcza, jeśli chcesz być dobrym programistą. Musisz wiedzieć dlaczego coś działa, jak zostało to zaprojektowane i po co. W tym kursie troszkę się tego dowiesz.

  6. CS50 dostarcza gotowe środowisko. Och ileż to postów codziennie powstaje na różnych forach internetowych, gdzie początkujący programiści pytają się jakie IDE/edytor tekstu wybrać do nauki. Tutaj nie ma tego dylematu. CS50 dostarcza własne środowisko które jest całkiem przyjemne dodam.

  7. Nauczysz się podstaw linuxa. Mimo tego, że nie każda firma z niego korzysta, to linux jest jednak ważnym elementem świata programistycznego. Każdy powinien znać przynajmniej podstawowe komendy służące do poruszania się po nim. Dzięki cs50 możesz bezboleśnie zaznajomić się z tym systemem. Przy okazji nie musisz też niczego instalować - całe twoje środowisko jak i system linux będą dostępne z poziomu twojej przeglądarki!

  8. Kurs podzielony jest na kilkanaście tygodni a w każdym z nich czekają na ciebie prace domowe, które po wykonaniu zostaną sprawdzone przez ekipę CS50. Jest to fajna okazja, by móc uzyskać feedback do swojego kodu. Dzięki temu możesz realnie monitorować swój postęp.

  9. Zanurkujesz nieco w świat kryptografii, hackingu czy informatyki śledczej. Nawet takie tematy się tam przewijają!

  10. Dowiesz się nieco o VCS - mianowicie o Git. Jest to niezastąpione narzędzie wykorzystywane w każdej poważnej firmie. Jest ono niezbędne jeśli chcesz kiedykolwiek stworzyć jakiś poważny projekt czy znaleźć zatrudnienie w zawodzie.

  11. Ten kurs ma naprawdę dużą społeczność i popularność. Bez problemu możesz znaleźć kogoś z kim wspólnie możecie się uczyć i pomagać sobie nawzajem!

  12. Ostatnim punktem będzie fakt, że CS50 to po prostu świetny, doskonale przygotowany kurs. Sprawia on naprawdę dużo frajdy, tematy i zadania są niebanalne i ciekawe.

Podsumowując krótko - CS50 to naprawdę dobry kurs dla każdego początkującego i aspirującego programisty. Jest on szeroko zakrojony i ciekawy, pozwalający się rozwinąć.

Także jeśli chcecie zacząć swoją przygodę z programowaniem to wybór jest prosty - CS50! Jeszcze raz trzymajcie link.

CS50

A teraz hop do pracy!

Sort:  

Bardzo szkoda, że polskie uczelnie wyższe nie tworzą takich kursów na zbliżonym poziomie. Może się mylę i ktoś rzuci linkiem?

Raczej nie. Jakieś tam materiały można znaleźć na stronie http://wazniak.mimuw.edu.pl/index.php?title=Strona_g%C5%82%C3%B3wna
ale nie jest ich zbyt dużo.
Jest jeszcze https://www.copernicuscollege.pl/ ale tam też ilość kursów zostawia sporo do życzenia.
Za niedługo napiszę cały artykuł nt takich właśnie kursików.

Coin Marketplace

STEEM 0.17
TRX 0.15
JST 0.028
BTC 60930.55
ETH 2367.07
USDT 1.00
SBD 2.48