부스트코스 <David J. Malan - 모두를 위한 컴퓨터 과학(CS50 2019)> 강의를 듣고 작성한 내용입니다.
컴퓨터 과학이란?
- 컴퓨터 과학이란?
문제 해결에 대한 학문
- 문제 해결이란?
입력(input)을 전달받아 출력(output)을 만들어 내는 과정
2진법
- 2진법
컴퓨터는 0과 1만으로 숫자, 문자 사진, 영상, 소리 등을 저장할 수 있다.
- 데이터의 표현 단위

정보의 표현
- 문자의 표현
ASCII(아스키) 코드: 문자를 이진 데이터(0 또는 1) 혹은 그 반대로 변환하는 표준 방법
- 아스키 코드에서 소문자는 같은 대문자 글자보다 항상
2^5만큼 크다.
- 기본 아스키 코드는 7비트만 이용하여
2^7개(128개)의 문자를 나타낼 수 있고, 확장 아스키코드는 8번째 비트를 추가하여 256개 문자를 나타낼 수 있게 한다.
- 아스키 코드 개수의 한계를 극복하기 위해,
Unicode(유니코드)가 생겼다. 유니코드는 이모티콘 등을 포함하여 100만개 이상의 문자들을 나타낼 수 있다.
- 그림의 표현
무수히 많은 픽셀들의 RGB코드(숫자)로 그림, 영상을 표현할 수 있다.
- 음악의 표현
각 음표를 숫자로 표현할 수 있다.
알고리즘
- 입력받은 자료를 출력 형태로 만드는 처리 과정.
어떤 명령들이 수행되어야 하는지에 대한 규칙들의 순서적 나열.
- 알고리즘을 평가할 땐
정확성, 효율성이 모두 중요하다.