CS50이란?
* CS50은 하버드 대학교의 컴퓨터과학 입문 강좌이다.
https://www.edwith.org/introduce
edwith 네이버 커넥트재단에서 운영하는 온라인 교육 플랫폼에서
입문 cs지식을 얻고자 해당 강의를 신청하여 수강하고 있다.
스크래치
알고리즘을 구성하는 요소로는 함수, 조건, 불리언 표현, 루프 등이 있다.
스크래치라는 그래픽 프로그래밍 언어를 사용하면 블록을 옮겨 붙여서 알고리즘을 만들어 보는 과정을 수강해보았다.
화면 왼 쪽에는 함수나 변수 등을 나타내는 퍼즐 조각들이 있다. 이 블록들은 화면 중간으로 옮길 수 있다.
화면 오른쪽에는 알고리즘 결과나 보여지는 무대가 있는데. 고양이가 “hello, world’ 라고 말 하거나 “
이름이 뭐니?”라고 묻고, “David”이라고 답할 수 있도록 할 수 있다.
스크래치 블록
블록의 종류에 따라서 프로그램이 수행하는 일의 종류가 달라진다. 입력이 주어졌을 때 블랙 박스를 거쳐 출력이 되는 컴퓨터의 작동 원리를 생각해보면, 하나의 블록이 블랙 박스의 역할을 하는 것이다.
가령 “말해라” 라는 블록에 “hello, world”라는 입력을 주게되면 그 결과로 고양이가 “hello, world”라고 말하게 되는 것이다.
이러한 입력과 출력을 이어 붙여서 여러 작업을 순차적으로 수행할 수도 있다.
(또한 블록이기때문에 각자 맞는 모양이 있다.)
변수와 조건문
조건문을 활용하면 더 복잡한 프로그램도 가능하다. 여기서는 ‘참’ 또는 ‘거짓’ 값을 가지는 불리언 변수를 사용한다.
초록색 깃발이 클릭되면, muted 변수를 ‘거짓’으로 설정한다. 그리고 루프를 돌면서, 감지 블록을 통해 스페이스 키가 눌렸는지 체크한다.
muted가 ‘참’인지 확인하고,
만약 muted가 ‘참’이 아니라면,
muted를 ‘참’으로 설정한다. 그리고 1초를 기다린다.
이제는 ‘counter’라는 변수를 사용하여
양이 숫자를 셀 수 있도록 해보자.
변수와 루프
변수를 사용하면 정보를 저장하고 다시 재사용할 수 있다.
‘counter’라는 변수를 사용하여 숫자를 세는 양을 만들어 볼 수 있다.
초록색 깃발이 클릭되었을 때, counter 변수를 1로 설정해준다.
그 후 1초를 기다리고, counter의 값을 1 증가시킨다.
양은 1..2..3..4..5.. 그리고 계속해서 숫자를 증가시키고 영원히 루프를 돌면서
counter 변수에 저장된 값을 1초동안 말하게 될 것이다.
이렇게 edwith50 1.컴퓨팅사고 과목을 수강하고 1번 퀴즈까지 풀어보았다. 다음 과목은 C언어이다.
댓글에 처음 공부할 때에 이 강의를 들었다면 좋았을 것 같다는 말이 있었다. 나는 행운인 것 같다.
좋은 수업을 받고 좋은 강의영상을 추천받아서 실력을 천천히, 그리고 효율적으로 쌓아가고 있다고 생각한다.
열심히 공부해서 좋은 성과를 내보도록 해야겠다.