728x90
boostcourse의
모두를 위한 컴퓨터 과학(CS50 2019) - David J. Malan (데이비드 J. 말란)
1. 컴퓨팅 사고 Computational Thinking, Scratch
4)스크래치: 기초
5)스크래치: 심화
스크래치
MIT 의 미디어 랩에서 만든 스크래치라는 그래픽 언어를 다뤄봤다.
퍼즐 조각처럼 보이는 블럭들을 끌어놓는 방식으로 연결시켜 컴퓨터가 무엇을 할지 단계적으로 프로그래밍할 수 있는 언어이다.
알고리즘을 구성하는 요소로 함수, 조건, 불리언, 루프 등이 있음을 게임을 통해 알게되고 만들어 볼 수 있다.
스크래치 블록
게임 안에서 블록의 종류에 따라 프로그램이 수행하는 일의 종류가 달라진다.
입력이 주어졌을 때 블랙 박스를 거쳐 출력이 되는 컴퓨터의 작동 원리를 생각해보면, 하나의 블록이 블랙 박스의 역할을 한다.
이 게임 안에는 각 블록에 알고리즘을 구성하는 요소를 색깔과 직관적인 단어로 표현되어 있다. 처음 코딩을 배우는, 비전공자들에게는 어떻게 입력하고 알고리즘에 따라 출력하는지 보여준다. 원래는 태그들, 코딩을 하여 동작하여야 하는 것들을 직관적으로 잘 만들어냈음을 볼 수 있다. 이외에도 블록들을 각각 묶어 리팩토링을 하는 과정도 볼 수 있었다.
예를 들어 숫자를 셀 수 있도록 하기 위해서는 'counter' 라는 변수를 사용하는 주황색 블럭을 옮겨 붙이면 된다.
변수와 루프, 변수와 조건문 등 조건문을 활용하여 복잡한 프로그램도 가능하며 생활코딩님의 WEBn 시리즈에서 배운 HTML, CSS, JS 수업의 내용을 직관적으로 구현해내면서 배울 수 있는 게임이다.
이 게임과정을 통해 생활코딩님의 강의를 통해 배웠던 내용들을 좀 더 직관적으로 쉽게 다시 이해되게 하는 강의이다.
'CS: Computer Science > CS50 2019' 카테고리의 다른 글
[모두를 위한 컴퓨터 과학 CS50 2019] 1.컴퓨팅 사고 - 3)알고리즘 (0) | 2021.10.14 |
---|---|
[모두를 위한 컴퓨터 과학 CS50 2019] 1. 컴퓨팅 사고 - 2)정보의 표현 (12) | 2021.10.11 |
[모두를 위한 컴퓨터 과학 CS50 2019] 1. 컴퓨팅 사고 - 1) 2진법 (4) | 2021.10.11 |