Koduojantis „Bootcamp Vs“ kompiuterių mokslo laipsnis

Bendrosios aplinkybės

Šiek tiek apie save. Aš įgijau CS diplomą iš Queens College ir trumpai dirbau kaip fasadų kūrėjas, prieš pradėdamas kelionę koduojančioje įkrovos stovykloje.

Šis straipsnis nėra skirtas apgailėti nei vienam. Aš paprasčiausiai nueisiu jus abiem keliais, kuriais pasirinkau, ir, tikiuosi, pateiksiu mažiau bauginantį kelią, kurį pasirinksite stovėdami prie kelio šakės.

Mokymo programa ir aplinka

Pirmiausia noriu palyginti, kaip supažindinama su šiais dviem būdais. Abiem būdais mes pasineriame į kintamųjų pagrindus ir pagrindines duomenų struktūras. Pagrindinis skirtumas yra tas, kad CS kelyje mes nardome keliomis juostomis. Lygiagrečiai su mokymosi kintamaisiais mes mokomės diskrečiosios matematikos, kurioje sužinosime, kaip veikia dvejetainiai skaičiai, tiesos lentelės ir loginiai vartai (fizinis įrenginys, įgyvendinantis logines funkcijas).

CS studentai mokomi algoritmų pagrindų, suderinamumo, laiko sudėtingumo, efektyvaus atminties paskirstymo ir pažangių duomenų struktūrų. Ši sritis nėra labai orientuota į „bootcamp“ greičiausiai dėl trumpo laiko pobūdžio. Algoritmai yra gyvybiškai svarbūs pokalbiams dėl darbo ir kiekvienam, atliekančiam tik „stovyklavietę“, būtinai turite praktikuoti ir mokytis tam tikrų algoritmų.

Kitas didelis skirtumas yra instruktorių ir TA dalyvavimo laikas. Kolegijoje paskaitos yra pagrindinis mokymosi šaltinis, o instruktoriai - beveik visur (darbo valandomis). Bagažinės stovykloje pagrindinis mokymosi šaltinis yra kodavimas, o instruktoriai dirba visą dieną.

Įvairovė ir kultūra

Vienas iš šių dviejų skirtumų yra kultūra. Negaliu pasakyti, kad tai pasakytina apie visas kodavimo įkrovos stovyklas, tačiau per pirmąją savaitę buvimo stovykloje jaučiausi labai patogiai su kiekvienu savo grupės gyventoju ir nebijojau kreiptis pagalbos dėl laiko, kurį esu priverstas būti šalia mano kohortos bičiulių (bet kuriam iš mano kohortos, kuris tai skaito, aš jus visus myliu :)).

Kitas skirtumas, kurį pastebėjau, yra skirtingas studentų kūno profesinis pagrindas stovyklavietėse. „Bootcamps“ yra puikus būdas greitai pradėti naują karjerą.

Projektai ir patirtis

Bootcamps neabejotinai turi pranašumą prieš mokyklą, kai reikia praktinio kodavimo patirties. Jau pačią pirmą dieną „bootcamp“ mes nukreipėme tiesiai į API, kur mokykloje mes vykdėme vieną projektą su APIS per visą mokymo programą. Neturėjau tvirtai suvokti API, o tai yra reikalavimas beveik kiekvienoje pozicijoje ieškant programinės įrangos inžinerijos darbo. „Bootcamp“ suteikė man galimybę pagaliau suprasti API.

Kiekvienas „bootcamp“ modulis turėjo vieną ar daugiau porų programavimo pratimų ir vieną didelį poravimo projektą. Neatlikau vienos poros programavimo pratybų ar projekto mokykloje. Tai šiek tiek pakenkė, nes baigusi universitetą aš ėjau keletą pokalbių ir visi jie turėjo tam tikros formos klausimų apie mano patirtį dirbant su kuo nors komandoje.

Remdamiesi tuo, ką jau minėjau, kiekvienoje klasėje mokykloje buvo daugiausiai 1 arba 2 projektai. Didžioji dalis medžiagos buvo sutelkta į teoriją. „Bootcamp“ programoje mes dirbame kiekvieną dieną. Kodavimas yra tai, ką patobulinate darydami, o ne skaitydami ar žiūrėdami. Tai yra vienas aspektas, kurio trūksta mokyklai.

Algoritmai

Tačiau atsižvelgiant į tai, kiek laiko praleidžiama prie pagrindinių teorijų, padarykime įdomų pavyzdį, kur tai iš tikrųjų naudinga! (pavyzdys iš žemiau pateiktų šaltinių) Kaip jau minėjau anksčiau, algoritmai iš tikrųjų nėra išsamiai mokomi įkrovos stovyklose. Aš įsivaizduočiau, jei kas nors (iš „rails backend bootcamp“), turintis mažai patirties algoritmuose, būtų paprašytas surūšiuoti milijardą vartotojų objektų kiekvienam su amžiumi (tipas sveikasis skaičius), jie greičiausiai naudotųsi įmontuotu ruby.sort () metodu, nes viskas jie žino. „Ruby.sort“ () naudoja greitą rūšiavimą, kurio O (n log n) laiko sudėtingumas nėra labai blogas! Tačiau ką daryti, jei tas sąrašas greitai augo, o atmintis buvo suvaržymas? Asmuo, suprantantis algoritmus ir atminties paskirstymą, gali sugebėti susikurti savo algoritmą, turintį O (n) laiką, pvz., Skaičiuoti rūšiuoti, rūšiuoti pagal segmentus ar rūšiuoti radijo bangomis.

radix rūšiuoti

Darbai ir karjera

Šio dienoraščio įrašo metu aš dar nebaigiau savo kelionės per stovyklavietę, bet mums buvo pasakyta, kad gausime darbo trenerį, kuris padės patobulinti mūsų įgūdžius ieškant darbo. Abu siūlo didelius išteklius, kurie padės nukreipti jus tinkama linkme. Kolegijos miestelyje yra inkubatorius, kuris siūlo projektus, taip pat yra programa, skirta studentams stažuotėms.

Kurį kelią?

Taigi dabar jums gali kilti klausimas, kuris kelias yra geresnis, ar verta „bootcamps“ su CS laipsniu, ar verta gauti CS laipsnį po „bootcamp“ baigimo. Asmeniniu požiūriu esu laimingas ir dėkingas, kad turėjau patirti abu. Svarbu ne tai, kuris yra geresnis, ar yra tas ar kitas vertas. Privalumai ir trūkumai tikrai gerai palaiko vienas kitą ir sudaro puikią pusiausvyrą.

Šaltiniai