Izgradite 111 projekata, zaradite 10 certifikata - sada s Pythonom

Ažuriranje 2. srpnja 2020 .: 4 nova Python certifikata su sada aktivna.

Naporno smo radili na verziji 7.0 kurikuluma freeCodeCamp. Evo što gradimo.

Neka od ovih poboljšanja - uključujući 4 nova Python certifikata - bit će aktivna početkom 2020.

Napomena: ako već prolazite kroz trenutnu verziju kurikuluma, nastavite. Kao što ćete vidjeti, nema razloga za zaustavljanje.

Kurikulum verzije 7.0 ...

Uzet će osobu s vrlo osnovnim računalnim znanjem ...

Izgradite tu osobu kroz 3000 sati predavanja ...

Povećajte svoje vještine programiranja ...

Učvrstite njihove osnove softverskog inženjerstva ...

A oni će se s druge strane pojaviti kao dobro zaokruženi programer, spreman za većinu početničkih poslova programera.

Kao i uvijek, nema izbornih predmeta. Nema nagađanja. Možete samo kurikulirati od početka do kraja.

Usput ćete naučiti alate i koncepte koje koriste suvremeni timovi za razvoj softvera.

S verzijom 7.0 i dalje ćete naučiti vještine razvoja web-područja i dizajn pozadinskog API-ja.

A sada ćete naučiti i Python i njegov moćan paket alata za znanost podataka i strojno učenje.

Poboljšanje # 1: Dodamo 4 nova certifikata usmjerena na podatke.

Uz 6 certifikata koje imamo od 2017., dodajemo i 4 nova certifikata, svi koji koriste Python:

  • Znanstveno računarstvo
  • Analiza podataka
  • Sigurnost informacija
  • Strojno učenje

Koristit ćete knjižnice poput Numpyja, Matplotliba i TensorFlowa za izgradnju različitih projekata.

Poboljšanje # 2: Umjesto individualnih lekcija, sve će biti projekt.

Naš trenutni kurikulum sadrži blokove pojedinačnih lekcija. Oni se mogu osjećati nepovezano jedan s drugim - pa čak i pomalo poput "interaktivne dokumentacije".

Ovaj je pristup bio dovoljno učinkovit da pomogne 40 000 ljudi da dobiju svoj prvi posao programera. Ali graditi projekte puno je zabavnije. A učenje bi trebalo biti zabavno. ?

Dakle, s verzijom 7.0 zamjenjujemo ove neobavezne lekcije s našim potpuno novim projektima prakse.

Za svaki od ovih projekata prakse stvorit ćete bazu koda - jedan za drugim prolazni test.

Dok - stotine položenih testova kasnije - ne budete imali potpuno funkcionalan projekt.

Na primjer, umjesto da učite JavaScript kroz seriju od 200 diskretnih lekcija, naučit ćete JavaScript gradeći potpuno igrajuću ulogu.

Ugradit ćemo puno više ponavljanja kako bismo vam pomogli ojačati "memoriju mišića" za kodiranje.

Poboljšanje # 3: Dodajemo Crash tečajeve na Git, Linux i SQL.

Prošle verzije kurikuluma freeCodeCamp učile su Git, Linux i SQL.

Ali željeli smo kurikulum učiniti u potpunosti interaktivnim. Nema članaka. Nema videozapisa. Samo kodiranje od početka do kraja.

Stoga smo svoj program učinili potpuno klijentskim. Jednostavno biste mogli zaglaviti kroz freeCodeCamp u svom pregledniku i voziti petlju povratnih informacija od nula milisekundi.

Uobičajena mudrost u to je vrijeme bila da će za podučavanje Gita, Linuxa ili SQL-a biti potreban datotečni sustav. A ovo bi zahtijevalo poslužitelje. A poslužitelji bi uveli puno kašnjenja.

Stoga smo uklonili ove dijelove iz svog kurikuluma i u osnovi rekli: "idi i nauči ih na našem YouTube kanalu ili iz drugih izvora."

Pa, danas sam oduševljen što mogu objaviti da radimo na interaktivnim tečajevima padova za ova tri alata.

To neće biti certifikati. Oni će biti samostalni vodiči. A moći ćete ih raditi kad god poželite. Nijedan drugi dio nastavnog programa neće ovisiti o tim vještinama.

