Computer Science vs Computer Programméierung: Wat ass den Ënnerscheed?

Bildkredit

Et fillt sech sou wéi déi zwee Begrëffer am Titel an de leschte Joren zimmlech ronderëm geworf goufen. Als een deen just d'Studie vu Programméiere selwer ugeholl hat, hunn ech héieren d'Begrëffer "Computer Science" a "Computer Programming" hunn zënter kuerzem, praktesch austauschbar, vill benotzt. Et schéngt, datt ech wär eng remiss fir net e bësse méi ze léieren iwwer wat jidderee wierklech heescht an e puer vun de folgende Froen äntweren: Sinn se déi selwecht Saach? Si si mat Bezéiung? Een enthält deen aneren?

Firwat ass et egal?

Als een deen just ugefaang huet ze léieren wéi ze programméieren (an deen e 4-Joer Bachelor-Diplom huet awer net an der Informatik), kann ech soen datt ech d'Gefill kréien datt et bedeitend Bedeitung huet wat meng Karriereperspektiven ugeet. Ganz dacks wann ech Software-Zesummenhang Jobpostinge kucken, gesinn ech datt e 4-Joer Computer Science Grad entweder erfuerderlech ass oder als e grousse Plus ass. Dëst féiert dacks een an menger Positioun zu sech selwer déi folgend Froen ze stellen: Hat ech de Boot verpasst? Ass ‘Computerprogramméiere’ eng manner Konscht déi ech geduecht hunn? Ass e Computer Science Grad wat déi richteg Software Ingenieuren ënner hirem Gürtel hunn?

D'Figur wann ech iergendwou op menger Sich ugefaang sinn, kontrolléieren ech d'Wikipedia Definitioun vun all Begrëff:

Computerprogramméiere ass de Prozess fir en ausführbare Computerprogramm ze designen an ze bauen fir eng spezifesch Informatik Aufgab ze erfëllen ... Den Zweck vun der Programmatioun ass eng Sequenz vun Instruktiounen ze fannen déi d'Ausféierung vun enger Aufgab op engem Computer automatiséieren, dacks fir e bestëmmte Problem ze léisen.

Ech vergläichen dat mat der Definitioun fir Informatik:

Informatik ass d'Studie vu Prozesser déi mat Daten interagéieren an déi als Daten a Form vu Programmer vertruede kënne ginn. Et erméiglecht d'Benotzung vun Algorithmen fir digital Informatioun ze manipuléieren, ze späicheren an ze kommunizéieren. E Computerwëssenschaftler studéiert d'Theorie vun der Berechnung an der Praxis vum Design vu Software Systemer.

Vum Gitt-go kann ech gesinn datt et hei e groussen Ënnerscheed ass. Computer Programméiere schéngt de Prozess ze sinn fir Programmer ze designen an ze bauen déi eng gegebene Aufgab erfëllen. Computer Science, op der anerer Säit, ass déi Basisdatenstudie vun dëse Prozesser. Fir mech, wat dëse Verglach schéngt ze probéieren ze soen ass datt Computer Programmering am Räich vun ugewandten Technologie läit, wärend Computer Science méi theoretesch leet.

Fir weider Kloerheet kucken ech op Meenunge vun erfuerene Software Ingenieuren iwwer Differenzen tëscht deenen zwee. Ier ech weidergoe muss ech drop hiweisen datt onofhängeg vu jidderengem d'Meenung, et schéngt datt vill vun dëser Diskussioun duerch d'Lëns vun der Héichschoul gekuckt gouf, an deementspriechend beaflosst gouf. Och wann et Ressourcë sinn fir direkt Froen ze beäntweren wéi "Wat ass den Ënnerscheed tëscht Computer Wëssenschaften a Computerprogramméiere?", Dacks ass d'Gespréich duerch Froen geformt wéi "Wéi eng Majoritéit sollt ech an der Uni studéieren: Computer Science oder Software Engineering?" Wéi et et stellt sech eraus, ursprénglech onbekannt fir mech, vill Schoulen bidden e "Software Engineering" Grad, wat fir Zwecker vun dësem Artikel méi ka mat Computerprogramméierung vergläichen sinn. Wéi een sech et erwaart, Computer Science Graden tendéieren d'Schüler méi a Richtung eng theoretesch Studie vun den ënnerierdesche Prozesser vu Computeren, während Software Engineering eng Ausbildung an der Uwendung vun dëse Prinzipien ubitt. Onofhängeg vun hiren Ënnerscheeder, dës Disciplines schéngen awer opfallend Ähnlechkeeten ze hunn.

