DEV Community

Cover image for Definition of Computer Science
Dima
Dima

Posted on

1

Definition of Computer Science

"Computer Science" is a very vague term. But a word with at least some definition removes the aura of mystery. This article is my attempt to define what Computer science is.

I define computer science as a field of knowledge that incorporates:

  • Programming craftsmanship. Code writing and knowing your tools to facilitate the programming activity and deployment of the result.
  • A few sections of mathematics which help to stay rigorous:
  • Proof by induction and by contradiction. It helps to convince yourself and others of the correctness of your thought process;
  • Discrete math: graph theory. It provides multiple beautiful graph-like and tree-like high-utility structures and algorithms on top of them;
  • Number theory. Prime numbers as building blocks specifically. It helps with the understanding of the basics of information security.
  • Algorithms and data structures. Asymptotic analysis of their time and space complexity. It answers why one algorithm is faster or better and why one data structure works better for a given task than the other.
  • Theory of computation. It answers, on a fundamental level, what is computable—for example, a halting problem.
  • Computer architecture. It is helpful to know some basics of the architecture of the computer: Random-Access Memory vs. hard drives, memory registers, CPU cache, etc.

These are the generic parts one will find helpful during their Computer Scientific or Computer Engineering career. I think these are useful for any skilled programmer. However, the discussion about the deepness of each part can last forever.

AWS Q Developer image

Your AI Code Assistant

Automate your code reviews. Catch bugs before your coworkers. Fix security issues in your code. Built to handle large projects, Amazon Q Developer works alongside you from idea to production code.

Get started free in your IDE

Top comments (0)

Postmark Image

Speedy emails, satisfied customers

Are delayed transactional emails costing you user satisfaction? Postmark delivers your emails almost instantly, keeping your customers happy and connected.

Sign up

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay