코딩 맛만보자 강의 노트
코딩 맛만보자
학습목표
코딩(컴퓨터)에대한 막연한 두려움을 없에고 아~ 대충 이런걸 하는구나 정도 알고 조금 손가락을 움직여 보는 것이 목표입니다.
프로그래밍을 해야하는 이유
현실은 알고리즘으로 돈다.
알고리즘이라는 단어를 들었을때 어느정도 거부감이 있을 수 있다.
알고리즘에 대한 정의는 문제를 해결하기 위한 절차나 방법.
이다.
여기서 문제
에 해당되는 것은 자율운전 부터 정말 사소하게 맛있게 라면 끓이기도 문제에 해당 된다.
우리는 알고리즘을 다른말로 많이 쓰고 있었다. 요리에서는 요리법, 조리법 회사에서는 프로세스 평소에는 ~하는 방법
(예시) 라면 끓이기 (예시) 수학문제 풀기 (사칙연산) 정답 : 1 (예시) 유클리드 호제법을 타일에 적용
현실은 알고리즘으로 돈다.
이미 우리는 알고리즘을 ‘잘‘ 활용하고 있었다.
코딩이란
이런 알고리즘을 컴퓨터가 할 수 있도록 메뉴얼을 작성하는 것
컴퓨터는 멍청하기 때문에 매우 자세하게 설명해줘야 한다.
(예시) 블록 옮기기 사람 : 블록 벽까지 옮겨봐 컴퓨터 : 어느 면을 밀어서 어느정도 힘으로 몇 cm를 어느 시간동안 밀어
생활에 코딩을 접목한다는 게 감이 안잡히실 수 도 있는데 예를들면 단톡에 올라온 노래추천 영화추천들을 모아주는 봇같은걸 만들 수 있죠
코딩의 기본 개념
국룰
print(“Hello Word”) 개발 공부하는데 있어서 가장 처음 배우는 것이 Hello Word입니다. C언어를 만든 전설적인 개발자 데니스 리치가 C언어 가이드에 Hello Word를 찍는 것으로 시작하였는데 많은 언어들이 C언어에 영감을 받았고 존경의 의미로 Hello Word로 시작합니다.
기본 개념
컴퓨터는 이미 알고 있겠지만 컴퓨터는 모든 것이 숫자다 정확히는 비트 즉 ‘0101010’ 2진수로 모든 것을 표현한다.
이 말을 기억해주세요 “2진수로 모든 것을 표현"한다. 그렇기 때문에 약속 이라는 것이 매우매우 중요하다.
컴퓨터는 계산하는 기계이다.
컴퓨터는 숫자를 계산만 하는 기계이다. 다른 말로 하면 컴퓨터로 표현되는 것들은 계산이 되는 것이라고 할 수 있다. 그래픽, 이런 PPT, 전화, 등등..
기본 자료형
아까 컴퓨터는 모든 것을 2진수로 표현한다고 했죠? 그림도, 동영상도 게임도, 카카오톡도 전부 2진수비트로 표현되었지만 그런 것들을 만들기 위해서는 기본이 되는 형태들이 있습니다. 자료형은 언어마다 그리고 우리가 원하는 형태로 만들수는 있지만 기본 자료형이라고 부르는 기본이 되는 자료형들이 있다.
- String
- Boolean
- Int
- Float
아까 컴퓨터는 모든 것을 숫자로 표현한다고 했지요??? 그렇기 떄문에 약속이 중요하다고 이야기 했고요
(아스키 코드) 65를 숫자로 읽으면 65 문자로 읽으면 ‘A'가 된다.
변수
자료형을 배웠으니 이제 어디서 활용하는지 알아보면 프로그래밍에서는 변수라는 개념이 있다. 수학에서 변수와 동일한 개념인데 아직 알려지지 않은 값 혹은 변할 수 있는 값을 변수 라고 이야기 한다.
프로그래밍에서는 사실상 변수를 어떻게 조작하는지가 거의 전부라고 할 수 있다.
연산자
아까 컴퓨터는 모든걸 숫자로 표현한다고 했죠? 그리고 컴퓨터는 계산하는 기계하는 기계라고 했었다. 그럼 우리가 메뉴얼을 작성할때 이건 이렇게 계산해줘 저건 저렇게 계산해줘라고 명령을 내릴려고 할때 써야한다.
흐름제어
처음에 알고리즘은 어떤 문제를 해결하기 위한 절차나 방법이라고 했었다. 코딩은 컵퓨터가 알고리즘을 행동할 수 있도록 지시하는 메뉴얼이라고 했었다.
즉, 코드는 시간순서에 따라 위에서 아래로 흐른다. (물 흐르듯) 그리고 그 흐름은 if문과 for문으로 제어하며
IF
IF문을 만나게 되면 조건을 비교를 하게 된다. 비교문이 맞으면 안에 것을 실행하고 안맞으면 넘어간다.
FOR
IF문은 비교해서 맞으면 실행하고 끗이였다면 For문은 조건이 맞으면 계속 실행한다.
올바른 입문법
개발자 나누기.
사람들이 개발자라고 하면 우와아아라고 하면 이바닥의 현실은 다음과 같아요
일반인 / 전문가 - 코드 몽키 / 전문가 - 엔지니어
- 생활에 코딩을 접목 - 일회성 코딩, 프로그래머를 업으로 삼지 않음 다른 일을 하면서 필요에 따라 기존의 프로그램을 실행
- 코딩 몽키급 프로그래머 - 스타벅스의 바리스타 같은 존재 엔지니어급 프로그래머가 정해준 알고리즘을 프로그래밍 언어로 작성 머신러닝이 대체할 거라고 하는 프로그래머 지군
- 엔지니어급 전문가 - 실리콘벨리를 생각했을 때 떠오르는 사람들 자유로움과 전문적인… 멋진..
자기가 있는 분야에서 분명 자동화 하면 좋은 것들이 있을 것이다. 앞으로 더 많은 사람들이 코딩을 할 것이고 학교에서도 이제는 정규 수업에 들어가는 걸로 알고 있다.