Čau Habr!
Kam mācīties? Vai man iet mācīties datorzinātnēs vai kļūt par programmatūras inženieri? Šie jautājumi ir ļoti aktuāli mūsu laikā.
Ko tu izvēlēsies?
Cilvēki, kuri tikai sāk savu ceļu IT jomā un gatavojas iestāties kādā tehniskajā augstskolā vai vienkārši meklē programmēšanas apmācības programmas, visbiežāk sastopas ar ļoti daudziem virzieniem. Lieta tāda, ka katrā no šīm jomām priekšmeti ir līdzīgi, īpaši 1. un 2. kursā.
Skaidrības labad visas jomas sadalīsim divās nometnēs – Datorzinātnēs un Programmatūras inženierijā. Principiāla atšķirība ir tā, ka pirmais virziens ir elastīgāks un labāk apgūst fundamentālas lietas, bet otrais ir vērsts uz praktiskākām iemaņām programmu veidošanā tirgum. Neatkarīgi no tā, kuru no šīm jomām izvēlaties, jūs galu galā kļūsit par programmētāju. Visticamāk, pēc studijām vai studiju laikā dosies kaut kur strādāt, un tieši tas, kādā attīstības sektorā tiksi ielaists un uz ko varēs pieteikties, noteiks, kuru virzienu izvēlēsies.
Abās nometnēs pirmajos 2–4 semestros tiek apgūti līdzīgi priekšmeti, piemēram, lineārā algebra, aprēķini, diskrētā matemātika un diferenciālvienādojumi. Visa šī matemātika parasti tiek apgūta abās nometnēs, bet datorzinātnēs tiek pievienots vēl viens diskrētās matemātikas un diferenciālvienādojumu kurss. Visām jomām kopīgs ir arī ievads vispārējā datorzinātnē, un šeit sākas atšķirības. Datorzinātnes virzienā tiek runāts par datoru arhitektūru, skaitļošanas algoritmu teoriju, datu struktūru un to analīzi, kā darbojas programmas un kā tās var rakstīt, izmantojot klasiskos dizainus, operētājsistēmas, kompilatorus utt. Tas ir, tiek segts lielāks pamats. Savukārt Programmatūras inženierija runā par OOP dizainu, programmatūras testēšanu, operētājsistēmu pamatiem utt. Citiem vārdiem sakot, tiek apgūta tehnikas apguve, lai students varētu iemācīties izmantot gatavus risinājumus un ar to palīdzību risināt dažādu biznesa problēmu loku. Tas viss parasti tiek pētīts pirmajā studiju gadā.
Tālāk jau 2. kursā abās nometnēs sāk apgūt tādus priekšmetus kā datoru arhitektūra un operētājsistēmas, bet Programmatūras inženierija šos priekšmetus apgūst virspusīgāk. Tas ir saistīts ar faktu, ka viņi apmāca cilvēkus, kuriem būs mazs sakars ar šiem priekšmetiem. Sākot ar 2. studiju gadu, datorzinātnēs tiek likts lielāks spiediens uz mikroarhitektūru un OS kodoliem, un programmatūras izstrādē vairāk tiek likts uzsvars uz lietotāja interfeisiem, testēšanu, programmatūras analīzi, visa veida pārvaldības metodēm utt. OOP pētīšana abos virzienos ir diezgan padziļināta, jo šī programmēšanas paradigma mūsdienās ir ļoti populāra un par to tikai jāzina.
Datorzinātnes 3.kurss ir veltīts kombinatorikas, kriptogrāfijas, AI, programmatūras izstrādes pamatu, 3D grafikas un kompilatoru teorijas apguvei. Programmatūras inženierijā viņi studē sistēmu drošību, tīklus un internetu, programmatūras pārvaldību un pārvaldību kopumā. Bet atkarībā no universitātes šie priekšmeti un to dziļums var atšķirties.
Varbūt šī raksta galvenais jautājums joprojām ir jautājums par to, kur labāk doties. Tas viss ir atkarīgs no jūsu vēlmēm. Ja vēlaties būt ļoti elastīgs un daudzpusīgs inženieris, jums vajadzētu doties uz datorzinātnēm. Un, ja vēlaties saistīt savu dzīvi ar programmatūras izstrādi un izveidot dažas noderīgas programmas gala lietotājiem, tad Programmatūras inženierija ir tieši jums.

Rezumējot, vēlos teikt, ka datorzinātnēs jūs iemācīs risināt problēmas un izdomās elegantus veidus šo problēmu risināšanai, savukārt Programmatūras inženierijā jūs tiksiet pārvērsts par biznesa programmētāju, kurš spēs vadīt projektus, cilvēkiem un izveidot jaunāko programmatūru.
Avots: www.habr.com
