Si të përfitoni sa më shumë nga një arsimim i shkencave kompjuterike

Shumica e programuesve modernë morën arsimin e tyre në universitete. Me kalimin e kohës, kjo do të ndryshojë, por tani gjërat janë të tilla që personeli i mirë në kompanitë e IT-së ende vijnë nga universitetet. Në këtë postim, Stanislav Protasov, Drejtor i Marrëdhënieve me Universitetin Acronis, flet për vizionin e tij për veçoritë e trajnimit universitar për programuesit e ardhshëm. Mësuesit, studentët dhe ata që i punësojnë ata mund të gjejnë edhe disa këshilla të dobishme nën prerje.

Si të përfitoni sa më shumë nga një arsimim i shkencave kompjuterike

Për 10 vitet e fundit kam dhënë mësim matematikë, algoritme, gjuhë programimi dhe mësim makinerie në universitete të ndryshme. Sot, përveç pozicionit tim në Acronis, jam edhe nëndrejtuese e departamentit të shkencës kompjuterike teorike dhe të aplikuar në MIPT. Nga përvoja ime duke punuar në universitete të mira ruse (dhe jo vetëm), bëra disa vëzhgime në lidhje me përgatitjen e studentëve në disiplinat kompjuterike.

Rregulli i 30 sekondave nuk funksionon më

Jam i sigurt që keni hasur në rregullin e 30 sekondave, i cili thotë se një programues duhet të kuptojë qëllimin e një funksioni pas një vështrimi të shpejtë në kodin e tij. Ajo u shpik shumë kohë më parë, dhe që atëherë janë shfaqur shumë sisteme operative, gjuhë, pajisje dhe algoritme. Unë kam shkruar kodin për 12 vjet, por relativisht kohët e fundit pashë kodin burimor për një produkt, i cili në shikim të parë më dukej si magji magjike. Sot, nëse nuk jeni të zhytur në fushën e temës, atëherë rregulli i 30 sekondave pushon së funksionuari. Përndryshe, jo vetëm 30, por edhe 300 sekonda nuk do të mjaftojnë për të kuptuar se çfarë është.

Për shembull, nëse doni të shkruani drejtues, do t'ju duhet të zhyteni në këtë zonë dhe të lexoni mijëra rreshta të kodit specifik. Me këtë qasje për të studiuar një lëndë, një specialist zhvillon një "ndjenjë të rrjedhës". Ashtu si në rep, kur ndjesia e një rime të mirë dhe e ritmit të duhur shfaqet pa racionalizim të veçantë. Po kështu, një programues i trajnuar mirë mund të njohë lehtësisht kodin joefektiv ose thjesht të keq, pa hyrë në një studim të detajuar se ku ka ndodhur një shkelje stili ose është përdorur një qasje jooptimale (por kjo ndjenjë mund të jetë shumë e vështirë për t'u shpjeguar).

Specializimi dhe kompleksiteti në rritje çojnë në faktin se arsimi bachelor nuk ofron më mundësinë për të studiuar të gjitha fushat në thellësi të mjaftueshme. Por është pikërisht në këtë nivel arsimimi që njeriu duhet të fitojë një pikëpamje. Më pas, në shkollën pasuniversitare ose në punë, do t'ju duhet të kaloni pak kohë duke u zhytur në problemet dhe specifikat e fushës së lëndës, duke studiuar zhargon, gjuhë programimi dhe kodin e kolegëve, duke lexuar artikuj dhe libra. Më duket se kjo është e vetmja mënyrë, me ndihmën e universitetit, për të "pompuar shiritin" për të ardhmen. Specialistët në formë T-je.

Cila gjuhë programimi është më e mirë për të mësuar në universitet?

Si të përfitoni sa më shumë nga një arsimim i shkencave kompjuterike
Për gëzimin tim, mësuesit e universitetit tashmë kanë hequr dorë nga kërkimi i përgjigjes së saktë në pyetjen: "Cila është gjuha më e mirë për të programuar?" Debati se cili është më i mirë - C# apo Java, Delphi apo C++ - praktikisht është zhdukur. Shfaqja e shumë gjuhëve të reja të programimit dhe akumulimi i përvojës pedagogjike kanë çuar në një kuptim të vendosur në mjedisin akademik: çdo gjuhë ka vendin e vet.