A sengem Medium Artikel "Computer Science VS Software Engineering - Wéi eng Majoritéit ass Bescht fir Iech?" (Ënnendrënner verlinkt), tech YouTuber a fréiere Google Entwéckler YK Sugi ënnersicht d'Differenzen tëscht Computer Science a Software Engineering Majors op der University of Waterloo, wéinst senger betruecht datt et ee vun de beschte Computerwëssenschaftsprogrammer an Nordamerika huet. Hien huet erausfonnt datt d'Majoren eng iwwerraschend Quantitéit vun der Iwwerlappung haten, "bal identesch" wat hir Ufuerderunge fir Mathematik a Statistiken ugeet, awer huet och fonnt datt all Major mat senger eenzegaarteger Qualitéite gekrasch huet:

Ech denken (a Bezuch op déi wichteg fir ze wielen) hänkt et meeschtens vun Äre Virléiften of. Kurz gesoot:
Dir sollt Computer Wëssenschaften wielen wann Dir Mathematik, Logik wëllt, oder wann Dir an e spezialiséiert Feld an CS wëllt, wéi kënschtlech Intelligenz, Maschinnléieren, Sécherheet oder Grafiken.
Dir sollt Software Engineering wielen wann Dir méi interesséiert sidd un der praktescher Approche, a wann Dir de Gesamtliewenszyklus léiere wëllt wéi d'Software opgebaut an ënnerhält.

Dat gëtt gesot, wann hien d'Fro beäntwert, wéi eng Majoritéit fir am Interesse sinn fir e Software Ingenieur ze ginn, äntwert den Sugi iwwerraschend mam Uerteel datt e Computer Science Major besser ass. Aus offensichtleche Grënn koum dëst als eng Iwwerraschung fir mech. Wéi konnt e Software Engineering Grad net déi bescht Avenue fir eng Aarbecht am Software Engineering ze sécheren?

Vill Schoulen bidden net och Software Engineering Majors. Sugi weist datt d'Universitéit vu British Columbia zu Vancouver nëmmen Informatik ubitt, fir theoretesch a Software-Zesummenhang Studie, a Computer Engineering, konzentréiert op Computer Hardware. Jiddereen huet Coursen a Software Engineering ugebueden, awer et war keen eegene Major. Wéi kann et sinn datt eng Schoul wéi University of Waterloo eng Majoritéit an der Software Engeering bitt awer net et ass déi bescht Optioun fir potenziell Software Ingenieuren? Sugi bitt méi Ausbreedung:

Typesch, wat se (Patronen) an engem Software Ingenieur Kandidat sichen ass d'Fäegkeet fir zolitt Code ze schreiwen an interessant Projekter ze bauen, souwéi Computer Wëssenschaftsbasis abegraff Daten Strukturen an Algorithmen.
Ech denken de beschte Wee fir dës Fäegkeet ze kultivéieren ass andeems Dir séier Informatikfundament léiert, an Är eegen Zäit ze üben fir d'Problemer ze léisen a Code ze schreiwen.
Baséierend op dem Kurrikulum fir Software Engineering a baséiert op wéi beschäftegt Ingenieursstudenten an der Regel tendéieren, mengen ech, wier et méi schwéier dëst mat Software Engineering ze maachen wéi mat Computer Science.

