# Computer Science- The Insights and foundations

One of the fastest growing career fields in modern history, the science of computer technology has provided considerable recognition and financial gain for many of its well deserving pioneers. So What exactly is Computer Science? In Simplest of term- **Computer Science** is the study of computers and computational systems. It applies the principles of mathematics, engineering, and logic to a plethora of functions, including algorithm formulation, software and hardware development.

A career in the field of Computer science has been proven to be a worthwhile direction for any young enthusiast and has much to offer in anyone of its many career paths. The most important aspect of computer science is problem solving, an essential skill for life. Students study the design, development and analysis of software and hardware used to solve problems in a variety of business, scientific and social contexts. Because computers solve problems to serve people, there is a significant human side to computer science as well. Some of the major reasons to dig into Computer science includes,

- Computing is part of everything we do!
- Expertise in computing enables you to solve complex, challenging problems.
- Computing enables you to make a positive difference in the world.
- Computing offers many types of lucrative careers.
- Computing jobs are here to stay, regardless of where you are located.
- Expertise in computing helps even if your primary career is something else.

Therefore if interested to learn more about it, lets start up with the foundations and the basics of computer science.

**The underlying basis-**

## 1 | Computational Thinking

Basically, Computational thinking is the process that helps us create possible solutions for complex problems. The solution is presented in a way that both- human and computers can understand. Remember

“ It’s how you think of a problem and not what you think”

## 2 | Binary and ASCII

**Binary** (or base-2) a numeric system that *only uses two digits — 0 and 1*. Computers operate in **binary**, meaning they store data and perform calculations using only zeros and ones.

**ASCII**, abbreviated from* American Standard Code for Information Interchange*, is a character encoding standard for electronic communication. It is a **code** that uses numbers to represent **characters**. *Each letter is assigned a number between 0 and 127*. A upper and lower case character are assigned different numbers.

## 3 | Algorithms & It’s Complexity

In Simple terms, an ** algorithm** is a process or set of rules to be followed in calculations or other problem-solving operations, especially by a computer. An algorithm

*has well-defined Inputs and well-Defined outputs. It has finite-ness.*It

*is*

*clear and unambiguous, f*easible and

*language independent.*

An algorithm is analysed into two ways:

**A) Priori Analysis:** “Priori” means “before”. Hence Priori analysis means checking the algorithm before its implementation. In this, the algorithm is checked when it is written in the form of theoretical steps.

**B) Posterior Analysis:** “Posterior” means “after”. Hence Posterior analysis means checking the algorithm after its implementation. In this, the algorithm is checked by implementing it in any programming language and executing it. This analysis helps to get the actual and real analysis report about correctness, space required, time consumed etc.

**Time Factor**: Time is measured by counting the number of key operations such as comparisons in the sorting algorithm.**Space Factor**: Space is measured by counting the maximum memory space required by the algorithm.

These factors are useful for calculating the complexity of an algorithm:

**Space Complexity:** Space complexity of an algorithm refers to the amount of memory that this algorithm requires to execute and get the result. This can be for inputs, temporary operations, or outputs.

**Time Complexity:** Time complexity of an algorithm refers to the amount of time that this algorithm requires to execute and get the result. This can be for normal operations, conditional if-else statements, loop statements, etc.

## 4| Pseudocode

In computer science, pseudocode is a plain language description of the steps in an algorithm or another system. Pseudocode often uses structural conventions of a normal programming language, but is intended for human reading rather than machine reading.

**5 | Storing Data into Memory**

Memory is the most essential element of a computing system because without it computer can’t perform simple tasks. Computer memory is of two basic type — Primary memory(RAM and ROM) and Secondary memory(hard drive, CD, etc.). *Random Access Memory (RAM)* is primary-volatile memory and *Read Only Memory (ROM)* is primary-non-volatile memory.

Memory refers to the location of short-term data. Memories are made up of registers. Each register in the memory is one storage location. Storage location is also called as memory location. Memory locations are identified using Address. The total number of bit a memory can store is its capacity.

## 6 | Data types to store data

In computer science and computer programming, a **data type** or simply **type** is an attribute of data which tells the compiler or interpreter how the programmer intends to use the data. Common data types include:

- Integer.
- Floating-point number.
- Character.
- String.
- Boolean.

So these were some of the core aspects for any beginner to know and learn about computer science .

Did you find the above mentioned points useful? What are some of the other topics you would like me to write on?* *For any more further questions and doubts , please feel free to get in touch. Taking it a level up, I will be posting another article soon where there will be the hints and the advices for beginners to know more about Internet, programming languages and web development.

If you enjoyed this article, I’d be very grateful if you’d help it spread by emailing it to a friend, or sharing it on Twitter or Facebook. Thank you!