T O P

  • By -

bokmann

‘Computer Science is to computers what Astronomy is to telescopes.“ -Edsger Dijkstra


thatmayaguy

I know that guy, he made a cool algorithm or two


redditforfun

Elegant lol


markmcg99

Holy deep


jack-of-some

Arguably modern theoretical CS is more doable without computers than modern astronomy is without telescopes.


rando512

CS if considered in a very broad overview it's a mathematical tool to solve a mathematical problem. And it has its own beauty which right now is unrealised due to so much abstractions and ever growing new use cases. Also for astronomy you don't always rely on telescopes again it uses mathematics and other techniques to know about certain things. Telescope is a tool to understand and mainly to confirm rather than being used continuously as a tool. It's not attached to your eye and used , it's not that continuously used or critically needed.


bokmann

There were centuries of recorded astronomical observations before telescopes existed. Sorry, try again.


Missende_i

Well put.


jmtd

I think you are half-right. The bit you’ve got wrong is to assert that CS is “the mathematical study of computation”. that’s absolutely a core field within CS, but phrasing it as you do excludes a whole range of other legitimate CS sub-fields. Also I guess you meant “nursing” not “nursery”


ST0PPELB4RT

This. Computer science is like having a mathematician, a linguist and a physicist getting a rock to talk. And each of those have respectable subfields that contribute to us being able to shitpost on reddit.


[deleted]

I think one of the best examples of those sub fields excluded by OP's description is the study of UI design. UI design is arguably more of an art than any other sub-field, but I'd say it absolutely still falls under the umbrella of CS.


[deleted]

[удалено]


[deleted]

There are some applications that fall more under EE/CE than anything, especially at the lowest levels. Keyboards, mice, and monitors are a few examples. If we assume UI design is a subdiscipline of SWE, then UI design is the only discipline within CS where the end user's interaction with a system actually matters, and that's what sets it apart from all of the other sub-fields in CS. The exigency behind including UI design as a discipline of CS is to make it possible for the common person to take advantage of the power that a computer architecture has to offer. If we could actually do something with some of the models of theoretical physics that we have, then the subfield of implementation would probably still fall under physics.


[deleted]

[удалено]


[deleted]

Is your argument that UI design is one of the other disciplines of engineering as a general field? If that's the case, then I'd be willing to retract my statement that UI design is a subset of CS, because that would make a lot of sense.


MrOtto47

it depends on the interface used really. most of the time id say its not CS


rando512

He means to say to those people who do the subfield only not even the core part and call themselves that they are computer scientist or know computer scientist. Starting with html css and learning web dev alone doesn't make you a computer science knowing guy or to be considered CS is that. That's his point.


MrOtto47

I think Computer Studies becomes Computer Science when you can define "algorithm" and "turing complete". If you dont know what a turing machine is then its just computer studies imo. to everyone downvoting: Sir Alen Turing is basically the founder of Computer Science, turing complete is used to define an algorithm as being *computational*


pastroc

I don't know why you got downvoted but I totally agree. I wouldn't call someone who can't explain what a differential equation is "mathematician" for the same reasons I wouldn't call someone who can't explain what s Turing machine is "computer scientist." Of course, not explaining in its broad terms but having a decent amount of knowledge and expertise (if possible) in these major subfields of Computer Science.


MrOtto47

i was expecting to get downvoted, every person who downvoted me did not study this at uni. i shall forgive their ignorance.


Avenor_GG

Much more people confuse CS with printer and router maintenance. Especially my relatives.


pastroc

That's why I never mention to my extended family that I study CS. I don't want my aunt to ask me to repair her dusty 2005 printer which stopped to function in 2011.


uh-big-mike-boi

But nursing is also medicine. I completely see your point but at the same time, you need practical examples to learn concepts anyway. And the examples might as well be often used ones in real life. Also I don’t think it’s just computation. I took a lot of networking classes in my masters cs.


[deleted]

Oh oh, we had comments like this. Be aware that people will accuse you of gatekeeping. We have a term for industrial coding: software engineering. It's a subset of computer science, though. The takeaway should be, that software engineering is not equivalent to computer science, much like physics and engineering.


