본 포스트는 boostcourse의 '모두를 위한 컴퓨터 과학 (CS50 2019)'를 바탕으로 작성되었습니다.
먼저, 컴퓨팅 사고란 문제에 대한 접근 방법 중 하나로 컴퓨터 과학의 눈을 빌려 문제를 바라보고 해결하는 사고방식을 말한다. 그렇다면 컴퓨터 과학이란 무엇일까?
컴퓨터 과학은 문제 해결에 대한 학문이다. 여기서 문제 해결이란 문제라는 입력(input)을 전달받아 해결이라는 출력(output)을 만들어 내는 과정을 말한다.
컴퓨터는 입력과 출력의 데이터를 이진법을 이용하여 표현하고 연산한다.
: 0과 1 두개의 숫자만을 사용해 수를 나타내는 진법
:컴퓨터가 표현하는 데이터의 최소 단위로서 2진수 값 하나를 저장할 수 있는 메모리의 크기를 말한다.
비트는 0과 1, 이 두가지 값만 표현할 수 있기 때문에 많은 양의 데이터를 표현하기에는 부족하다. 그래서 여덟개의 비트를 모아 바이트(byte)라는 단위가 만들어 졌다.
(8bit = 1byte) 1바이트는 8개의 비트를 통해 총 256(2^8)개의 수를 나타낼 수 있다.
알고리즘이란 '입력값으로부터 출력값을 얻기 위해서 어떤 명령들이 수행되어야 하는지에 대한 규칙들의 순서적 나열'이다. 2진법을 통해 숫자, 글자, 이미지 등을 입력(input)하였다면, 알고리즘을 통해 출력(output)을 얻을 수 있는 것이다.
정확하고 효율적일수록 좋은 알고리즘이라고 한다.
알고리즘이 수행할 내용을 우리가 사용하는 일반적인 언어로 간략히 서술하는 것을 의사코드라고 한다.