De Punkt Sugi schéngt ze maachen ass datt während d'Fundament vun der Informatik eppes am beschten an engem Klassesall studéiert sinn, d'applikativ Natur vum Verständnis am Software Engineering vill erfuerderlech Erfahrung erfuerdert. Dëst ass eppes Universitéitsstudie kann tatsächlech behënneren fir Studenten déi an dëst Feld kommen.

Onofhängeg vun den Ugrëffer vum Sugi an aneren iwwer dëst Thema, et bleift ganz schwéier ze bestreiden datt d'Existenz vun dësen Majoren an Departementer op den Universitéite staark beaflosst huet wéi mir de Computer Science kucken, zesumme mat sengem Verglach mam Computerprogramméierung.

Während mir elo e bësse besser Iddi hunn, wéi dës Fro an engem akademesche Kontext gekuckt gëtt, bleift d'Fro nach ëmmer tëscht der kategorescher Bezéiung tëscht Informatik a Computerprogramméierung. Ass d'Programméierung nestéiert an enger Ënnerkategorie vun der Informatik oder sinn déi zwou Disziplinne nach ëmmer ënnerscheedlech?

Vu wat d'Fuerschung eis seet, gesäit et aus wéi Computerprogramméierung zu der Informatik gehéiert, awer mat genuch wichteg Ënnerscheeder datt et e Feld an eegene Recht ass.

Tech YouTuber Sylvester Morgan, a sengem 2017 Video “Wat ass Software Entwécklung? Software Entwécklung VS Computer Science "(hei ënnendrënner verlinkt), detailléiert d'Differenzen tëscht deenen zwee:

Software Entwécklung ass d'Benotzung vu Programméierungssproochen an Tools fir Instruktiounen ze schreiwen déi de Computer versteet fir eppes ze realiséieren, fir e Problem ze léisen ... eppes ze bauen oder eppes ze automatiséieren. Software Entwécklung ass eng Applikatioun vu Computerwëssenschaften.
Informatik ass d'Wurzel an d'Fundament a Softwareentwécklung déi uewen drop setzt, awer se sinn net déi selwecht Saach. Dir kënnt e produktiven a kompetente Softwareentwéckler ginn ouni dat Fundamentalkenntnis, awer als e richtege Profi ass et gutt fir ëmmer virwëtzeg ze sinn a méi déif an dës Saache ze verdauen wéi néideg a wéi Dir interesséiert sidd.

Wärend de Morgan betruecht d'Programmatioun als eng Ënnerkategorie an d'Applikatioun vu Computerwëssenschaften, awer hie gesäit se als ënnerscheedlech genuch datt se mat getrennten Geeschtes kënne befrot ginn.

An hirem Edsurge Artikel 2015 "Computer Science Goes Beyond Coding" (hei ënnendrënner verlinkt) weist de Kolumnistin Sheena Vaidyanathan datt d'Programméierung ee vun e puer groussen Komponenten vun der Informatik ass:

Computerwëssenschaft geet iwwer d'Problemer mat Computeren ze léisen a Kodéierung (oder Programméiere) geet ëm dës Léisungen. Computerwëssenschaftler kënnen wéi Architekten sinn, déi d'Haus designen - awer et mussen net bauen.
Deen neie Lycée AP Computer Science Prinzipien Kurs reflektéiert dës wichteg Ënnerscheedung méi, andeems se op siwe grouss Iddien fokusséieren: Kreativitéit, Abstraktioun, Daten, Algorithmen, Programméiere, Internet, Global Impakt. Kodéierung (Programméiere) ass just ee vun dëse siwe Beräicher.

An hirem Artikel betreffend Ausbildung iwwer dës Themen etabléiert de Vaidyanathan datt et vill staark Grënn gi fir Informatik als Ganzes ze léieren an datt eng Aversioun géint d'Programméierung eleng net e Grond ass fir aner Gebidder an der Informatik ze vermeiden.