Problemi i mësimdhënies duke përdorur një ose një gjuhë tjetër programuese ka pushuar së qeni prioritet. Nuk ka rëndësi se në cilën gjuhë mësohet kursi. Gjëja kryesore është shprehja e mjaftueshme e gjuhës. libër "Arti i programimit me shumë procesor” është një ilustrim i mirë i këtij vëzhgimi. Në këtë botim tashmë klasik, të gjithë shembujt janë paraqitur në Java - një gjuhë pa tregues, por me Mbledhës të Garbage. Vështirë se dikush do të argumentonte se Java është larg nga zgjedhja optimale për të shkruar kodin paralel me performancë të lartë. Por gjuha ishte e përshtatshme për të shpjeguar konceptet e paraqitura në libër. Një shembull tjetër - kurs klasik i mësimit të makinerive Andrew Nna, dha mësim në Matlab në mjedisin Octave. Sot mund të zgjidhni një gjuhë programimi tjetër, por çfarë ndryshimi ka në të vërtetë nëse idetë dhe qasjet janë të rëndësishme?

Më praktike dhe më afër realitetit

Në të njëjtën kohë, vitet e fundit ka pasur shumë më tepër praktikues në universitete. Nëse më parë programet universitare ruse u kritikuan në mënyrë aktive për ndarjen nga realiteti, sot nuk mund të thuhet e njëjta gjë për arsimin e IT. 10 vjet më parë nuk kishte pothuajse asnjë mësues në universitete me përvojë reale në industri. Në ditët e sotme, gjithnjë e më shpesh, klasat në një departament të specializuar nuk mësohen nga mësues me kohë të plotë të shkencave kompjuterike, por nga specialistë praktikantë të IT-së, të cilët japin vetëm 1-2 kurse në kohën e tyre të lirë nga puna e tyre kryesore. Kjo qasje justifikon veten nga pikëpamja e trajnimit të personelit me cilësi të lartë, azhurnimit të kurseve dhe, natyrisht, kërkimit të punonjësve të mundshëm në kompani. Nuk mendoj se do ta zbuloj sekretin duke thënë se ne mbështesim një departament bazë në MIPT dhe ndërtojmë marrëdhënie me universitete të tjera, duke përfshirë edhe përgatitjen e studentëve që mund të fillojnë karrierën e tyre në Acronis.

Matematikan apo programues?

Si të përfitoni sa më shumë nga një arsimim i shkencave kompjuterike
Luftërat e shenjta, të cilat më parë rrotulloheshin rreth gjuhëve programuese, kanë kaluar në një drejtim filozofik. Tani të ashtuquajturit "programues" dhe "matematicienë" po debatojnë me njëri-tjetrin. Në parim, këto shkolla mund të ndahen në dy programe arsimore, por industria është ende e dobët në ndarjen e hollësive të tilla dhe nga universiteti në universitet kemi arsim të ngjashëm me një fokus paksa të ndryshëm. Kjo do të thotë se si studenti ashtu edhe kompania në të cilën ai do të vazhdojë të punojë do të duhet të plotësojnë enigmën e njohurive me pjesët që mungojnë.

Shfaqja e praktikuesve në universitete që shkruajnë kodin industrial në gjuhë të ndryshme u jep studentëve aftësi më të mira zhvillimi. Duke qenë se janë njohës të mirë të zbatimeve të bibliotekave standarde, kornizave dhe teknikave të programimit, programuesit praktikues ushqejnë te studentët dëshirën për të shkruar kod të mirë, për ta bërë atë shpejt dhe me efikasitet.

Sidoqoftë, kjo aftësi e dobishme ndonjëherë çon në shfaqjen e atyre që duan të rishpikin timonin. Studentët e programimit mendojnë kështu: "A duhet të shkruaj edhe 200 rreshta të tjerë kodi të mirë që do ta zgjidhin problemin drejtpërdrejt?"

Mësuesit që kanë marrë një arsim klasik matematikor (për shembull, nga Fakulteti i Matematikës ose i Matematikës së Aplikuar) shpesh punojnë në një mjedis pseudo-shkencor, ose në fushën e modelimit dhe analizës së të dhënave. “Matematikanët” i shohin problemet në fushën e Shkencave Kompjuterike ndryshe. Ato kryesisht funksionojnë jo me kod, por me algoritme, teorema dhe modele formale. Një avantazh i rëndësishëm i qasjes matematikore është një kuptim i qartë themelor i asaj që mund dhe nuk mund të zgjidhet. Dhe si ta zgjidhim atë.

