# EDA

computer_basics:computer_science_fundamentals

This is an old revision of the document!

# Computer Science Fundamentals

Mithat Konar

## What is computer science?

• Webster: The study of computers and their uses.1)
• Oxford: The study of the principles and use of computers.2)
• University at Buffalo: The systematic study of algorithmic methods for representing and transforming information.3)

## What is computer science?

• computer science: The science of what can be computed.
• computational science
• What is computation?

## Major branches of computer science

• algorithms
• theory of computation
• computer architecture
• software systems
• artificial intelligence4)

## Computer science topics

• computer graphics
• databases
• networks and protocols
• numerical methods
• operating systems
• parallel computing
• simulation and modeling
• software engineering.5)

## Application fields

![Computational fields](img/computational-fields-600px.png)

!['Tis but a tool](img/gear-tools-300px.png)

## Algorithms

• The word *algorithm* is derived from the name of 9th-century mathematician and astronomer Al-Khwarizmi.
• Worked under the caliphate of al-Ma'mun in Baghdad.
• Also introduced “al-jabr”, which in English is called “algebra”.
• First appears in European texts in 17th century.
• Modern usage in 19th century.

## Algorithms

• Webster: A set of steps that are followed in order to solve a mathematical problem or to complete a computer process.6)
• Oxford: A process or set of rules to be followed in calculations or other problem-solving operations, especially by a computer.7)

## Algorithm example

• “Long” cardinal number multiplication: A * B
let C equal 0
repeat the following B times:
the desired result is C

## What is a computer?

![Computer diagram](img/computer-diagram.png)

## Hardware

• The physical stuff.

## Software

• computer software: a set of program instructions and its related data and documentation that can be executed by computer.

## Kinds of software

![The software stack](img/kinds-of-software.png)

1)
Merriam-Webster. Accessed July 25, 2016. http://www.merriam-webster.com/dictionary/computer science.
2)
“Definition of Computer Science in English:” Computer Science: Definition of Computer Science in Oxford Dictionary (American English) (US). Accessed July 25, 2016. http://www.oxforddictionaries.com/us/definition/american_english/computer-science?q=computer science.
3) , 4) , 5)
“UB - University at Buffalo, The State University of New York.” What Is Computer Science? Accessed July 25, 2016. http://www.cse.buffalo.edu/undergrad/what_is_CS.php.
6)
Merriam-Webster. Accessed July 25, 2016. http://www.merriam-webster.com/dictionary/algorithm.
7)
“Definition of algorithm in English:” Computer Science: Definition of Computer Science in Oxford Dictionary (American English) (US). Accessed July 25, 2016. http://www.oxforddictionaries.com/us/definition/american_english/algorithm.