Tech YouTuber, entwéckelt a Schrëftsteller Aaron zu Beta brécht dëst Thema och a sengem 2017 Video "Wat ass den Ënnerscheed tëscht Computer Wëssenschaften a Computerprogramméierung" (hei verlinkt):

... si se déiselwecht Saach (Informatik a Computerprogramméiere), a wat ass den Ënnerscheed? Also ech mengen, datt déi einfachst Fro ze beäntweren ass och déi schwéierst Saach ze beäntweren. Sinn dës zwee Begrëffer déi selwecht Saach? An d'Äntwert ass wierklech, "Nee, si sinn net. Awer si si ganz enk gebonnen “…
… Et ass d'selwecht Aart Konzept wéi wann Dir e Chemiker an e Chemeschen Ingenieur hätt. Computer Programméiere ass déi chemesch Ingenieur Säit vun dësem. Et si d'Leit déi d'Fuerschung maachen an se an alldeegleche Situatiounen uwenden, woubäi d'Computer Wëssenschaftsäit méi vum Chemiker ass. Si maachen d'wëssenschaftlech Aarbecht, d'theoretesch Aarbecht fir datt een et an d'real Welt ëmsetzen kann.

Den Aaron zu Beta seet och weider datt obwuel déi zwee Felder getrennt sinn, ee verständlech déngt Verständnis vun deem aneren. En zolitt Verständnis vun den Theorien hannert wéi Computere funktionnéieren kann hëllefen e méi effektive Code ze schreiwen, wësst Dir wéi Dir d'Instruktioune am beschten ubitt, déi Computeren verfollegen, kann hëllefen e méi verständlecht Verständnis vu Computeren als Ganzt ze féieren.

Also Wou passen Bootcamp Grads an all dat?

Wéi een hei uewen ze erkennen ass, fënnt e groussen Deel vun der Diskussioun iwwer Computer- a Softwarekarrieren op der Universitéit statt, déi déi verloossen an d'Spill e bësse méi spéit méi spéit gefillt hunn (mech selwer abegraff). Dat gesot gëtt, iwwerdeems et extensiv Diskussioun iwwer dëst Thema gouf, ass et tatsächlech fair ze soen datt fréier, aktuell oder prospektiv coding Bootcamp Studenten net solle sech sou enttäuscht fillen.

A sengem 2018 Medium Artikel "Coding Bootcamps vs. Computer Science Degrees: Wat Patronen wëllen an aner Perspektiven" (ënnendrënner verlinkt), sicht d'Universitéit vu Washington Doktorand Kyle Thayer dëst spezifescht Thema unzegoen. Hie seet datt souwuel Bootcamp a 4-Joer Computer Science Graden hir eegen Zwecker a Stäerkten droen:

Den Zweck vun engem CS Grad ass et de Studenten en Iwwerbléck iwwer d'wëssenschaftlech Feld vun der Informatik ze ginn ... Codéierung vu Bootcampen, op der anerer Säit, fokusséiere sech op d'Ausbildung vu Leit fir eng spezifesch Aart vu Programméierungs-Job (normalerweis voll-Stack Web-Programméierung).
… Codéieren vun Bootcampen sinn onwahrscheinlech de Grondsätz vun Betribssystemer ze decken, an CS Programmer sinn onwahrscheinlech déi lescht Web Technologien ze decken oder vill Teamaarbecht ze hunn. Universitéitsprogrammer ännert sech lues, awer sou maachen d'Grondlage vun der Informatik, wärend d'Kodéierung vu Bootcampe séier verännert, a fäeg sinn mat der rapider Tempo vun der Technologieverännerung ze halen. Ech erwaarden datt Codéierung vu Bootcampen an CS Grad fir an existéierend als getrennte Bunnen an Zukunft weiderzebréngen, egal ob et onofhängeg oder gemeinsam leeft.