Prandaj, mësuesit e matematikës flasin për programimin me një paragjykim ndaj teorisë. Nxënësit që vijnë nga "matematicienë" shpesh dalin me zgjidhje të menduara mirë dhe teorikisht superiore, por zakonisht jo optimale nga pikëpamja gjuhësore dhe shpesh të shkruara thjesht në mënyrë të shkujdesur. Një student i tillë beson se qëllimi i tij kryesor është të demonstrojë aftësinë për të zgjidhur probleme të tilla në parim. Por zbatimi mund të jetë i çalë.

Fëmijët që janë rritur si programues në shkollë ose në vitet e tyre të para sjellin me vete një "biçikletë shumë të bukur", e cila, megjithatë, zakonisht nuk funksionon me shumë efikasitet asimptotikisht. Përkundrazi, ata nuk i vendosin vetes për detyrë të teorizojnë thellësisht dhe t'u drejtohen teksteve në kërkim të zgjidhjeve optimale, duke preferuar kodin e bukur.

Në universitete të ndryshme, gjatë intervistave të studentëve, zakonisht shoh se cila "shkollë" qëndron në themel të arsimimit të tij. Dhe pothuajse kurrë nuk kam hasur në një ekuilibër të përsosur në arsimin bazë. Si fëmijë, në qytetin tim mund të përgatiteshe për olimpiadat e matematikës, por nuk kishte klube programimi. Tani, në klube, fëmijët mësojnë të programojnë në Go dhe Python "në modë". Prandaj, edhe në nivelin e pranimit në universitete, ka dallime në qasje. Besoj se është e rëndësishme të ruash të dyja aftësitë në universitet, përndryshe ose një specialist me bazë teorike të pamjaftueshme, ose një person që nuk ka mësuar dhe nuk dëshiron të shkruajë kod të mirë, do të vijë të punojë në kompani.

Si të "pomponi shiritin" për të ardhmen Specialistët në formë T-je?

Si të përfitoni sa më shumë nga një arsimim i shkencave kompjuterike
Është e qartë se në kushte të tilla studenti thjesht zgjedh atë që i pëlqen më shumë. Mësuesi thjesht përcjell këndvështrimin që është më afër tij. Por të gjithë do të përfitojnë nëse kodi shkruhet bukur, dhe nga pikëpamja e algoritmeve, gjithçka është e qartë, e arsyeshme dhe efektive.

  • Horizontet e TI-së. Një i diplomuar në një diplomë bachelor në Shkenca Kompjuterike është një specialist i gatshëm me një pikëpamje teknike të zhvilluar, i cili ndoshta ka zgjedhur profilin e tij. Por në vitin e ri, ne nuk e dimë se çfarë do të bëjë ai ose ajo. Ai mund të shkojë në shkencë ose analitikë, ose, përkundrazi, mund të shkruajë një sasi të madhe kodi çdo ditë. Prandaj, studentit duhet t'i tregohen të gjitha aspektet e punës në fushën e TI-së dhe të njihet me të gjitha mjetet. Në mënyrë ideale, mësuesit nga kurset teorike do të tregojnë një lidhje me praktikën (dhe anasjelltas).
  • Pika e rritjes. Është në interesin e vetë studentit që të mos lejojë të shkojë në ekstreme. Të kuptosh nëse je "matematicien" apo "programues" nuk është e vështirë. Mjafton të dëgjoni impulsin e parë kur zgjidhni një problem: çfarë doni të bëni - shikoni në librin shkollor në kërkim të qasjes optimale ose shkruani disa funksione që patjetër do të jenë të dobishme më vonë? Bazuar në këtë, ju mund të ndërtoni një trajektore të mëtejshme plotësuese të të mësuarit tuaj.
  • Burimet alternative të njohurive. Ndodh që programi të jetë i balancuar mirë, por "Programimi i Sistemit" dhe "Algoritmet" mësohen nga njerëz krejtësisht të ndryshëm, dhe disa studentë janë më afër mësuesit të parë, dhe të tjerët - me të dytin. Por edhe nëse nuk ju pëlqen profesori, kjo nuk është një arsye për të neglizhuar disa lëndë në favor të të tjerëve. Vetë bachelorët janë të interesuar të gjejnë vullnetin për të punuar me burimet e njohurive dhe në asnjë rast nuk u besojnë opinioneve radikale të tilla si "matematika është mbretëresha e shkencave, gjëja kryesore është të njohësh algoritmet" ose "kodi i mirë kompenson gjithçka tjetër".

