비약적인 소프트웨어의 발전으로 일상을 변화시켰다.
(스마트폰, 인터넷 뱅킹, 자동차 자율주행, 컴퓨터 그래픽, 핀테크, 클라우드 서비스, 빅데이터, 3D 모델링, 스마트 헬스케어, 시리와 빅스비 등)
작은 문제로 분해 → 문제의 패턴 발견 → 어떤 데이터 사용할지 결정 → 문제를 일반화 → 모델링할 수 있는지 찾기
1) 날씨 데이터 그래프 그리기
컴퓨테이셔널 씽킹(computational thinking)
현실 세계의 문제를 분석하여 해결책을 찾는 과학적 사고법
이렇게 설계한 해결책을 컴퓨터의 명령어로 작성하는 것을 컴퓨터 프로그래밍이라 한다.
'aaaaabbbccccccddddddddd' 문자열을 잘 보면 일정한 패턴이 있다. 같은 문자가 여러 번 반복된다. 문자 뒤에 반복되는 횟수를 적어주면 원래 데이터보다 길이가 짧아져서 저장 공간을 절약할 수 있다. 즉, 압축이다.
알고리즘 : 문제에서 일정한 패턴을 발견하고, 패턴을 토대로 문제를 해결하는 절차
코딩 : 이 알고리즘을 코드로 표현하는 행동