CS50_1.컴퓨팅 사고

Koohyeon·2021년 1월 25일
0

CS50

목록 보기
1/9
post-thumbnail

본 포스트는 boostcourse의 '모두를 위한 컴퓨터 과학 (CS50 2019)'를 바탕으로 작성되었습니다.

먼저, 컴퓨팅 사고란 문제에 대한 접근 방법 중 하나로 컴퓨터 과학의 눈을 빌려 문제를 바라보고 해결하는 사고방식을 말한다. 그렇다면 컴퓨터 과학이란 무엇일까?


컴퓨터 과학

컴퓨터 과학은 문제 해결에 대한 학문이다. 여기서 문제 해결이란 문제라는 입력(input)을 전달받아 해결이라는 출력(output)을 만들어 내는 과정을 말한다.

컴퓨터는 입력과 출력의 데이터를 이진법을 이용하여 표현하고 연산한다.

2진법

: 0과 1 두개의 숫자만을 사용해 수를 나타내는 진법

  • 예를 들어 숫자 4는 2진법을 이용해 100으로 표현한다. (2²x1 + 2¹x0 + 1x0 = 4)

    문자는 숫자로 표현할 수 있도록 모두가 동의한 약속(표준)에 따라 표현한다. 그 약속 중 하나인 ASCII (아스키코드/American Standard Code for Information Interchange)를 예로 들자면, 알파벳 A는 십진수 기준으로 65(2진법으로 표현하면 1000001)로 표현합니다.

    이 외에도 이미지는 화면의 가장 작은 단위인 픽셀들의 위치, 밝기나 색상을 숫자로 표현하여 보여주는 등 데이터의 형태의 상관없이 컴퓨터는 오로지 0과 1을 이용하여 이를 표현한다.

  • 왜 컴퓨터는 2진법을 사용할까? 컴퓨터는 논리 회로를 통해 연산하는데, 이 논리 회로는 전기 신호를 '전류가 흐르면 ON(1), 흐르지 않는다면 OFF(0)'로만 이해할 수 있게 설계되었기 때문이다.
    (전기회로는 전압이 불안정하기 때문에 ON/OFF 두 단계로만 나누어 처리하는 것이 안정적이다.)

비트(bit/binary digit)

:컴퓨터가 표현하는 데이터의 최소 단위로서 2진수 값 하나를 저장할 수 있는 메모리의 크기를 말한다.

비트는 0과 1, 이 두가지 값만 표현할 수 있기 때문에 많은 양의 데이터를 표현하기에는 부족하다. 그래서 여덟개의 비트를 모아 바이트(byte)라는 단위가 만들어 졌다.
(8bit = 1byte) 1바이트는 8개의 비트를 통해 총 256(2^8)개의 수를 나타낼 수 있다.


알고리즘

알고리즘이란 '입력값으로부터 출력값을 얻기 위해서 어떤 명령들이 수행되어야 하는지에 대한 규칙들의 순서적 나열'이다. 2진법을 통해 숫자, 글자, 이미지 등을 입력(input)하였다면, 알고리즘을 통해 출력(output)을 얻을 수 있는 것이다.

정확하고 효율적일수록 좋은 알고리즘이라고 한다.

알고리즘이 수행할 내용을 우리가 사용하는 일반적인 언어로 간략히 서술하는 것을 의사코드라고 한다.

0개의 댓글