Miksi suosittelen Harvard's CS50x verkkokurssia jokaiselle itseoppineelle kehittäjälle

CS50 ’ s Introduction to Computer Science on ilmainen verkkokurssi, joka perustuu yhteen Harvardin yliopiston suosituimmista kampuksen kursseista. Tällä kurssilla voit tutustua tietojenkäsittelytieteen ydinkäsitteisiin, kuten:

  • algoritmit-binary haku, kupla lajitella, yhdistää lajitella jne.
  • tietorakenteisiin liittyvät luettelot, hajautustaulut jne.
  • Memory-stack ja heap

käytetyt kielet ovat C, Python, SQL sekä eräät muut sen perusteella, mitä lopulliselle raidalle valitsee. On lukemattomia ilmaisia CS kursseja saatavilla verkossa, mutta tämä on kaikkein nautittavaa ja harjoittaa yksi Olen löytänyt tähän mennessä.

kirjoitin otsikkoon ”itseoppinut kehittäjä”, koska arvelin, että niillä, joilla ei ole muodollista CS-koulutusta, on vähemmän todennäköisesti ollut mahdollisuutta altistua näille aiheille syvällisesti. Mutta tietenkin suosittelen sitä kaikille, jotka ovat kiinnostuneita näistä aiheista.

tässä on kolme kohtaa, joita rakastan tästä kurssista, ja kaksi mahdollista miinusta.

ammattilaiset

  1. heidän filosofiansa
  2. luentoja on ilo katsella
  3. tehtävät ovat luovia

(mahdolliset) miinukset

  1. ei välttämättä ole hyötyä päivittäisessä työssä
  2. et saa nähdä henkilöstön toteuttamia ratkaisuja työtehtäviin

plussat

1. Heidän filosofiansa

tämä kurssi on suunnattu kaikille ohjelmatason ihmisille. Ne kertovat alkuviikosta:

tällä kurssilla ei ole loppujen lopuksi merkitystä niinkään sillä, mihin päädyt suhteessa luokkatovereihisi, vaan sillä, mihin päädyt suhteessa itseesi, kun aloitit.

ihan vain viitteeksi, minulla on 1 vuoden työkokemus, joskaan ei yhtään C-tai Python-kieltä. Jotkut työtehtävät olivat minulle edelleen hyvin vaikeita, ja yhden viikon kurssityö kesti noin 10 tuntia, materiaalista riippuen (Ruby dev, Python-jutut olivat paljon intuitiivisempia kuin C!).

kurssi tekee hienoa työtä olemalla aloittelijaystävällinen ja haastava samanaikaisesti, koska luennot opastavat sisällön läpi hyvin, mutta tehtävät vaativat todella ajattelua ja enemmän tutkimusta. Usein he myös antavat sinulle mahdollisuuden valita kahdesta tehtävästä riippuen siitä, oletko ” mukavampi ”vai”vähemmän mukava”.

2. Luentoja on ilo katsoa

sen lisäksi, että ne ovat informatiivisia, professori David Malanin luennot ovat hyvätempoisia, animoituja ja luovia. Katso jokin niistä, ja luultavasti samaa mieltä (saatavilla YouTubessa liian).

3. Tehtävät ovat luovia

sen sijaan, että tylsät tehtävät, kuten ”iterate over this array in C”, saat toteuttaa ohjelmia, kuten valokuvasuodattimia, oikeinkirjoituksen tarkistajia, äänestysjärjestelmiä ja Tylypahkan opiskelijatietokantoja, käyttäen käsitteitä, jotka opit matkan varrella.

toinen asia, josta pidän, on heidän testausjärjestelmänsä nimeltään Check50, joka antaa välittömän palautteen, kun lähetät koodin. On ilahduttavaa, kun saa vihdoin kaikki testit palautettua vihreän hymiön:)

esimerkki:

(potentiaali) Cons

1. Ei välttämättä ole hyötyä päivittäisessä työssä

hyvässä tai pahassa, tämä ei ole pikakurssi. Jos haluat oppia tietyn aiheen nopeasti, kuten React esimerkiksi, on olemassa parempia tutorials verkossa (täydellinen digression, mutta suosittelen Scrimba oppimiseen front-end kielet/puitteet mukaan lukien React).

tästä huolimatta uskon, että näiden tietojenkäsittelytieteen ydinkäsitteiden oppiminen on jollakin tavalla hyödyllistä kenelle tahansa kehittäjälle.
esimerkiksi olin käyttänyt Ruby hasheja (sanakirjoja) jo pitkään, ja tiesin, että arvon löytäminen hashista sen avaimen avulla oli paljon nopeampaa kuin arvon löytäminen array. Mutta ennen kuin otin tämän kurssin, en ymmärtänyt, miten hashes toteutetaan konepellin alla. Tutustuminen hajautustauluihin ja yhden toteuttaminen antoi minulle mahdollisuuden ymmärtää myös Ruby hasheja paremmin.

2. Et saa nähdä henkilöstön toteuttamia ratkaisuja toimeksiantoihin

kuten mainitsin, kun lähetät toimeksiannon verkossa, koodisi testataan Check50-nimisellä järjestelmällä. Et saa nähdä ratkaisua, joka henkilökunnalla oli mielessä, tai tehdä sivuvertailua omaasi.

tämä ei ollut aina ongelma ja ymmärrän niiden syyt, mutta oli yksi erityinen tilaisuus, kun halusin nähdä henkilöstön toteuttamia ratkaisuja: kun kirjoitin SQL-kyselyitä. Kyselyni toimivat ja läpäisivät Check50-testit, mutta ei ollut mitään keinoa sanoa, olisiko niitä voinut optimoida pidemmälle. Henkilökunnan toteuttamien vastausten näkeminen olisi auttanut siellä.

jos tämä kurssi kuulostaa sinusta mielenkiintoiselta, suosittelen lämpimästi tutustumaan siihen edX: ssä. Ja jos päätät ottaa sen, onnea sinulle.

olen myös vielä kirjoilla, aloittamassa iOS-raitaa. Toivota minulle onnea!

päivitys-2020-12-28

loppuprojekti vei aikaa, mutta olen suorittanut kurssin 🙂

Vastaa

Sähköpostiosoitettasi ei julkaista.