본문 바로가기
Computer Science/CS 50 - Harvard David J. Malan

[CS50] 0 Scratch - David J. Malan

by CodeMia 2022. 2. 25.

이 강의를 듣고 나면 CS50 finance를 만들수 있게 될 것이다. 

 

What is CS? 

how computer work.

 

What is programming?

how to tell computers to do thing 

 

Computer's language 

binary: computer only understands 0, 1 

 

 

Binary 

 

binary digit 

0과 1을 bits 라고 하고 컴퓨터는 bits로 말을 한다 

 

plugging in / off

on / off 하는 이 스위치를 transisters 라고 한다. 

 

 

1. How computer represents information with only 0 and 1?

맨 처음 컴퓨터는 숫자를 계산하는 계산기 기능으로 시작하였지만 

지금은 숫자외에도 많은 정보를 다루고 있다. 

 

1. ASCII 알파벳 

0, 1만 아는 컴퓨터가 어떻게 알파벳을 표현 할 수 있을까? 

알파벳에 특정 숫자를 assign해서 represent 한다. 

이 것을 ASCII American Standard Code for Information Interchange 라고 한다.

 

 

A 65 --> 01000001 bitwise로

B 66

72 73 63 hi!

 

만약 친구에게 메세지 보낼 때

72 62 14 ..

110001 101001 1001

예를 들면 이런식으로 보내지게 된다. 

 

하지만 65를 입력했을시 숫자 65를 말하는 것인지 알파벳 A를 말하는 것인지 구분이 되지 않는다 

그럼 문자에 부여한 숫자와 진짜 숫자와 어떻게 구분해야 할까?

pattern, representation은 같지만 context가 다르다 

컴퓨터가 이메일, 문자에서  context를 읽어내 숫자 65가 아닌 A로 인식을 한다.

 

지금은 8bits가 표준이지만 에스키가 처음 나왔을 때 띄어쓰기 때문에 7bits를 사용하였다. 

 

8bits로 만들 수 있는 패턴은 266개 이고 

표현할 수 있는 캐릭터(심불)는 265이다. 

 

 

bits | bites

요즘은 8bits를 기본으로 사용한다.

1 bytes = 8 bits

1 바이트는 8개의 0과 1의 조합이다. 

1 bites = 11111111 (255) 

 

ASCII art 

알파벳, 특수 기호 조합으로 그림처럼 보이게 하는 것 

 

 

 

2. Unicode

ASCII 는 8bits만 사용하기에 최대 가능 문자는 25개가 가능하였다.

패턴은 256이지만 표현 가능 캐릭터는 255 개.

영어와 특수 문자만 가능하였고 다른 나라의 문자는 표현되지 못하였다. 

그래서 등장한 것이 unicode 

 

이모티콘도 가능

가장 많이 사용된 이모티콘인 tears of joy 

😂  128514

 

 

3. Colors

how computer represents pictorial expression using 0, 1?

 

RGB (red, green, blue light) 사용 

각 색은 8bits로 255개의 패턴을 표현할 수 있다. 

R255 G255 B255 

 

pixels 

색을 표현하는 아주 작은 정사각형 

모든 이미지는 grid of pixels. 

1 픽셀은 3 bytes

resolution 가로 세로 픽셀이 몇 개 있는가

 

 

image file 

context of files

포토샵, 사진등 색 관련 파일에서 작업 중일 때 

컴퓨터는 숫자 패턴을 색으로 인식한다. 

 

 

Videos file 

flipbook처럼 매 이미지에 있는 색을 바꿔 여러장의 이미지로 만듬 

 

 

Music 

각 음과 진행 시간을 컴퓨터로 나타낸다. 

note, duration 

 

JEPGs, PNGs, GIFs, Word documents, Excel 

이런 모두 다른 파일 포멧은 0과 1의 패턴을 어떻게 파일 안에 저장할 지 약속해 놓은 것이다.

이미지 일때, 사운드 일 때 같은 숫자이지만 어떻게 약간 다르게 저장

 

 

2. Algorithms

step by step instructions for solving problems.

no ambiquity, precise, efficience 

 

 

phone book으로  David 이름 찾기 

 

방법 1 첫장부터 하나씩 이름있나 확인한다 (너무 오래걸림)

p1 - p2 - p3 - p4

 

방법 2 한 번에 2장 씩? 시간은 단축 되었지만 david를 못찾고 건너 뛸 수 있는 버그 발생 

           해당 스펠링을 건너 뛰었을 때 다시 한 장만 더블백한다. 

            p1 - p3 - p5 - p7 

          bug란? 실수인데, 특히 알고리즘 상의 실수를 말한다. 

 

방법 3 대략 가운데를 펼친다. M이 나왔다. (시간도 엄청 단축되고 버그도 없다)

D comes before M 이므로 뒤의 절반은 버려 버린다. 

또 절반을 버린다. 이 작업 반복 1000 페이지 10번 만 반복하고 David 들어있는 페이지를 찾을 수 있다. 

p1000 - p500 - p250 - p125  2로 계속 나눠가기 

 

 

sloving problems Efficiently

 

 

 

Pseudocode

 

functions

conditions

loops

boolean expressions

variables

threads

events

 

 

 

 

Scratch.mit.edu

블럭 쌓아가는 방식으로 코딩 실행 

https://scratch.mit.edu/projects/editor/?tutorial=getStarted 

 

 

- 여러가지 실행해봄  - 

Hello world 

Variables

Text to Speech 

Sounds

Loops

Pen

Conditions

Variables

Animation

Sensing

Video Motion

Broadcasts

Translation 

Custom blocks 

 

 

댓글