Hello, Habr!
Hvem skal man studere? Skal man gå ind i datalogi eller tilegne sig færdigheder som softwareingeniør? Disse spørgsmål er meget relevante i vores tid.
Og hvad vælger du?
Personer, der lige er begyndt deres rejse inden for IT, og som planlægger at ansøge om optagelse på en teknisk højskole, eller som bare leder efter uddannelsesprogrammer inden for programmering, støder oftest på et overvældende antal retninger. Meningen er, at fagene i disse retninger ligner hinanden, især i første og anden semester.
For klarhedens skyld kan vi opdele alle retninger i to lejre — Computer Science og Software Engineering. Den grundlæggende forskel er, at den første retning er mere fleksibel og fokuserer mere på fundamentale emner, mens den anden retning er rettet mod praktiske færdigheder inden for softwareudvikling til markedet. Uanset hvilken retning du vælger, vil du ende med at blive programmør. Sandsynligvis vil du finde et job efter eller under studiet, og hvilken udviklingssektor du får adgang til, og hvad du kan opnå, vil afhænge af den retning, du vælger.
I begge lejre studeres lignende emner i de første 2-4 semestre, såsom lineær algebra, matematisk analyse, diskret matematik og differentialligninger. Al denne matematik studeres typisk i begge lejre, men i Computer Science tilføjes et ekstra kursus i diskret matematik og differentialligninger. Et fælles emne for alle retninger er en introduktion til generel datalogi, men her begynder forskellene. Inden for Computer Science undervises der i computermaskinens arkitektur, teorien om algoritmisk beregning, datastukturer og deres analyse, samt hvordan programmer fungerer, og hvordan man kan skrive dem ved hjælp af klassiske konstruktioner, operativsystemer, compilere osv. Det indebærer en bredere dækning af fundamentale emner. I Software Engineering undervises der om OOP-design, softwaretest, grundlæggende i operativsystemer osv. Med andre ord fokuserer det på teknikker, så studerende kan lære at bruge eksisterende løsninger og bruge dem til at løse forskellige forretningsopgaver. Alt dette studeres som regel i løbet af det første studieår.
I løbet af 2. studieår begynder begge studieretninger at fokusere på emner som computerarkitektur og operativsystemernes opbygning, men Software Engineering behandler disse emner mere overfladisk. Dette skyldes, at de forbereder mennesker, som ikke vil være nært forbundet med disse emner. Fra 2. år øger Computer Science fokus på mikroarkitektur og kerner i operativsystemer, mens Software Engineering lægger mere vægt på brugergrænseflader, testning, softwareanalyse, forskellige ledelsesmetoder osv. Især bliver OOP (objektorienteret programmering) studeret grundigt i begge retninger, da denne programmeringsparadigme er meget populær i dag, og man simpelthen skal vide om den.
I 3. studieår i Computer Science er der fokus på studiet af kombinationsteori, kryptografi, AI, grundlæggende softwareudvikling, 3D-grafik og kompilatort teori. I Software Engineering studeres system-sikkerhed, netværk og internettet, softwareledelse og generel ledelse. Men afhængigt af universitetet kan disse emner og dybden af deres behandling variere.
Spørgsmålet, der står tilbage i denne artikel, er, hvilken vej man bedst skal vælge. Dette afhænger helt af dine præferencer. Hvis du ønsker at være en meget fleksibel og alsidig ingeniør, skal du vælge Computer Science. Men hvis du ønsker at binde dit liv til softwareudvikling og være i stand til at skabe nyttige programmer til slutbrugere, så er Software Engineering lige noget for dig.

Sammenfattende vil jeg sige, at Computer Science lærer dig at løse problemer og komme op med elegante måder at løse dem på, mens Software Engineering omdanner dig til en business-programmør, der kan styre projekter, mennesker og skabe relevant software.
Kilde: habr.com