Budući da ih podučavamo u vašem pregledniku, možemo približiti samo potpuno poslužiteljsko okruženje. Ali uvjereni smo da vas još uvijek možemo interaktivno naučiti mnogim temeljnim konceptima.

Evo punog kurikuluma verzije 7.0. Svih 111 projekata.

Do kraja 2020. godine nastavni plan i program freeCodeCampa izgledat će otprilike ovako:

[HTML + CSS] Odzivni web dizajn (16 projekata)

? ️ Projekti vježbanja: ️

  • Naučite osnovni HTML stvaranjem aplikacije Cat Photo
  • Naučite osnovni CSS stvaranjem bloga
  • Naučite srednji CSS gradeći Picassovu sliku
  • Naučite CSS model kutije izradom Rothko slike
  • Naučite CSS varijable izgradnjom gradskog horizonta
  • Naučite CSS animacije gradeći Ferris Wheel
  • Naučite tipografiju izradom prehrambenih oznaka
  • Naučite pristupačnost izgradnjom ankete o povratnim informacijama korisnika
  • Naučite responzivni web dizajn izradom klavira
  • Naučite CSS Flexbox izradom foto galerije
  • Naučite CSS Grid stvaranjem časopisa

? Projekti certificiranja:

  • Stranica počasti
  • Obrazac ankete
  • Odredišna stranica proizvoda
  • Stranica tehničke dokumentacije
  • Web stranica osobnog portfelja

[JavaScript] Algoritmi i strukture podataka (13 projekata)

? Proje Projekti vježbanja:

  • Naučite osnovni JavaScript stvaranjem igre uloga
  • Naučite posredni JavaScript stvaranjem brojača kalorija
  • Naučite regularne izraze stvaranjem filtra za neželjenu poštu
  • Naučite ispravljanje pogrešaka izgradnjom igre kockica
  • Naučite strukture podataka izgradnjom košarice
  • Naučite osnovne algoritme gradeći algoritamski feed vijesti
  • Naučite posredne algoritme gradeći Yahtzee igru
  • Naučite funkcionalno programiranje izradom proračunske tablice

? Projekti certificiranja:

  • Provjera palindroma
  • Rimski pretvarač brojeva
  • Caesars Cipher
  • Provjerivač broja telefona
  • Blagajna

[JavaScript] Prednje knjižnice (10 projekata)

? Proje Projekti vježbanja:

  • Naučite Basic React izgradnjom kviza
  • Naučite srednje reakcije gradeći Flappy Bird
  • Naučite Basic Redux izgradnjom programa za praćenje vježbi
  • Naučite srednji Redux gradeći Tetris
  • Naučite TypeScript gradeći poker igru

? Projekti certificiranja:

  • Stroj sa slučajnim citatima
  • Markdown Previewer
  • Bubanj stroj
  • JavaScript kalkulator
  • Sat Pomodoro

[JavaScript] Vizualizacija podataka (11 projekata)

? Proje Projekti vježbanja:

  • Naučite CSV sastavljanjem mailing liste
  • Naučite JSON stvaranjem sportskog tima
  • Naučite AJAX stvaranjem brojača prikaza
  • Lean vizualizacija podataka izgradnjom nadzorne ploče
  • Naučite SVG gradeći solarni sustav
  • Naučite D3 izradom karte Zemlje

? Projekti certificiranja:

  • Grafikon
  • Grafikon raspršene plohe
  • Karta topline
  • Karta Choropleth
  • Dijagram stabla

[JavaScript] API-ji i mikrousluge (10 projekata)

? Proje Projekti vježbanja:

  • Naučite npm izradom npm modula
  • Naučite Node.js izradom web poslužitelja
  • Naučite Express.js izgradnjom platforme za trgovanje dionicama
  • Naučite RESTful API-je izradom vremenske službe
  • Naučite MongoDB stvaranjem baze podataka za pregled filmova

? Projekti certificiranja:

  • Vremenska oznaka Microservice
  • Zahtjev za zaglavlje Parser Microservice
  • Microservice za skraćivanje URL-a
  • Tragač vježbanja
  • Datoteka Metapodaci Microservice

[JavaScript] Osiguranje kvalitete (10 projekata)

? Proje Projekti vježbanja:

  • Naučite osnove testiranja izradom parsera sastojaka recepata
  • Naučite jedinstveno testiranje pisanjem testova za web mjesto e-trgovine
  • Naučite integracijsko testiranje pisanjem testova za web mjesto e-trgovine
  • Naučite funkcionalno testiranje pisanjem testova za web mjesto e-trgovine
  • Naučite Jest and React Testing Library testiranjem React Tic Tac Toe igre

