컴퓨터 과학 - 문제를 해결하는 것
어떤 Input이 들어왔을 때, Output을 만드는 중간 과정이다.
1. 2진법
컴퓨터는 2진법(0, 1) 으로만 말한다.
하지만 컴퓨터는 사진, 영상, 소리 다양한 일을 수행한다.
어떻게 하는 걸까 ?
우리는 많은 0과 1이 필요한데, 이것을 bit 이라고 한다.
bit : 0과 1로 신호를 나타내는 최소의 단위
bit이 컴퓨터랑 무슨 연관일까?
0과 1을 이용해 꺼짐과 켜짐을 표현할 수 있다.
컴퓨터는 bit을 활용해 정보를 표현하고, 물리적으로 실현한다.
-> 컴퓨터는 bit 형태로 데이터를 나타낸다
많은 정보를 표현하려면 8bit가 필요하다. ( 8 bit = 1 byte )
컴퓨터 안에는 수 많은 트랜지스터(=스위치)가 존재한다.
그리고 이 스위치들을 물리적으로 이용해 정보를 표현하고 값을 저장하는 것이다.
2. 정보의 표현
많은 스위치로 숫자를 표현한다면 숫자가 아닌 문자들은 어떻게 표현할까?
ASCII를 이용하여 숫자가 아닌 문자들, 기호까지도 표현이 가능하다.
ASCII - 위키백과, 우리 모두의 백과사전 (wikipedia.org)
예를들어, 우리는 먼 옛날부터 A를 65로 정했음
이러한 수를 2진법으로 나타내고, 컴퓨터 속 스위치를 활용하여 표현하는 것
ex ) 이모티콘 😘
이모티콘은 수 많은 점들로 이루어져있다.
이 점 하나하나를 RGB로 표현
RGB를 이용하면, 모든 색을 표현할 수 있음
-> 이 RGB를 0과 1로 컴퓨터에게 얼마나 사용할지 알려주어 색을 표현한다
( 빨강10 노랑10 파랑10 이런식으로 )
음악이나 다른 종류는 어떻게 할까?
음들을 숫자로 양자화하는 방식을 사용
3. 입력하는 법을 알았으니, 출력에 대해 말해보자
알고리즘 - 입력으로 부터 출력을 얻어내는 방법 -> 무언가를 해결하는 방법의 집합
= Input을 Output의 형태로 바꾸기 위해 어떤 명령들이 수행되어야 하는지에 대한 규칙들의 순서적 나열
ex ) Smith씨를 전화번호부에서 찾아보자
1~ 500페이지 까지 다뒤져보기 -> 너무오래걸림
1에서 250까지 검사 / 없다면 250 ~ 500까지 검사
이런식으로 범위를 점점 좁혀나가면, 시간이 훨씬 절약됨 !
1. 전화번호부 집기
2. 중간 펼치기
3. 페이지 보기
4. Smith가 페이지에 있으면
5. 전화하기
6. 중간보다 앞에 Smith가 있으면
7. 앞 페이지의 절반 펴기
8. 3번부터 다시 실행
9. 중간보다 뒤에 Smith가 있으면
10. 뒷 페이지의 절반 펴기
11. 3번부터 다시 실행
12. 전부 없으면
13. 그만두기
함수 - 컴퓨터에게 이 사람이 뭘할지 알려주는 동사
조건 - 여러 선택지 중 하나 고르기
불리언 - 답이 예/아니오 나 참/거짓 으로 나오는 질문 (0, 1로 표현하기 좋음)
루프 - 뭔가를 계속 반복하는 순환
4. 스크래치
컴퓨터가 뭘할지 단계적으로 프로그래밍 할 수 있는 언어
고양이 움직이기가 재밌음
강의정보
모두를 위한 컴퓨터 과학 (CS50 2019) > 오리엔테이션 : 부스트코스 (boostcourse.org)