Ju mund të thelloni njohuritë tuaja në teori duke iu drejtuar literaturës së specializuar dhe kurseve online. Ju mund të përmirësoni aftësitë tuaja në gjuhët e programimit në Coursera, Udacity ose Stepik, ku janë paraqitur shumë kurse të ndryshme. Gjithashtu, studentët shpesh fillojnë të shikojnë kurse të gjuhës hardcore nëse mendojnë se mësuesi i algoritmeve e njeh mirë matematikën, por nuk mund t'u përgjigjet pyetjeve komplekse të zbatimit. Jo të gjithë do të pajtohen me mua, por në praktikën time është dëshmuar mirë specializim në C++ nga Yandex, në të cilën analizohen në mënyrë sekuenciale veçoritë gjithnjë e më komplekse të gjuhës. Në përgjithësi, zgjidhni një kurs me vlerësime të larta nga kompani ose universitete me reputacion.

Aftësi të buta

Si të përfitoni sa më shumë nga një arsimim i shkencave kompjuterike
Të ardhur nga universiteti për të punuar në çdo kompani, nga një startup në një korporatë të madhe, studentët edhe nga universitetet më të mira e shohin veten të përshtatur dobët me mjedisin real të punës. Fakti është se sot universitetet i “kujdesin” shumë studentët. Edhe pas mungesës së shumë orëve, mospërgatitjes në kohë për teste dhe testeve, gjumit të tepërt ose vonesës për një provim, të gjithë mund ta kalojnë dhe ta rimarrin atë përsëri - dhe në fund të marrin një diplomë.

Megjithatë, sot ekzistojnë të gjitha kushtet që nxënësit të përgatiten për jetën e rritur dhe veprimtarinë e pavarur profesionale. Ata do të duhet jo vetëm të programojnë, por edhe të komunikojnë. Dhe kjo gjithashtu duhet të mësohet. Universitetet kanë formate të ndryshme për zhvillimin e këtyre aftësive, por, mjerisht, shpesh atyre nuk u kushtohet vëmendje e mjaftueshme. Megjithatë, ne kemi shumë mundësi për të fituar aftësi efektive të punës në grup.

  • Komunikimi i shkruar i biznesit. Fatkeqësisht, shumica e të diplomuarve që largohen nga universiteti nuk e kanë idenë e etikës së korrespondencës. Specifikimi i komunikimit në mesazhet e çastit është në shkëmbimin e mesazheve natën dhe ditën dhe përdorimin e stilit të bisedës dhe fjalorit joformal. Megjithatë, do të ishte e mundur të trajnohej fjalimi me shkrim kur studenti komunikon me departamentin dhe universitetin.

    Në praktikë, menaxherët shpesh përballen me nevojën për të zbërthyer një projekt të madh në detyra të vogla. Për ta bërë këtë, ju duhet të përshkruani qartë çdo detyrë dhe përbërësit e saj në mënyrë që zhvilluesit e rinj të kuptojnë se çfarë kërkohet prej tyre. Një detyrë e përcaktuar keq shpesh çon në nevojën për të ribërë diçka, kjo është arsyeja pse përvoja në komunikimin me shkrim i ndihmon të diplomuarit të punojnë në ekipe të shpërndara.

  • Prezantimi me shkrim i rezultateve të punës suaj. Për të paraqitur projektet e tyre arsimore, studentët e moshuar mund të shkruajnë postime në Habr, artikuj shkencorë dhe gjithashtu vetëm raporte. Ka shumë mundësi për këtë - puna e kurseve fillon në vitin e dytë në disa universitete. Ju gjithashtu mund të përdorni ese si një formë kontrolli - ato zakonisht janë më afër në formë me një artikull gazetaresk. Kjo qasje tashmë është zbatuar në Shkollën e Lartë Ekonomike të Universitetit Kombëtar të Kërkimeve.

    Nëse një kompani praktikon një qasje fleksibël ndaj zhvillimit, ajo duhet të prezantojë rezultatet e punës së saj në pjesë më të vogla, por më shpesh. Për ta bërë këtë, është e rëndësishme të jeni në gjendje të përcillni shkurtimisht rezultatet e punës së një specialisti ose të gjithë ekipit. Gjithashtu, shumë kompani sot kryejnë "rishikime" - vjetore ose gjysmë-vjeçare. Punonjësit diskutojnë rezultatet dhe perspektivat e punës. Rishikimi i suksesshëm është arsyeja kryesore për rritjen e karrierës, shpërblimet, për shembull, në Microsoft, Acronis ose Yandex. Po, mund të programosh mirë, por "i ulur në qoshe" edhe një specialist i lezetshëm do të humbasë gjithmonë ndaj dikujt që di ta paraqesë mirë suksesin e tij.

  • Shkrimi Akademik. Shkrimi akademik meriton përmendje të veçantë. Është e dobishme që studentët të njihen me rregullat e shkrimit të teksteve shkencore, përdorimin e argumenteve, kërkimin e informacionit në burime të ndryshme dhe formatimin e referencave për këto burime. Është e këshillueshme që kjo të bëhet në anglisht, pasi ka shumë më tepër tekste të mira në komunitetin akademik ndërkombëtar, dhe për disiplina të ndryshme ka tashmë modele të krijuara për paraqitjen e rezultateve shkencore. Sigurisht, aftësitë e shkrimit akademik nevojiten edhe kur përgatiten botime në gjuhën ruse, por ka shumë më pak shembuj të artikujve të mirë modernë në anglisht. Këto aftësi mund të fitohen përmes një kursi të përshtatshëm, i cili tani përfshihet në shumë programe arsimore.
  • Takimet drejtuese. Shumica e studentëve nuk dinë të përgatiten për takime, të mbajnë procesverbale dhe të përpunojnë të dhëna. Por nëse e zhvillojmë këtë aftësi në kolegj, për shembull, duke marrë pjesë në projekte ekipore, mund të shmangim humbjen e kohës në vendin e punës. Kjo kërkon mbikëqyrje të punës së projekteve të studentëve në mënyrë që t'i mësojë ata se si t'i zhvillojnë takimet në mënyrë efektive. Në praktikë, kjo i kushton shumë para çdo korporate - në fund të fundit, nëse disa njerëz që marrin një pagë të madhe shpenzojnë një orë kohë pune në një tubim, ju dëshironi që të ketë një kthim përkatës.
  • Të folurit publik. Shumë studentë përballen me nevojën për të folur publikisht vetëm kur mbrojnë tezën e tyre. Dhe jo të gjithë janë gati për këtë. Kam parë shumë studentë që:
    • qëndrojnë me shpinë nga publiku,
    • duke u tundur, duke u përpjekur të prezantojë komisionin me ekstazën,
    • thyej stilolapsa, lapsa dhe tregues,
    • duke ecur në rrathë
    • shikoni dyshemenë.

    Kjo është normale kur një person performon për herë të parë. Por ju duhet të filloni të punoni me këtë stres më herët - duke mbrojtur kursin tuaj në një atmosferë miqësore, mes shokëve tuaj të klasës.

    Për më tepër, praktika standarde në korporata është t'i jepet një punonjësi mundësinë për të propozuar një ide dhe për të marrë fonde, një pozicion ose një projekt të dedikuar për të. Por, nëse mendoni për këtë, kjo është e njëjta mbrojtje e lëndëve, vetëm në një nivel më të lartë. Pse të mos praktikoni aftësi të tilla të dobishme në karrierë gjatë studimit?

