CS50: elitiškiausiame pasaulyje kompiuterių kurse

Nėra daug universitetų kursų, kurių dėstytojai galėtų priskirti Marką Zuckerbergą ir Steve'ą Ballmerį. Universiteto kursų, kuriuose paskaitas lankytų daugiau nei 100 000 žmonių, nėra daug (nors daugiausia internetu). Nėra daug universitetų kursų, kurie turi savo prekės ženklą, prekes ir kovoja, kad kurso pavadinimas būtų įregistruotas kaip prekės ženklas. Bet tada nėra daug universitetinių kursų, tokių kaip CS50.

CS50 neabejotinai yra elitiškiausias kompiuterių kursas pasaulyje. Tai dėstoma ne tik Harvarde, bet dabar ir kitoje Ivy League institucijoje Jeile, kur pirmaisiais metais jis iškart tapo populiariausiu universiteto kursu. Jei esate vienas iš daugelio, kuriems nepavyksta gauti vietos kurse viename iš universitetų, galite mokytis CS50 internetu, per skaitmenines institucijas, tokias kaip edX ar iTunes U, arba tiesiog per kurso svetainė, kur visos paskaitos, vadovėliai, medžiaga, užduotys ir jų sprendimai skelbiami nemokamai. Netrukus paskaitas bus galima žiūrėti net naudojant VR ausines, tarsi jūs iš tikrųjų sėdėtumėte Harvardo salėse.

Taigi, kuo šis kursas toks ypatingas? Kas skatina tūkstančius šviesiausių Amerikos protų ir šimtus tūkstančių žmonių iš viso pasaulio transliuoti paskaitas? Kalbėjausi su kurso vadovu ir studentais, taip pat pats sėdėjau per kelias paskaitas, kad išsiaiškinčiau.

Informatika visiems

CS50 arba „Computer Science 50“, norint suteikti pilną pavadinimą, nėra tik tų, kurie rašo „Perl“ su pižama, nuosavybė. Beveik trys ketvirtadaliai studentų, kurie užsiregistruoja į Harvardo kursą, niekada anksčiau nebuvo lankę informatikos kurso. Kaip profesorius Davidas Malanas sakė studentams per savo įvadinę 2015 m. kurso paskaitą: „Šiuo kursu nesiekiame jus visus paversti CS specialistais ar koncentratoriais, o suteikti jums galimybę, tikiuosi, peržengti pasaulį, su kuriuo šiuo metu esate susipažinę, ir sugrąžinti iš šio pasaulio įgūdžius, žinias ir išmintį, kurią galėsite pritaikyti savo pasaulyje, ar tai būtų humanitariniai, socialiniai, gamtos mokslai ar ne tik. Tai, kad išmoksti programuoti pakeliui, pasak svetainės, „turbūt labiausiai įgalina grįžti“.

Tai nereiškia, kad nieko nepasieksite iš tų, kurie jau žino savo procedūras pagal savo kintamuosius. Kiekvienas iš „problemų rinkinių“, kuriuos mokiniai turi išspręsti, yra dviejų sudėtingumo laipsnių: standartinis, kuris Tikimasi, kad daugiau nei 90 % klasės mokys ir Hacker Edition, tiems, kurie turi techninių žinių ir nori stumti patys. Iš tiesų, visas Harvardo ir Jeilio kursas yra suskirstytas į tris skirtingus takelius: tie, kurie yra „daugiau patogus“, su programavimo kalba, tiems, kuriems „mažiau patogu“ ir juosta tiems, kurie „kažkur tarp".

Beveik trys ketvirtadaliai studentų, kurie užsiregistruoja į Harvardo kursą, niekada anksčiau nebuvo lankę informatikos kurso.

Kursą ir daugelį paskaitų, kurios gyvai skaitomos šimtams studentų ir pagal pareikalavimą per itin patobulintus vaizdo srautus, veda profesorius Malanas: patrauklus pranešėjas man primena buvusį „Windows“ vadovą Steveną Sinofsky, nes jūs aiškiai susiduriate su tokiu nuožmiu intelektu, kad žodžiai negali ištrūkti iš jo burnos pakankamai greitai, kad neatsiliktų. jo smegenys. Jis gali kalbėti kulkosvaidžio tempu, bet taip pat puikiai sugeba suskaidyti sudėtingas sąvokas į lengvai virškinamus gabalus.