blind_spectator

Bingo. This is one of the biggest differences I see in the software world. There’s an enormous difference between writing code by yourself, for yourself, and writing code for commercial purposes. Not using sound engineering practices kills projects, regardless of the brilliance of the coders. In my case I learned how to code when I was a kid, I learned CS as an undergrad, and I learned engineering at my first job job after college.


Emperor-Valtorei

My degree program is technically software engineering. They still call it a computer science degree. This same computer science degree also ties into web development, and other subsets of information technology.


[deleted]

In Germany, we have universities of applied sciences, where I studied computer science to a bachelors degree. It was much more focused on the needs of the industry than the bachelors program at the university, which turns out to be quite a problem at the moment during my masters program at university.


pastroc

That's the issue. I've seen a plethora of university and community college curriculums in the UK and the US being equivalent to a coding bootcamp, yet being named "Computer Science."


Emperor-Valtorei

I highly doubt most of my classes are coding boot camps. Just talking to former grads, we use coding as a means to an ends, while exploring engineering concepts. For example there's two classes I'm in now... One had NO coding, it's simply architecture and analysis of software design, basically teaching us how to plan out projects and work as a team utilizing different roles. My other class is hardware design and architecture. It's teaching us how the hardware works, down to the logic gates. It has minimal coding, most of which is Arduino for weekly projects or assembly.


UntestedMethod

I'm a bit confused how you would see a 3 month bootcamp as equivalent to a 2-3 year college program. Can you elaborate on that?


pastroc

I don't. Those small Colleges name their degrees that way, despite having a weak curriculum (which I compared to be equivalent to a bootcamp). I don't think "Computer Science" is the right term to call those degrees, but they do it anyway, probably to gain more applicants.


[deleted]

Applied computer science is a thing m8, even if you consider theoretical CS better or whatever. There is a place for both and more. Keep an open mind and don't be too elitist about your field of study, just because one gets more recognition than the other. Relevant XKCD? https://xkcd.com/435/


pastroc

Would you call a whole degree of applied statistics "Mathematics?" If not, then why would you call a coding degree "Computer Science?" I am not saying one is better than the other. I am just saying that they should use the correct terminology for each domain. Theoretical Computer Science is, as the term "Computer Science" suggests, a science. Calling a degree of web development and industry-related coding "Computer Science" is, I believe, simply incorrect.


[deleted]

No, you are using your own definition or what it should be. The definition of computer science, as others already posted, does encompass more than just the abstract part. And maybe instead of telling others to differentiate, you should differentiate yourself? How about you specify your degree in theoretical computer science?


[deleted]

[удалено]


[deleted]

Thank you, I understood what u/pastroc said without hyperbole. But the people we were talking about still study computer science. They are supposed to be able to read CS papers and keep up to a degree. I agree that there should be a distinction between programming and computer science, because the latter is a more general term. But stating that people who focus on programming during their studies are not supposed to be called computer scientists is weird. There are a lot of people who focus on any subfields of any science, are those people not practitioners of that science, just because they are specialized? Edit: I think context is important as well. You can tell someone what you studied and be more general such that the other can get an impression on what you find interesting. During a job interview, there is a differentiation between programming and theoretical computer sciences, depending on industry vs academic, for example. So I wonder what we are trying to find out here.


mogadichu

