모두를 위한 컴퓨터 과학 CS50 (컴퓨팅 사고)
CS
문제 해결 과정이다.
input -> cs -> output
2진법 (binary system)과 정보의 표현
bit = binary digit
: 2진법에서 하나의 자릿수를 표현하는 단위.
0과 1 두가지 값만 가질 수 있다.
bit string
bit 한 개론 많은 양의 데이터를 나타내기에 부족해서 여러 숫자 조합을 컴퓨터에 나타내기 위해 사용한다.
byte = 8bit / 2^8 = two to the eight(256개)
kilobyte=1000byte
megabyte=1000kilobyte
gigabyte=1000megabyte
terabyte=1000gigabyte
transistor
컴퓨터 속 작은 스위치들을 물리적으로 이용해서 정보를 표현하고 값을 저장한다.
ASCII(American AStandard Code for Information Interchange 미국 정보 교환용 표준 부호)
문자를 숫자로 표현할 수 있도록 정해진 약속 / 128개 부호
Unicode
이모티콘 까지 표현 가능
픽셀의 RGB코드 (red, green, blue)
세 가지 색을 서로 다른 비율로 조합한 픽셀, 이 숫자들을 표현하는 방식
알고리즘
문제를 해결하는 단계적인 방법이다.
input -> algorithoms.. -> output
입력값을 출력값의 형태로 바꾸기 위해 어떤 명령들이 수행되어야 하는지에 대한 규칙들의 순서적 나열이다.
일련의 규칙들을 어떻게 나열하는지에 따라 알고리즘의 종류가 달라진다.
정확성&효율성.
pseud code (의사코드)
언어를 사용해서 문제해결을 위한 생각을 명료하게 정리하여 표현하는 것이다.
ex) Pick up, Open to, Quit ~
functions
컴퓨터에게 무엇을 할 지 알려주는 동사와 같다.
conditions
if, else if, else
Boolean expressions
false, true
(yes or no, true or false, 1 or 0만을 이용하는 방식 / 질문)
loops
반복해서 순환하는 것이다.
ex) Go back to line 3 ~
cf. 스크래치 : MIT에서 만든 그래픽 프로그래밍 언어.
cf.
decimal system = 10진법
times = 곱한 five times two equals ten
capital letter 대문자
exclamation mark 느낌표
character 글자
super set 상위집합
vertical axis 수직축
efficiency 효율성