Submitted by admin on Sun, 01/09/2022 - 11:11
To access assignment help Brampton service from GotoAssignmentHelp

Is Programming Science or Not?

More specifically, Computer Science is a very broad group of subjects related to computers and the things they are used to do, including:

  • Theory of computation (abstract study of algorithms, proofs, big-O, Turing machines, lambda calculus, etc. -- overlapping with Discrete Math)

  • Theory of other disciplines that are integrally connected with computers (e.g. AI, Machine Learning, Computer Vision, Computational Biology, etc. -- overlapping with linear algebra)

  • Cryptography (Theoretical/mathematical study of encryption & security)

  • Game theory

  • PLT (Theoretical study of programming languages)

  • Computer architecture (study of the "how computers work" all the way from transistors up to networks & low-level software: assembly, OSs, etc.)

  • Software engineering (the theory surrounding how to architect good pieces of software, paradigms, design patterns, etc)

Most CS degrees are a broad survey of all these things, along with some programming (mine was). It's true that you don't need to be an expert in most of these to work in any other or to write software. But, they're not totally irrelevant. Even if I never use my specific knowledge of Computer Vision in my job, doing that work definitely made me a better programmer.

Companies probably look for CS degrees because it's very rare to see undergraduate degrees just in software engineering. That's probably because getting good at software engineering requires practice so you might as well practice it by programming something relevant to another CS field.

When companies require degrees, it is probably because they want to avoid people coming out of boot camps who might know "coding" i.e. the syntax of a specific language but not have any experience with writing big pieces of software, which is a different skill entirely.

Sure, getting a general CS degree might not be the most efficient way to get someone able to work in the industry, but those requirements don't exist for no reason.