? Projekti certificiranja:

  • Metričko-carski pretvarač
  • Tragač izdanja
  • Osobna knjižnica knjiga
  • Sudoku Solver (Zamjena provjere cijena dionica, koja prelazi na informacijsku sigurnost)
  • Provjera gramatike (Zamjena ploče s anonimnim porukama, koja se seli na Informacijsku sigurnost)

[Python] Znanstveno računarstvo (10 projekata)

? Proje Projekti vježbanja:

  • Naučite osnove Pythona izradom igre Blackjack
  • Naučite srednji Python izradom programa kontakt knjiga
  • Naučite objektno orijentirano programiranje izgradnjom igre Minolovca
  • Naučite rekurziju rješavanjem zagonetke Hanojskog tornja
  • Naučite paralelnost izgradnjom generatora prostih brojeva

? Projekti certificiranja:

  • Aritmetički formatter
  • Kalkulator vremena
  • Kalkulator trajanja baterije
  • Kalkulator površine poligona
  • N Queens Solver

[Python] Analiza podataka (10 projekata)

? Proje Projekti vježbanja:

  • Naučite osnovne NumPy stvaranjem i manipulacijom nizova
  • Naučite srednji NumPy gradeći Conwayevu igru ​​života
  • Učite Pande analizirajući podatke o prodaji
  • Naučite svađanje podataka organiziranjem baze podataka USDA o hrani
  • Naučite matplotlib i vizualizaciju podataka grafičkim prikazom web analitike

? Projekti certificiranja:

  • Kalkulator srednje devance-standardne devijacije
  • Analizator vremenskih serija demografskih podataka
  • Vizualizator medicinskih podataka
  • Akademski citatni grapher
  • Nadzorna ploča s podacima o pregledu proizvoda

[JavaScript + Python] Informacijska sigurnost (11 projekata)

? Proje Projekti vježbanja:

  • Naučite sigurnost informacija izradom obrasca za kreditnu karticu (JS)
  • Naučite kriptografiju izgradnjom sustava digitalnog potpisa (JS)
  • Naučite provjeru autentičnosti izradom stranice za registraciju (JS)
  • Naučite Websockets izgradnjom sobe za razgovor (JS)
  • Naučite o mrežnoj sigurnosti izgradnjom njuškalice paketa (PY)
  • Naučite Scapy stvaranjem paketa iz ogrebotina (PY)

? Projekti certificiranja:

  • Provjera cijena dionica (u postojećem kurikulumu se premješta)
  • Ploča za anonimne poruke (u postojećem kurikulumu se premješta)
  • Skener porta
  • Hvatač paketa
  • Sigurna igra za više igrača u stvarnom vremenu

[Python] Strojno učenje (10 projekata)

? Proje Projekti vježbanja:

  • Naučite osnove strojnog učenja izgradnjom programa za prepoznavanje ručno napisanih znamenki
  • Naučite Tensorflow izgradnjom sustava za preporuku filmova
  • Naučite modele regresije izgradnjom predviđača cijena kuće
  • Naučite algoritme klasifikacije klasificiranjem slika cvijeta irisa
  • Naučite duboko učenje analizirajući prometne signale

? Projekti certificiranja:

  • Analizator škara za kameni papir
  • Klasifikator slika mačaka i pasa
  • Glazbena preporuka
  • Kalkulator uštede goriva s linearnom regresijom
  • Analizator teksta neuronske mreže

? ️ I naša 3 padajuća tečaja:

  • Relacijske baze podataka - naučite SQL stvaranjem sveučilišne baze podataka
  • Linux - Naučite osnove Basha igrajući Capture the Flag
  • Git - Naučite Git stvaranjem projekta otvorenog koda

? ️‍♀️ I, naravno, naš odjeljak Priprema za kodiranje intervjua (koji je već dostupan) nudi tisuće sati dodatne prakse:

  • Napredni algoritmi (9 algoritama)
  • Napredne strukture podataka (46 algoritama)
  • Algoritmi Rosetta koda (134 algoritma)
  • Projekt Euler algoritmi (480 algoritama)
  • Projekti Take Home (20 projekata)

Kako sve izvlačimo