Den Thayer selwer Websäit dës 2017 Studie vum Tatsächlech Blog (hei ënnendrënner verlinkt). D'Etude, mam Titel "Wat mengt Dir Patrone wierklech iwwer d'Kodéierung vun Bootcamp?", Sampling iwwer 1000 technesch Recruteuren a mënschlech Ressource-Manager. Wéi den Artikel weist, hunn e schockéierend 72% geäntwert datt se Bootcamp Graden "just esou virbereet a méiglecherweis héich Performers als Kandidate mat Informatik-Grad" gesinn, während eng zousätzlech 12% "denken datt Bootcamp Graduéierter méi virbereet a méi wahrscheinlech sinn Sief héich performers. "Aus dëse vermoossen, ongeféier 17%" mengen datt Bootcamp Graduéierter net esou bereet sinn oder méiglecherweis méi héich performant sinn als Kandidate mat Informatik-Grad. "

80% vun de gefroten Manager hu gemellt datt se iergendwann e Bootcamp Graduéierende haten engagéiert hunn, an e stäckeger Betrag (99.8%), soten datt se eng Kéier géifen engagéieren.

Während jiddereen d'Meenung ënnerscheet, fannen ech et schwéier ze schléissen datt dës Resultater fir Bootcamp Programméierer enttäuschend solle sinn, tatsächlech géif ech soen datt se meng Erwaardungen iwwerschreiden Dës Etude kënnt mat Basisinformatioun, awer: trotz der allgemenger positiver Vue vu Bootcamp Grads, 41% vun den Ëmfro Interviewten an der Studie hunn dat gesot, si wären méi bequem fir een mam Computer Science Diplom anzestellen. Dëst ass gréisstendeels wéinst de gutt geregelte Kernstandards vun den Universitéiten, an der fehlender Reguléierungsstruktur vun der aktueller kodéierend Bootcamp. Fir mat ähnlechen Themen ze verfollegen, hunn Interviewten gesot datt fir méi abstrakt Projete betreffend theoretescht Wëssen iwwer Computeren, Computer Science Graden méi héich gewäert sinn, wärend mat Aufgaben, déi méi praktesch Verständnis vun Themen erfuerderen, Bootcamps-Zertifikater grad sou wäertvoll waren.

Also Wat sinn d'Ausnamen?

Gutt, loosst eis e puer vun de Froen déi am Ufank vum Post gefrot sinn:

Sinn Computer Wëssenschaften a Computerprogrammer datselwecht Saach?

Nee. Wärend vill gemeinsam hunn, wier et richteg ze soen datt Computerprogramméiere a Computerwëssenschaften kategoresch ënnerscheeden.

Sinn Computer Wëssenschaften a Computerprogrammerung am Zesummenhang?

Jo - wärend se ënnerschiddlech Kategorien sinn, hunn déi zwee och en enorme Betrag vun Iwwerlappung, a Wësse vun engem wäert bal sécher hëllefen am Versteesdemech vun deem aneren.

Huet Computer Science "Computer" Programméiere bäigefüügt, oder Vize Versa?

Jo, Computer Programmerung ass eng ugewandt Filial vun der Informatik. All Computerprogramméiere kann als Subset vu Computerwëssenschaften ugesi ginn, wärend et vill Computerwëssenschaften ass déi näischt mat Computerprogramméiere ze dinn huet.

Als neie Computerprogramméierungsstudent deen net e 4-Joer Computer Science Degree verfollegt, hunn ech dee proverbial Boot verpasst?

Et hänkt dovun of wat Är Ziler sinn. Wann Dir probéiert Programméierungsfäegkeeten ze kréien fir an e kommerziellen Ëmfeld ze schaffen oder eppes ähnleches, dann ass d'Äntwert wahrscheinlech nee (och wann de Wee nach ëmmer net einfach wäert sinn). Wann Dir probéiert d'akademesch Fuerschung iwwer Computertheorie ze verëffentlechen, da wëllt Dir méiglecherweis dëst Thema weider op enger Universitéit studéieren.

