Կոդավորող Bootcamp- ն ընդդեմ համակարգչային գիտության աստիճանի

Նախապատմություն

Մի փոքր ֆոն իմ մասին: Ես Քվինսի քոլեջից ստացա CS- ի գիտական ​​աստիճան և կարճ ժամանակ աշխատեցի որպես առաջնագծի մշակ, նախքան իմ ուղևորությունը սկսելու համար կոդավորող բեռնախցիկում:

Այս հոդվածը ոչ մի դեպքում էլ չի ենթադրում: Ես պարզապես կուղեկցեն ձեզ և իմ անցած ճանապարհներով, և հուսով եմ `ձեզ ավելի քիչ վախկոտ հայացք կտա ձեր ընտրած ճանապարհը, երբ կանգնում եք ճանապարհի պատառաքաղի վրա:

Ուսումնական պլան և շրջակա միջավայր

Նախ և առաջ ուզում եմ համեմատվել այն մասին, թե ինչպես են երկուսը ներկայացվում: Երկու ուղիներում մենք սուզվում ենք փոփոխականների և տվյալների հիմնական կառուցվածքների հիմունքների մեջ: Այստեղ հիմնական տարբերությունն այն է, որ CS ճանապարհով մենք սուզվում ենք բազմաթիվ գոտիներով: Սովորաբար փոփոխականներ սովորելուն զուգահեռ մենք սովորում ենք տարբերակված մաթեմատիկա, որտեղ մենք սովորում ենք, թե ինչպես են աշխատում երկուական թվերը, ճշմարտության աղյուսակները և տրամաբանական դարպասները (ֆիզիկական սարք, որը իրականացնում է բոլեյան գործառույթներ):

CS ուսանողներին ուսուցանվում են ալգորիթմների, համընկնումների, ժամանակի բարդության, հիշողության արդյունավետ տեղաբաշխման և տվյալների առաջադեմ կառուցվածքների հիմունքները: Այս տարածքը շատ կենտրոնացած չէ բեռնախցիկում, հավանաբար կարճ ժամանակահատվածի բնույթի պատճառով: Ալգորիթմները կենսական նշանակություն ունեն աշխատանքային հարցազրույցների համար և յուրաքանչյուրի համար, ով միայն կոշիկ է անում, անպայման պետք է վարժվեք և ուսումնասիրեք որոշ ալգորիթմներ:

Մեկ այլ մեծ տարբերություն `ուսուցիչների և ՏՀ-ների ներգրավման ժամանակն է: Քոլեջում դասախոսությունները ուսուցման հիմնական աղբյուրն են, իսկ ուսուցիչը `շուրջօրյա: Խցիկում, ուսուցման հիմնական աղբյուրը կոդավորման իրական ձեռքից է, և հրահանգիչները հասանելի են ամբողջ օրվա ընթացքում:

Բազմազանություն և մշակույթ

Երկուսի միջև եղած տարբերություններից մեկը մշակույթն է: Չեմ կարող ասել, որ դա ճիշտ է բոլոր կոդավորող bootcamps- ի համար, բայց bootcamp- ում առաջին շաբաթվա ընթացքում ես ինձ շատ հարմարավետ էի զգում իմ խմբի յուրաքանչյուրի հետ և ես չէի վախենում օգնություն խնդրել այն բանի համար, որ ես ստիպված եմ լինել իմ ընկերակիցների կողքին (իմ խմբագրությունից յուրաքանչյուրի համար սա կարդում եմ, ես բոլորիդ սիրում եմ :)):

Մեկ այլ տարբերություն, որը ես նկատեցի, ուսանողական մարմնի տարբեր մասնագիտական ​​նախադրյալներն են բեռնախցիկներում: Bootcamps- ը հիանալի միջոց է արագ կարիերայի համար `նոր կարիերայի մեկնարկի համար:

Ծրագրեր և ձեռքերի փորձի մասին

