1. Computational Thinking, Scratch

양준식·2020년 7월 18일
0
post-thumbnail


1. 2진법(Binary)


About

들어가기 전에

우리가 일상적으로 사용하는 컴퓨터는 어떤 원리로 작동될까요? 우리가 컴퓨터를 사용하여 해결하는 여러 일들은 어떻게 가능한걸까요? 컴퓨터 과학이란 무엇이고, 컴퓨터가 작동하게 하기 위해 어떤 약속들이 필요한지 살펴보도록 하겠습니다.

학습목표

컴퓨터 과학이 무엇인지 정의하고, 컴퓨터가 정보를 표현하는 방법에 대해 설명할 수 있습니다.

핵심 단어

  • 컴퓨터 과학
  • 2진법
  • 비트
  • 바이트

What is Computer Science?

  • A process of solving problems.
  • Input > (Computer Science = Solution) > Output
  • Then, how are we going to represent inputs and outputs?
  • How we represent information itself >>> Binary

Binary

  • Computers represent information through binary system, using only 0 and 1.
  • Each of them is called a Bit.
  • Electricity is our only input.
  • Yes electricity vs. No Electricity
  • True vs. False
  • 1 vs. 0
  • To represent information efficiently >>> Byte(= 8bit)
  • Transister: Tiny little switch in our computer
  • Computer has millions and billions of these switches, that they use physically to represent information and store values.

2. 정보의 표현


About

들어가기 전에

우리는 컴퓨터를 통해 다양한 정보를 처리합니다. 간단한 숫자부터 시작해서, 문자, 사진, 영상, 음악까지. 정보를 표현하는 형태는 매우 많습니다. 컴퓨터는 어떻게 이런 다양한 정보를 처리할 수 있을까요?

학습목표

컴퓨터가 문자, 사진, 영상, 음악 등 다양한 정보를 처리하는 방식을 설명할 수 있습니다.

핵심 단어

  • ASCII
  • 유니코드
  • RGB

ASCII

  • Representing sth other than numbers >>> ASCII
  • ex. A - 65, B - 66 ... / 72 73 33 >>> HI!

Unicode

  • Unicode : Superset of ASCII
  • ASCII 코드는 8개의 비트만 사용. 문자를 표현하는 데 있어서 충분치 않다.
  • 유니코드는 8, 16, 32비트까지도 사용하기 때문에 훨씬 다양한 0과 1의 패턴을 사용할 수 있다.
  • 오늘날의 Emoji도 표현 가능! 😂 >>>> 128,514 >>> 11111011000000010
  • 사진은 점으로 표현. "Lots of yellow dots."
  • 컴퓨터는 각 점들을 어떻게 표현할까? >>> RGB

RGB

  • RGB(Red Green Blue) system : What numbers represent what colors
  • 하나의 점, 하나의 픽셀을 저장하기 위해서는 위의 세 가지 색의 값을 저장해야함.
  • 동영상. 여러 장의 사진이 빠르게 움직이는 것.

정보의 표현

  • 이것이 오늘날 우리가 컴퓨터에서 정보를 표현하는 거의 모든 방법이다. 0과 1을 이용해서 2진수를 나타내고, 이를 통해 10진수를 나타내고, 10진수를 사용하여 화면 상의 글자나 색깔을 나타내고, 나아가 영상, 음악까지 만들어 내는 것이다.
  • 결국 모든 정보는 0과 1로 표현된다.

3. 알고리즘(Algorithm)


About

들어가기 전에

우리는 이제 컴퓨터에 정보를 입력하는 방식을 배웠습니다. 그렇다면 이 정보를 컴퓨터는 어떻게 가공하여 출력하는 걸까요? 우리가 일상 생활에서 다양한 문제를 처리하는 방식 처럼, 컴퓨터 또한 순서대로 필요한 동작을 하며 문제를 처리합니다. 이를 알고리즘이라고 하는데, 알고리즘은 어떻게 정의할 수 있고, 그 정확성과 효율성은 어떨까요?

학습 목표

  1. 우리가 일상 생활에서 하는 일들을 컴퓨터가 이해할 수 있는 알고리즘으로 표현할 수 있습니다.
  2. 효율적인 알고리즘에 대해 설명할 수 있습니다.

핵심 단어

  • 알고리즘
  • 의사코드

알고리즘

  • 컴퓨터에 여러가지 정보를 표현하는/입력하는(Input) 방식에 대해 알아보았다면, 이번 시간에는 Output에 대해 알아보겠습니다.
  • Input > Algorithms > Output
  • Algorithm: Step by step instructions for solving some problems.
  • ex. Steps to find a person in a cotact book
  • 문제 해결은 우리가 갖고 있는 생각을 기계가 이해할 수 있는 방식으로 번역하는 것에 불과하다.
  • 어떤 알고리즘이 효율성 측면에서 더 좋은 것인가?

Psuedocode(의사 코드)

  • 의사 코드 : 영어로든 다른 언어로든 우리의 생각을 간견하게 정리한 코드와 비슷한 구문
  • Procedural Programming
    • Functions(함수): Verbs(of Actions) that tells the computers what to do.
      - ex. Pick up, Open to, Look at, Call ...
    • Conditions(조건): 여러 경우의 수
      - ex. If, Else if, Else
    • Boolean Expressions: 여러 경우 중에서 하나를 선택하는 조건 >> True of False (1 or 0)
      - ex. Smith is on page, Smith is earlier in book ...
    • Loops: 무언가를 계속해서 반복하는 순환
      - ex. Go back to line 3
    • variables, threads, events ...
profile
실력, 심력, 체력, 영력의 균형있는 성장을 추구합니다.

0개의 댓글