Ass Computerprogramméierung eng méi kleng Konscht wéi ech geduecht hunn?

Et hänkt dovun of wat Dir geduecht hutt. Wann Dir geduecht huet "Computer Programming" e Fuerschungsberäich ass, dat déi meescht Studieberäicher mat Computeren ze dinn huet, da wäert Dir falsch sinn. Dat ass de Computer Science. Wann Dir geduecht hutt datt et d'Etude vu Weeër wier fir ze kommunizéieren an Uweisungen un Computeren ze bidden, bis zum Enn vu Programmer opzebauen, da wier Dir richteg. Als Kommentar ass denken entweder als "manner" wéi déi aner meeschtens onnéideg, an et feelt un der eenzegaarteger Kontext, déi jidderee fëllt.

Ass e Computer Science Grad wat "Real" Software Ingenieuren Hunn ënner hirer Rimm?

Net onbedéngt. E 4-Joer Computer Science Grad wäert ni en potenziell Software Ingenieur seng Karriärziler verletzen, an och net hir Verständnis vum Feld, awer et gëtt kaum eng een-zu-eent Relatioun tëscht Grad-Inhaber an Ingenieuren. Et gi vill erfollegräich Ingenieuren déi hir Karriär opgebaut hunn nodeems se en anere Major verfollegen (oder ni op enger Uni un éischter Plaz deelgeholl hunn). Et ginn och vill Studenten déi an e Computer Science Diplom gaange sinn mam Zil en Ingenieur ze sinn, an zum Schluss enttäuscht sinn wann d'Etude méi Theorie-schwéier gewisen huet.

Fir zréckzefannen, Computer Programming ass eng ugewandt Filial vun Computer Science. Et ka meeschtens onofhängeg vun der Informatik studéiert ginn, awer de Versteesdemech vun deem een ​​wäert deen aneren immens déngen. Een als "besser" ze brennen wéi déi aner ass normalerweis eng falsch Praxis, a méi spezifesch sollt een déi Aufgab betruechten ier Dir decidéiert wéi eng Disziplin oder Fäegkeet ofgeschnidden gëtt. Computer Science Graduéierter a Computerprogramméiere Bootcamp Graduéierter hunn all hir eege gerechtfäerdegt Plaz an der Gesellschaft, an et ass onwahrscheinlech datt entweder irgendwann aus der Relevanz verschwannen.

Dësen Artikel ze schreiwen huet immens hänkt op d'Recherche vun aneren gemaach. Wann Dir weider an e vun dëse Ressourcen wëllt kucke, referéiert weg d'Links hei ënnen:

(Photo Credit) https://theydiffer.com/difference-between-computer-science-and-computer-programming/

https://www.youtube.com/watch?v=R997_0r8sEI

https://www.youtube.com/watch?v=xa4oOv2JUA8

https://www.youtube.com/watch?v=cSVDk-ugAQ

http://blog.indeed.com/2017/05/02/what-employers-think-about-coding-bootcamp/

https://apstudent.collegeboard.org/apcourse/ap-computer-science-principles

https://www.robotlab.com/blog/coding-programming-and-computer-science-are-not-the-same

https://www.petersons.com/blog/whats-the-difference-between-computer-science-and-computer-engineering/

https://en.wikipedia.org/wiki/Computer_programming

https://en.wikipedia.org/wiki/Computer_sciencehttps://www.edsurge.com/news/2015-12-02-computer-science-goes-beyond-coding

https://medium.com/bits-and-behavior/coding-bootcamps-vs-computer-science-degrees-what-employers-want-and-other-perspectives-4058a67e4f15

https://medium.freecodecamp.org/computer-science-vs-software-engineering-which-one-is-a-better-major-88482c38446b

http://blog.indeed.com/2017/05/02/what-employers-think-about-coding-bootcamp/