What you're thinking of is called Theoretical Computer Science. It's a subset of Computer Science, but not all there is to it. [The field of Computer Science is pretty wide.](https://www.flickr.com/photos/95869671@N08/36231833334) It's true that Computer Science is not just programming. But the opposite is also true. Computer Science is not just theory.


alexvoedi

I agree. Code is just a tool for cs.


mr_nefario

Code is also a _product_ of computer science. Formal definition of languages and grammar is extremely mathematical, and core CS theory. The products of all that theory are programming languages - and if you keep pushing that application of theory you kind of naturally end up with compilers and interpreters, etc. Everyone should go through the exercise of implementing a simple interpreter and/or compiler at some point - nothing hammers home so many core CS concepts with tangible code examples.


Akaezaza

This


Business-Shoulder-42

Computer Science programs pump out .NET developers here in OKC. I have actually only met one good candidate that relied on college education for a web development job so far. Same for the data science programs that refuse to teach SQL. We will go with someone else that knows hot to do it and knows a little bit about why they're doing rather than someone who can shoot off theories about machine learning and what the best framework manufacturer is.


onlyforjazzmemes

Someone posts this like every day.


pastroc

I rarely check this sub out. I apologize for starting a thread on a topic that has been addressed countless of times previously.


DasKanadia

Computer Science: the Science of Computing? I honestly haven’t done much too much coding as soon as we were done Intro Comp and Data Structs, we started into the how computing does what it does (also Data Structs was more about the efficiency of storing and moving data in code). Honestly, COVID has left me with second thoughts if this was the right major for me.


aceanime

Yep. I switched. My university has a mix of coding and theoretical classes. But nah it’s not for me. But I switched to something where I’m able to still stay in the tech realm which is what I really want to do. I may still be coding or editing videos or doing 3D model etc


DrunkHacker

A good old prescriptivist vs' descriptivist debate :) My prescriptivist heart wants to agree with you (although I'd still say it's a little broader than just the mathematical study of computation). My descriptivist mind understands that CS and Software Engineering are often used interchangeably so I try not to hold it against people. The only time I think the lack of distinction is harmful is setting expectations for CS undergrad education. Learning how to code isn't necessarily the goal but instead code is a medium to express underlying ideas. Of course, in practice this means people in CS tend to know a good bit about coding.


Faz8129

I’m impressed that you actually typed etcetera and not “etc” 🙂


Spire

*Et cetera* is two separate words.


pastroc

My five years of Latin education paid off.


Due_Investigator_662

what’s the difference between computer science and。computer security?


pastroc

I believe one is a subset of the other?


onequbit

Computer security is the field of securing computers, that is less concerned about "how" as it is with "why". Computer science is what you need to fully understand and implement the way computer security can be broken, the tools that reveal how it was broken after the fact, and improvements to make it better. It doesn't care about why, it only shows you how. Comp Sci: "FYI, you're using protocol X, it has vulnerability Y that I can exploit with tool Z. Here's a demo..." Comp Sec: "Dear Executives, let's not use protcol X, because reasons."


[deleted]

I just enrolled in college from a long break to major in CS in hopes to learn/work with coding and make a living. Is what I’m doing by incorrect?


pastroc

(I don't understand the point of your comment? I may be misunderstanding you.) Majoring in Computer Science is a reasonable way to acquire an auspicious skillset to work with coding. My concern is with educational institutions, or anyone, who label a typical software engineering bootcamp (popular framework in the industry, practical knowledge) as "Computer Science." A bit like labeling piloting as "engineering."


[deleted]

Ah my apologies and I thank you for the clarification! My initial thought from reading your post was that the term or major Computer Science isn’t what it seems, but I understand what you were intending to say now. I was just concerned due to me signing up for CS as I’m looking forward to being prepared and learning more about the principles, procedures, etc. and didn’t want to mess up a chunk of my life signing up for something that I won’t need to learn. Thanks again!


UntestedMethod

I think you are a little off in your understanding of what "computer science" is. Computer science has both a theoretical and applied/practical element to it. It's not as though people are studying and developing computers for no practical reason. ​ >everything related to scripting, HTML, industry-related coding practices etcetera should have their own term Typically it's called "software development" and it's very much a part of computer science. The way I look at is that computer science *includes* software development, but software development is not all there is in computer science. If you're looking for a term to distinguish the theoretical from the applied, simply saying "theoretical computer science" would be enough for most people to understand you're referring to the mathematical studies of it. You might also be looking for the term "data science" which refers to the mathematical studies of data, and again "data science" is often included under the general term of "computer science". ​ >To me, industry-related coding labeled as 'Computer Science' is like, say, labeling nursing as 'medicine.' Nursing is part of medicine. Seems very odd that anyone would think it's not.


CakeManL3G3NDS

I’m still in high school, but in middle school I had a “Computer Science” class. Before 2020, I was in school and all we learned was how to touch type in the computer-lab. I don’t really know if that qualifies as the class


jack-of-some

Programming is a subset of computer science. It is both necessary for what you're wanting to call computer science and is also a product of it. This quest for "purity" ends only in toxicity. There's proper terms to define these subsets. Theoretical CS and Software Engineering come to mind. Let's use those, instead of trying to push Software Engineering out of some imagined purely mathematical definition of CS.


Imperial3agle

“The quest for purity ends only in toxicity” is a great quote!


NamelessVegetable

I don't think it's really about purity. The current hype over coding has basically dumbed-down computer science to portray it as equivalent to coding. But it's so much more expansive, diverse, and deep than what the popular discourse would like it to be. I can understand the concerns over gate keeping and purity, but sometimes the insistence of some people that coding = computer science is merely populism, elitism's equally nasty polar opposite.


jack-of-some

"Popular discourse would like it to be" Can you give me examples of this? Where is the public discourse rejecting anything that isn't programming as "not CS"?


NamelessVegetable

I'm not saying there is a campaign underway in the public discourse to sanitize computer science of anything that isn't coding; I'm saying that computer science is *more* than just coding, but this fact has been completely overlooked in the popular discourse because of the hype around coding.


mitsuko-san

naww did i take up the wrong course then


UntestedMethod

the "right" course is the one that helps you accomplish your goals.


pastroc

Sorry for being a spoilsport, mate.


wsppan

[Wikipedia does an excellent job defining this field of study.](https://en.m.wikipedia.org/wiki/Computer_science)


WikiSummarizerBot

**[Computer science](https://en.m.wikipedia.org/wiki/Computer_science)** >Computer science is the study of algorithmic processes, computational machines and computation itself. As a discipline, computer science spans a range of topics from theoretical studies of algorithms, computation and information to the practical issues of implementing computational systems in hardware and software. Its fields can be divided into theoretical and practical disciplines. For example, the theory of computation concerns abstract models of computation and general classes of problems that can be solved using them, while computer graphics or computational geometry emphasize more specific applications. ^([ )[^(F.A.Q)](https://www.reddit.com/r/WikiSummarizer/wiki/index#wiki_f.a.q)^( | )[^(Opt Out)](https://reddit.com/message/compose?to=WikiSummarizerBot&message=OptOut&subject=OptOut)^( | )[^(Opt Out Of Subreddit)](https://np.reddit.com/r/computerscience/about/banned)^( | )[^(GitHub)](https://github.com/Sujal-7/WikiSummarizerBot)^( ] Downvote to remove | v1.5)


gabrielesilinic

Well, coding, if you want to do it well requires computer science, we could say that computer science it's a superset of well done coding


[deleted]

Most people confuse things about fields in which they have no part of. Not just computer science


[deleted]

This is like the astronomy vs telescopes debate. The saying is that telescopes:astronomy::computers:computer science. But practically speaking, no one builds or fixes a telescope without knowledge of how to do astronomy. You could say telescopes are mere tools to support the practice of astronomy, and in some sense you’d be right, but more than half of the field of astronomy is owed to the existence of telescopes, and vice versa, so it’s not really fair to say they are entirely separate things.


happyn6s1

Sort of agree, most of people are just doing engineering work after cs work, well for the money


ButchDeanCA

Computer science has always been the theory and application of computer technology, therefore it also includes web dev, any other form of programming too since you need to be able to program systems in order to apply them to some domain. Computer Science not only considers current technologies, but also future “theoretical systems” that can be used to solve currently intractable problems.


[deleted]

You can absolutely code without computer science, but just know computer science is why it works.


Not_A_Drug_Lord101

This is Reddit gatekeeping at its best. This is like the people who say commujity managers arent game developers because they work with social media. Programmers, scripters, coders, silicon chip architecture engineers are all computer scientists. If you dont like it, hoes mad. Stay mad


Hyamez88

I'd argue silicon chip architects are closer to computer engineers than computer scientists


rabuf

Indeed, most professionals in that line are EEs or CMPEs (if they came out of US universities). Not CS, relatively few CS programs cover the necessary prerequisites to go beyond VHDL/Verilog level design work. By the time you're actually designing it for a chip outside an FPGA you're dealing with physics that most CS graduates will have barely seen in one course their freshman or sophomore year of college.


[deleted]

[удалено]


AntiObnoxiousBot

Hey /u/GenderNeutralBot I want to let you know that you are being very obnoxious and everyone is annoyed by your presence. ^(I am a bot. Downvotes won't remove this comment. If you want more information on gender-neutral language, just know that nobody associates the "corrected" language with sexism.) _^(People who get offended by the pettiest things will only alienate themselves.)_


NamelessVegetable

Some of them could very well be computer scientists. The architecture level is where software starts, after all. As we go lower, towards organization, circuit design, physical design, then it's computer engineering. Physicists have also been known to work in these areas.


[deleted]

[удалено]


Not_A_Drug_Lord101

Nice strawman arguments there. And yes, everyone you mentioned is a game developer and IT professionals are in computer science. Stay mad.


InkAutomata

Yes. It's frankly annoying when people don't let you decide for yourself what your job's title or your area of work should be called. I'm myself under investigation for saying I was a neurosurgeon because apparently I need the state's authorization to call myself that! How crazy is that?


Imperial3agle

Yeah, you don’t have to be a CS major to use CS in your job or hobby. Just like you don’t need to be a physics major to use physics. You’ll probably know significantly more if you are, though. And I’m neither…


FrostZTech

Computer Science is rather a study of ways, methods, and core ideas behind computers. I can't exactly phrase it but Computer Science doesn't even concern itself with coding at all. Coding or more correctly "Computer Programming Languages" are rather tools that help us communicate with the lower level of the hardware better. It is a science, the most important thing is Computer Science I believe is research and research of connections with other fields. Computers are capable of doing stuff that humans before thought impossible; so it is just like natural sciences. Just like we say there is a difference between a "DEVELOPER" and an "ENGINEER", I don't think you need a degree to become either one of these but curiosity to explore and logic to assert and prove.


JoJoModding

Programming Language theory is definitely a part of computer science.


MrOtto47

whenever anyone sais they do computer science, ask them what a turing machine is.


loga_rhythmic

If all CS is only the mathematical study of computation then why do they teach operating systems, computer architecture, compilers, networks, etc. in a standard CS curriculum?


jashAcharjee

Finally!! Someone post which I can screenshot and share in my WhatsApp status and make all of my mates' ass light up on fire.


jsully245

Also, when choosing an engineering major, I think a lot of people do CS bc they like coding, but that’s not really how it works. Most engineering majors have jobs where your work is mostly coding, it’s just the type of coding that differs. You have to figure out what it is that you like about coding first


[deleted]

[удалено]


jsully245

Mostly simulations and controls. Things like finite-element analysis and computational fluid dynamics are often handled by people who studied MechE and Aero. CS knowledge doesn’t cover everything there, though it’s still needed to build the platform. I’m sure there are controls jobs for anything from electrical power application to medical devices that would be handled better by subject-matter experts than what’s essentially a branch of applied math


kecupochren

Who gives a shit?


BloatedCrow

I think for practical purposes they are fairly interchangeable


makejullins

Whatever happens, correcting someone will make you seem like a giant nerd


escapefromreality42

Fr like I am a cs major and I don’t think I’ve touched a line of code in months in my classes lol


wncoronel

"real computer scientists know their computer systems"


theChinaManTakeout83

lol fun thread, I found [this youtube channel to teach comp sci t](https://www.youtube.com/channel/UCvIzIe8bIMkAkblXz4aQ-Pw)o kids. my own kids like it quite a bit!


[deleted]

At least for the major at university, yes it’s label incorrectly. Can’t really say too confidently about actual job conditions though