Pavyzdžiui, 2015 m. įvadinėje paskaitoje jis naudoja lempučių rinkinį, kad mokytų studentus, kaip rašyti skaičius dvejetainiu formatu, paaiškindamas, kaip kiekviena lemputė (įjungta 1 ir išjungta 0) reiškia šiek tiek. Tai aiškiausias paaiškinimas, kokį aš kada nors mačiau. Dėl papildomų vaizdo įrašų CS50 svetainėje dabar galiu sudėti, atimti ir dauginti dvejetainiu būdu.

Jis taip pat pradeda tyrinėti „skaldyk ir valdyk“ algoritmų kūrimą, išplėšdamas telefonų knygą (šiek tiek nepatogu, atsižvelgiant į jo ortodoksiško geiko kūno sudėjimą). Tai grafiškai iliustruoja, kad net jei telefonų knygoje yra 40 milijardų vardų, išvardytų abėcėlės tvarka, asmeniui surasti prireiktų tik 36 žingsnių. ko ieškojote, jei atidarėte knygą viduryje ir išplėšėte pusę, kurioje nebuvo asmens vardo (norėdami paaiškinti rąsto sąvoką n).

cs50_coding_yellow_pages_rip

Tada demonstruojama, kaip kompiuteriams parašytos komandos reikalauja tokio tikslumo, prie kurio nesame įpratę, kai įsakome žmones. Jis paprašo Jeilio paskaitų salėje esančių studentų šaukti komandas, kaip pasigaminti sumuštinį su žemės riešutų sviestu ir uogiene, o vienas iš jo stovinčiųjų scenoje atlieka komandas iki galo. Taigi, „atviras duonos maišas“ suplėšo maišelį ir duona išsilieja visur, o vėliau „programa“ sumuštinių keptuvė patenka į begalinę kilpą, kuri nesibaigia gerai žemės riešutų sviestui stiklainis.

Kodo jungtis

Šis patrauklus būdas pristatyti galimai sausą ir bauginančią programavimo temą tikrai patiko studentams, ypač tiems, kurie niekada anksčiau nesimokė skaičiavimo. Didžiosios Britanijos muzikos startuolio „Jukedeck“ įkūrėjas Edas Rexas neseniai man papasakojo, kaip po CS50 paskaitos jį įkvėpė pradėti koduoti. „Buvau tiesiog visiškai priblokštas“, - sakė Reksas. „Po valandos jo [Malano] paskaitų salėje išėjau galvodamas, pirma, kodėl man niekas anksčiau to nesakė; antra, programavimas yra nuostabus; ir trečia, atrodo, kad tai daug labiau įmanoma, nei JK žmonės norėtų patikėti.

Žiūrėti susijusius 

Išmokite koduoti nemokamai: geriausi JK kodavimo ir programų kūrimo kursai nacionalinėje kodavimo savaitėje
Metai kaip koduojantis klajoklis

Dvidešimt trejų metų Kyle'as Schmigelis yra dabartinio CS50 suvartojimo dalis. Jis man pasakė, kad „išmokus programuoti apskritai galiu sutelkti mintis daug kitaip, nei įprastai darau savo kasdieniame gyvenime. Tai įdomus būdas mesti sau iššūkį ir spręsti problemas.

„Iki šiol svarbiausias dalykas, kurį išmokau, yra pažvelgti į dalykus iš kelių perspektyvų“, - pridūrė Schmigelis. „Galiu, kad aš nežiūriu į problemą tinkamai arba galiu viską daryti paprasčiau. CS50 yra sudėtinga klasė, bet aš niekada nedariau nieko, kas man atrodė taip smagu, kaip kėliau sau iššūkį jį įveikti.

Malanas yra per kuklus, kad savo mokymo stilių priskirtų vienai iš pagrindinių CS50 sėkmės priežasčių, nurodydamas kitus veiksnius. „Mums neabejotinai buvo naudingas tarptautiniu mastu augantis susidomėjimas kompiuterių mokslu, ypač dėl šiuo metu tokių populiarių technologijų“, – sakė jis. „Tačiau mes tikimės, kad CS50 prieinamumas kartu su griežtumu ir kultūra ypač patiks studentams, ypač tiems, kurie neturi ankstesnės patirties.