Çfarë më ka munguar?

Një nga arsyet për të shkruar këtë post ishte artikulli, publikuar në faqen e internetit të Universitetit Shtetëror Tyumen. Autori i artikullit fokusohet vetëm në mangësitë e studentëve rusë të vërejtur nga mësuesit e huaj. Praktika e mësimdhënies sime në universitete të ndryshme sugjeron që shkolla ruse dhe arsimi i lartë ofron një bazë të mirë. Studentët rusë janë të zgjuar në matematikë dhe algoritme, dhe është më e lehtë të ndërtohet një komunikim profesional me ta.

Në rastin e studentëve të huaj, përkundrazi, pritshmëritë e një mësuesi rus ndonjëherë mund të jenë shumë të larta. Për shembull, në nivelin e formimit bazë në aspektin e matematikës, studentët indianë që takova janë të ngjashëm me ata rusë. Megjithatë, ndonjëherë atyre u mungojnë njohuritë e specializuara kur diplomohen nga studimet e tyre universitare. Nxënësit e mirë evropianë ka të ngjarë të kenë një formim më pak të fortë të matematikës në nivel shkolle.

Dhe nëse studioni ose punoni në një universitet, tani mund të punoni në aftësitë e komunikimit (të tuajat ose të studentëve tuaj), të zgjeroni bazën tuaj themelore dhe të praktikoni programimin. Për këtë qëllim, sistemi arsimor rus ofron të gjitha mundësitë - ju vetëm duhet t'i përdorni ato në mënyrë korrekte.

Do të jem i lumtur nëse në komentet e postimit ndani lidhjet tuaja me kurse dhe metoda që ndihmojnë në barazimin e ekuilibrit në arsim, si dhe mënyra të tjera për të përmirësuar aftësitë e buta gjatë studimeve në universitet.

Burimi: www.habr.com

Shto një koment