Ove promjene uvodimo u 4 faze. Ništa od toga ne krši promjene. Kurikulum će ostati u potpunosti unatrag kompatibilan.

Ako ste u prošlosti stekli certifikat, zadržat ćete ga. Nitko neće morati ponovno raditi projekte.

Faza 1 : Objava projekata za certificiranje Pythona

Faza 2 : Ažurirajte naše korisničko sučelje za podršku projektima nove prakse

Faza 3 : Objava projekata za praksu u Pythonu

Faza 4 : Objavite projekte za praksu JavaScript-a koji će zamijeniti postojeće lekcije o JavaScript-u

Često postavljana pitanja

Usred sam trenutnog kurikuluma. Da nastavim?

Da. Nastavi. Ništa od ovoga neće utjecati na bilo što što danas učite. Novi kurikulum u potpunosti je kompatibilan s unatrag.

Već sam stekao certifikate s trenutnim kurikulumom. Što će biti s ovima?

Čestitamo na vašim certifikatima. Dobre vijesti: naših se trenutnih 6 certifikata ne mijenja. I dalje će biti u nastavnom programu i svaki od njih zadržat će istih 5 projekata certificiranja.

Zapamtite: da biste stekli certifikat, sve što trebate je izgraditi njegovih 5 projekata certificiranja. Sve lekcije nisu obvezne.

Dakle, iako ove lekcije zamjenjujemo projektima vježbanja, nećete se morati vraćati i to raditi. Projekti vježbanja - baš kao i lekcije - bit će potpuno neobavezni.

Koje bih još promjene trebao znati?

Naziv certifikata "Osiguranje kvalitete i informacijska sigurnost" mijenjamo u "Osiguranje kvalitete". To radimo jer imamo novi certifikat usmjeren samo na informacijsku sigurnost.

Certifikat osiguranja kvalitete obuhvaćat će puno više ispitivanja. Dva njegova stara projekta certificiranja premještaju se na novi certifikat o informacijskoj sigurnosti. A one zamjenjujemo s 2 nova projekta certificiranja osiguranja kvalitete.

Ako ste već stekli stari certifikat o osiguranju kvalitete, nećete trebati graditi ova dva nova projekta. Ali možete ih izgraditi ako želite dodatnu praksu.

Moram li odraditi svih 3000 sati tečajnih zadataka prije nego što se mogu početi prijavljivati ​​za posao?

U praksi vrlo malo ljudi završi cijeli kurikulum prije izlaska i zaposlenja.

Stoga ne mislite na ovaj kurikulum kao na „sve što biste trebali znati prije nego što započnete potragu za poslom“.

Umjesto toga, mislite na ovo kao na: "sve što bi moderni programer trebao znati na početku svoje karijere." Možete nastaviti učiti nove vještine kroz kurikulum i nakon što ste dobili prvi posao programera.

Mogu li se ovim prijaviti za poslove znanosti podataka?

Data Science je multidisciplinarno područje koje kombinira programiranje, statistiku i znanje iz domene. To nije početno područje, već karijera u koju prelazite nakon što steknete doktorat znanosti. ili raditi razne poslove u industriji.

Podučavamo puno alata za znanost o podacima jer su oni dragocjeni i za programere opće struke. Imajte na umu da mi ne predajemo matematiku ili znanje o domeni specifično za industriju koja bi vam trebala kao znanstvenik podataka. Dakle, ako vam je cilj postati znanstvenik podataka, vjerojatno ćete ih htjeti naučiti u školi ili na poslu.

Kako mogu pomoći?

Mi smo sićušna neprofitna organizacija s komično malim budžetom. Ali mi smo izuzetno učinkoviti. U 2019. godini pružili smo više od 1,1 milijarde minuta poduka s proračunom od samo 373 000 USD. To proizlazi iz 50 sati poduke po doniranom dolaru.

Najbolji način da pomognemo našoj misiji je podržati freeCodeCamp.org izravno donacijom.

Također možete pomoći druženjem na forumu freeCodeCamp i odgovaranjem na pitanja ljudi. Sada smo jedna od najvećih programskih zajednica na webu, zahvaljujući toliko korisnih volontera.

Još jednom hvala što ste dio zajednice freeCodeCamp. 2019. godina bila je godina temelja. 2020. bit će godina u kojoj se naši napori ostvaruju.

Zahvalan sam što ćete biti ovdje s nama dok naša zajednica čini sljedeći veliki korak u budućnost.