본문 바로가기
CS: Computer Science/CS50 2019

[모두를 위한 컴퓨터 과학 CS50 2019] 1. 컴퓨팅 사고 - 4)5)스크래치

by ro117youshin 2021. 10. 14.
728x90

boostcourse

모두를 위한 컴퓨터 과학(CS50 2019) - David J. Malan (데이비드 J. 말란)

 

www.boostcourse .org/cs112


1. 컴퓨팅 사고 Computational Thinking, Scratch

4)스크래치: 기초
5)스크래치: 심화

스크래치

 

MIT 의 미디어 랩에서 만든 스크래치라는 그래픽 언어를 다뤄봤다.

퍼즐 조각처럼 보이는 블럭들을 끌어놓는 방식으로 연결시켜 컴퓨터가 무엇을 할지 단계적으로 프로그래밍할 수 있는 언어이다.

알고리즘을 구성하는 요소로 함수, 조건, 불리언, 루프 등이 있음을 게임을 통해 알게되고 만들어 볼 수 있다.

 

https://scratch.mit.edu/

 

스크래치 블록

 

게임 안에서 블록의 종류에 따라 프로그램이 수행하는 일의 종류가 달라진다. 

입력이 주어졌을 때 블랙 박스를 거쳐 출력이 되는 컴퓨터의 작동 원리를 생각해보면, 하나의 블록이 블랙 박스의 역할을 한다. 

 

이 게임 안에는 각 블록에 알고리즘을 구성하는 요소를 색깔과 직관적인 단어로 표현되어 있다. 처음 코딩을 배우는, 비전공자들에게는 어떻게 입력하고 알고리즘에 따라 출력하는지 보여준다. 원래는 태그들, 코딩을 하여 동작하여야 하는 것들을 직관적으로 잘 만들어냈음을 볼 수 있다. 이외에도 블록들을 각각 묶어 리팩토링을 하는 과정도 볼 수 있었다. 

 

예를 들어 숫자를 셀 수 있도록 하기 위해서는 'counter' 라는 변수를 사용하는 주황색 블럭을 옮겨 붙이면 된다. 

변수와 루프, 변수와 조건문 등 조건문을 활용하여 복잡한 프로그램도 가능하며 생활코딩님의 WEBn 시리즈에서 배운 HTML, CSS, JS 수업의 내용을 직관적으로 구현해내면서 배울 수 있는 게임이다.

 

이 게임과정을 통해 생활코딩님의 강의를 통해 배웠던 내용들을 좀 더 직관적으로 쉽게 다시 이해되게 하는 강의이다.

댓글