Bootcamps- ը միանշանակ առավելություն ունի դպրոցում, երբ խոսքը վերաբերում է կոդավորելու փորձին: Bootcamp- ի առաջին իսկ օրը մենք անմիջապես անցնում ենք API- ներին, որտեղ դպրոցում մենք ամբողջ ծրագրի ընթացքում մեկ ծրագիր իրականացրեցինք APIS- ով: Ես չունեի API- ի հստակ գիտակցություն, ինչը գրեթե յուրաքանչյուր դիրքի պահանջ է `ծրագրային ապահովման ինժեներական աշխատանք փնտրելիս: Bootcamp- ը ինձ հնարավորություն է տվել վերջապես հասկանալ API- ները:

Bootcamp- ի յուրաքանչյուր մոդուլ ուներ մեկ կամ մի քանի զույգ ծրագրավորման վարժություններ և մեկ մեծ զույգացման նախագիծ: Ես չեմ կատարել դպրոցում մեկ զույգի ծրագրավորման վարժություն կամ նախագիծ: Սա մի փոքր խանգարեց, քանի որ քոլեջն ավարտելուց հետո ես մի քանի հարցազրույցի էի անցել, և նրանք բոլորն էլ ինչ-որ հարց ունեին թիմի հետ ինչ-որ մեկի հետ աշխատելու իմ փորձի վերաբերյալ:

Հիմնվելով իմ նշածի վերևի վրա, մենք ունեցել ենք դպրոցում ամեն դասի համար առավելագույնը 1 կամ 2 ծրագիր: Նյութի հիմնական մասը կենտրոնացած էր տեսության վրա: Bootcamp- ում մենք ամեն օր աշխատում ենք ծածկագրերի վրա: Կոդավորումը մի բան է, որի միջոցով ավելի լավն եք անում ՝ չկարդալով կամ դիտելով: Սա մեկն է, որ դպրոցը չունի:

Ալգորիթմներ

Այնուամենայնիվ, հիմնարար տեսություններում անցկացրած ժամանակի քանակի պատճառով, եկեք զվարճալի օրինակ դնենք, թե որտեղ է այն իրականում օգտակար: (օրինակ ՝ ստորև նշված ռեսուրսներից), ինչպես ես արդեն նշեցի, ալգորիթմները իսկապես խորությամբ չեն ուսուցանվում բեռնախցիկների համար: Ես պատկերացնում էի, եթե ինչ-որ մեկը (ռելսերի թիկունքային bootcamp- ից) ալգորիթմների փոքր փորձ ունենալու դեպքում խնդրվում է բաժանել միլիարդ օգտագործողի օբյեկտներ, որոնցից յուրաքանչյուրը ունի տարիքի (տիպի ամբողջական), նրանք, հավանաբար, կօգտագործեն ներկառուցված ruby.sort () մեթոդը, քանի որ այդ ամենը նրանք գիտեն. Ruby.sort- ը () օգտագործում է արագ տեսակավորում, որն ունի O (n log n) ժամանակի բարդություն, որը նույնպես վատ չէ: Այնուամենայնիվ, ի՞նչ կլինի, եթե այդ ցուցակը արագ աճեր, և հիշողությունը կաշկանդված էր: Ալգորիթմները և հիշողության բաշխումը հասկացող անձը կարող է ի վիճակի լինել նախագծել իր սեփական ալգորիթմը, որն ունի O (n) ժամանակ, ինչպիսիք են `հաշվելի տեսակները, դույլերի տեսակավորումը կամ ռադիքսերի տեսակավորումը:

ռադիքսի տեսակ

Աշխատանք և կարիերա

Այս բլոգի գրառման պահին ես դեռ չեմ ավարտել իմ ուղևորությունը բեռնախցիկով, բայց մեզ ասացին, որ աշխատելու ենք մարզիչ, որը կօգնի խթանել մեր հմտությունները ՝ աշխատանք գտնելու համար: Երկուսն էլ առաջարկում են մեծ ռեսուրսներ, որոնք կօգնեն ձեզ ճիշտ ուղղությամբ առաջնորդելու հարցում: Քոլեջի համալսարանում կա ինկուբատոր, որն առաջարկում է նախագծեր, և կա նաև ծրագիր, որը ուսանողներին հասանելի է պրակտիկայի համար:

Ո՞ր ուղին:

Այսպիսով, հիմա գուցե զարմանաք, թե որ ճանապարհն է ավելի լավ, կամ bootcamps- ն արժե այն CS- ի աստիճանով, կամ ստանում եք CS- ի աստիճան, որը արժե այն bootcamp- ը ավարտելուց հետո: Անհատական ​​տեսակետից ես ուրախ և երախտապարտ եմ, որ երկուսն էլ զգացի: Այն մասին չէ, թե որ մեկը ավելի լավն է, կամ արժե մեկը, թե մյուսը: Առավելություններն ու թերությունները իրոք լավ են աջակցում միմյանց ՝ կատարյալ հավասարակշռություն ձևավորելու համար:

Ռեսուրսներ