Բարև, Хабр!
Որտեղ պետք է սովորեք? Գնալ համակարգչային գիտություններ ուսումնասիրելու կամ զբաղվել սոֆթ ինժեների հմտությամբ: Այս հարցերն արդիական են մեր ժամանակներում:
Ի՞նչ կընտրեք դուք:
People who are just starting their journey in the IT sphere and are going to enroll in a technical university or are simply looking for programming training programs often come across a vast number of disciplines. The essence is that the subjects in each of these disciplines are similar, especially in the first and second years.
For clarity, let's divide all disciplines into two camps — Computer Science and Software Engineering. The fundamental difference is that the first discipline is more flexible and focuses on fundamental concepts, while the second emphasizes practical skills for market-ready software development. Regardless of which discipline you choose, you will ultimately become a programmer. Most likely, you will seek employment during or after your studies, and the specific area of development you qualify for will depend on the discipline you choose.
In both camps, the first 2-4 semesters cover similar subjects such as linear algebra, mathematical analysis, discrete mathematics, and differential equations. Generally, this math is taught in both camps, but in Computer Science, an additional course in discrete mathematics and differential equations is added. A common subject for all disciplines is Introduction to General Computer Science, but this is where the differences begin. In Computer Science, they cover computer architecture, algorithm computation theory, data structures and their analysis, how programs work, and how to write them using classical constructs, operating systems, compilers, and so on. This means a broader foundational coverage. In Software Engineering, they discuss OOP design, software testing, operating system fundamentals, and so on. In other words, they cover techniques so that students can learn to use existing solutions to solve a different range of business tasks. All of this is usually studied in the first year of training.
Ավելի ուշ, արդեն 2-րդ կուրսում, երկու ճամբարներն էլ սկսում են ուսումնասիրել այնպիսի առարկաներ, ինչպես՝ համակարգչային ճարտարապետություն և գործառնական համակարգերի կառուցվածք, բայց Software Engineering-ը ուսումնասիրում է այս առարկաներն ավելի մակերեսно: Սա կապված է այն բանի հետ, որ այնտեղ պատրաստում են մարդկանց, որոնք քիչ են կապված այս առարկաների հետ: 2-րդ տարին սկսելով, Computer Science-ը ավելի շատ ուշադրություն է դարձնում միկրաարխիտեկտուրայի և OS kernel-ների կառուցվածքին, իսկ ծրագրային ապահովման разработки-ում ավելի մեծ շեշտադրում են թողարկվում օգտագործողի ինտերֆեյսերին, գործարկմանը, ծրագրային ապահովման վերլուծությանը, տարբեր կառավարման մեթոդների և այլն: Մասնավորապես, OOP-ն ուսումնասիրում են երկու ուղղություններով բավականին խորացված, այն պատճառով, որ այս ծրագրավորման ցանկացածություն այժմ շատ տարածված է, և դրա մասին պարզապես հարկավոր է իմանալ։
Computer Science-ի 3-րդ ուսումնական տարին հանձնվում է կոմբինատորիկայի, կրիպտոգրաֆիայի, ԱԽ, ծրագրավորման հիմքերի, 3D գրաֆիկայի և կոմպիլյատորայնության տեսության ուսումնասիրությանը: Իսկ Software Engineering-ում ուսումնասիրում են համակարգային անվտանգությունը, ցանցեր և ինտերնետ, ծրագրային ապահովման կառավարման և ընդհանուր կառավարման հարցերը: Սակայն, կախված բարձրագույն ուսումնական հաստատությունից, այս առարկաների խորացումը կարող է տարբեր լինել։
Ֆուտբոլի գլխավոր հարցը այս հոդվածում մնում է, թե ուր լավագույնս գնալ։ Այստեղ արդեն ամեն ինչ կախված է ձեր նախասիրություններից: Եթե ցանկանում եք լինել շատ ճկուն և բազմակողմանի ինժեներ, ապա ձեզ պետք է գնալ Computer Science-ը: Իսկ եթե ցանկանում եք կապել ձեր կյանքը ծրագրերի մշակման հետ և լինել ունակ ստեղծել որոշ օգտակար ծրագրեր վերջնական օգտագործողների համար, ապա Software Engineering-ը հենց ձեզ համար է։

Նախնական եզրակացություն անելով, ցանկանում եմ ասել, որ Computer Science-ում ձեզ ուսուցանելու են լուծումներ գտնել և մտածել անզուգական լուծումների մասին, իսկ Software Engineering-ում ձեզ կդարձնեն բիզնես ծրագրավորող, որը կարող է կառավարել նախագծերը, մարդկանց և ստեղծել համապատասխան ծրագրեր։
Ընտանիք: habr.com
